Skip to content

HBASE-22942 move Snapshot verification to procedure - #662

Closed
sanjeetnishad95 wants to merge 1 commit into
apache:masterfrom
sanjeetnishad95:HBASE-22942
Closed

HBASE-22942 move Snapshot verification to procedure#662
sanjeetnishad95 wants to merge 1 commit into
apache:masterfrom
sanjeetnishad95:HBASE-22942

Conversation

@sanjeetnishad95

Copy link
Copy Markdown
Contributor

Problem : Right now we do snapshot verification prior to queueing the restore / clone request from the client. That means the initial call from the client has to block until we're done. On large manifests (~single digit millions) this easily takes longer than the default timeout of 20 minutes.

Solution: Instead we should handle verification as one of the steps in the relevant procedure (hbase 2+) or table handler (hbase 1) so that the master can do it in the background and report status.

@sanjeetnishad95

Copy link
Copy Markdown
ContributorAuthor

Hi @busbey , I have moved the SnapshotReferenceUtil.verifySnapshot() from SnapshotManager to prepareRestore() step of RestoreSnapshotProcedure. Please review the PR and let me know if this is what was intended?
Thanks.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
💙reexec0m 33sDocker mode activated.
_ Prechecks _
💚dupname0m 0sNo case conflicting files found.
💚hbaseanti0m 0sPatch does not have any anti-patterns.
💚@author0m 0sThe patch does not contain any @author tags.
💛test4tests0m 0sThe patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ master Compile Tests _
💚mvninstall5m 22smaster passed
💚compile0m 56smaster passed
💚checkstyle1m 19smaster passed
💚shadedjars4m 35sbranch has no errors when building our shaded downstream artifacts.
💚javadoc0m 36smaster passed
💙spotbugs4m 10sUsed deprecated FindBugs config; considering switching to SpotBugs.
💚findbugs4m 9smaster passed
_ Patch Compile Tests _
💚mvninstall4m 56sthe patch passed
💚compile0m 58sthe patch passed
💚javac0m 58sthe patch passed
💔checkstyle1m 16shbase-server: The patch generated 1 new + 20 unchanged - 0 fixed = 21 total (was 20)
💚whitespace0m 0sThe patch has no whitespace issues.
💚shadedjars4m 49spatch has no errors when building our shaded downstream artifacts.
💚hadoopcheck16m 55sPatch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
💚javadoc0m 35sthe patch passed
💚findbugs4m 7sthe patch passed
_ Other Tests _
💔unit157m 15shbase-server in the patch failed.
💚asflicense0m 35sThe patch does not generate ASF License warnings.
215m 2s
ReasonTests
Failed junit testshadoop.hbase.client.TestMobRestoreSnapshotFromClientSimple
hadoop.hbase.client.TestRestoreSnapshotFromClientSimple
SubsystemReport/Notes
DockerClient=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/out/Dockerfile
GITHUB PR#662
Optional Testsdupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
unameLinux 6429fa7337aa 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-662/out/precommit/personality/provided.sh
git revisionmaster / ea24ea7
Default Java1.8.0_181
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/out/diff-checkstyle-hbase-server.txt
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/out/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/testReport/
Max. process+thread count4567 (vs. ulimit of 10000)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/console
versionsgit=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered byApache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

@saintstacksaintstack left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens to the procedure if the verify fails? Will the Procedure close out cleanly? Or will we it be perpetually rescheduled? Thanks.

@sanjeetnishad95

Copy link
Copy Markdown
ContributorAuthor

Hi @saintstack ,If the procedure fails as a result of verifySnapshot, it will throw corruptedSnapshotException or IOException which will be taken care as a part of the procedure framework. The procedure will close out cleanly.

@busbey

Copy link
Copy Markdown
Contributor

Please check on the unit test failures since they're supposed to cover the code that changed.

snapshot);

// Verify snapshot validity
SnapshotReferenceUtil

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is currently in a block for only checking non-system tables. Needs to happen for all tables.

Also should probably be the first thing we do in prepareRestore, since it used to proceed the step.

Please update the status monitor about doing the verification as well.

@saintstack

Copy link
Copy Markdown
Contributor

@sanjeetnishad95 See @busbey comments above? Any chance of addressing them? Thanks.

@sanjeetnishad95

Copy link
Copy Markdown
ContributorAuthor

yes @saintstack , I will address them ASAP.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec3m 31sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall4m 31smaster passed
+1 💚checkstyle1m 21smaster passed
+1 💚spotbugs2m 32smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 14sthe patch passed
-0 ⚠️checkstyle1m 16shbase-server: The patch generated 1 new + 19 unchanged - 0 fixed = 20 total (was 19)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck13m 34sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs2m 35sthe patch passed
_ Other Tests _
+1 💚asflicense0m 14sThe patch does not generate ASF License warnings.
41m 57s
SubsystemReport/Notes
DockerClient=19.03.9 Server=19.03.9 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#662
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
unameLinux e7d2dcbeb9c4 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / e1d7dc8
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count84 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 38sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall4m 17smaster passed
+1 💚compile1m 4smaster passed
+1 💚shadedjars5m 48sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 42shbase-server in master failed.
_ Patch Compile Tests _
+1 💚mvninstall4m 5sthe patch passed
+1 💚compile1m 3sthe patch passed
+1 💚javac1m 3sthe patch passed
+1 💚shadedjars5m 44spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 41shbase-server in the patch failed.
_ Other Tests _
-1 ❌unit139m 19shbase-server in the patch failed.
165m 20s
SubsystemReport/Notes
DockerClient=19.03.9 Server=19.03.9 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#662
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 8e8876e9906d 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / e1d7dc8
Default Java2020-01-14
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/testReport/
Max. process+thread count4098 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 26sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall4m 8smaster passed
+1 💚compile1m 6smaster passed
+1 💚shadedjars6m 18sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 49smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 40sthe patch passed
+1 💚compile1m 12sthe patch passed
+1 💚javac1m 12sthe patch passed
+1 💚shadedjars7m 33spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43sthe patch passed
_ Other Tests _
-1 ❌unit265m 9shbase-server in the patch failed.
293m 44s
SubsystemReport/Notes
DockerClient=19.03.9 Server=19.03.9 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#662
Optional Testsjavac javadoc unit shadedjars compile
unameLinux ceb98a23fea8 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / e1d7dc8
Default Java1.8.0_232
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/testReport/
Max. process+thread count2862 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/1/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 30sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+1 💚mvninstall3m 45smaster passed
+1 💚checkstyle1m 4smaster passed
+1 💚spotbugs2m 1smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 21sthe patch passed
-0 ⚠️checkstyle1m 5shbase-server: The patch generated 1 new + 19 unchanged - 0 fixed = 20 total (was 19)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck10m 59sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs2m 7sthe patch passed
_ Other Tests _
+1 💚asflicense0m 15sThe patch does not generate ASF License warnings.
32m 10s
SubsystemReport/Notes
DockerClient=19.03.9 Server=19.03.9 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#662
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
unameLinux e139c5add47b 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 2b894dc
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count94 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 31sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall3m 45smaster passed
+1 💚compile0m 54smaster passed
+1 💚shadedjars5m 36sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 37smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 23sthe patch passed
+1 💚compile0m 55sthe patch passed
+1 💚javac0m 55sthe patch passed
+1 💚shadedjars5m 33spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 38sthe patch passed
_ Other Tests _
-1 ❌unit169m 30shbase-server in the patch failed.
193m 21s
SubsystemReport/Notes
DockerClient=19.03.9 Server=19.03.9 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#662
Optional Testsjavac javadoc unit shadedjars compile
unameLinux e4d02cd1fed1 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 2b894dc
Default Java1.8.0_232
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/testReport/
Max. process+thread count5480 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 56sDocker mode activated.
-0 ⚠️yetus0m 3sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚mvninstall6m 15smaster passed
+1 💚compile1m 23smaster passed
+1 💚shadedjars7m 40sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 52shbase-server in master failed.
_ Patch Compile Tests _
+1 💚mvninstall5m 21sthe patch passed
+1 💚compile1m 29sthe patch passed
+1 💚javac1m 29sthe patch passed
+1 💚shadedjars7m 44spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 58shbase-server in the patch failed.
_ Other Tests _
-1 ❌unit209m 22shbase-server in the patch failed.
244m 46s
SubsystemReport/Notes
DockerClient=19.03.9 Server=19.03.9 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#662
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 210f721a6603 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 2b894dc
Default Java2020-01-14
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/testReport/
Max. process+thread count3143 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-662/2/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@saintstack

Copy link
Copy Markdown
Contributor

Closing. No progress. Make a new PR if I have this wrong. Thanks.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@sanjeetnishad95@Apache-HBase@busbey@saintstack