Skip to content

HBASE-26726 Allow disable of region warmup before graceful move - #4086

Merged
apurtell merged 1 commit into
apache:branch-2from
apurtell:HBASE-26726-branch-2
Feb 1, 2022
Merged

HBASE-26726 Allow disable of region warmup before graceful move#4086
apurtell merged 1 commit into
apache:branch-2from
apurtell:HBASE-26726-branch-2

Conversation

@apurtell

Copy link
Copy Markdown
Contributor

We have encountered two issues with region warmup before the assignment manager gracefully moves a region from one regionserver to another.

The first instance is HBASE-26722. Part of the failure chain is temporary double assignment like conditions where both the source and destination regionservers think they have exclusive rights to storefile management (as they should) but warmup opens a region before it is closed and then both regionservers take compaction related actions. While this can be remediated with more care to this case, it is unclear if warmup affords significant advantage. The motivation of the original commit in 2015 introducing this feature was avoidance of blockcache misses once region ownership transfer was advertised to clients. Depending on use case and additional default-false schema options (like preload) this could be valuable. Or not.

The second instance is in place upgrade from HBase 1 to HBase 2. In a scenario where regionservers have been replaced by HBase 2 versions, but the master is still HBase 1, the region warmup RPC request fails. This is not particularly harmful but indicates it will not be useful during the transition period.

We think it would be good to allow for warmup before move to be optionally disabled by a site configuration setting. In particular there have been many unrelated changes committed since 2015 and expectations of invariants in the contribution of the warmup-on-move feature have been invalidated. HBASE-26722 may be the only case, or it might not. This is a fairly trivial change.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec2m 10sDocker 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.
_ branch-2 Compile Tests _
+1 💚mvninstall5m 11sbranch-2 passed
+1 💚compile4m 5sbranch-2 passed
+1 💚checkstyle1m 20sbranch-2 passed
+1 💚spotbugs2m 43sbranch-2 passed
_ Patch Compile Tests _
+1 💚mvninstall4m 17sthe patch passed
+1 💚compile4m 6sthe patch passed
+1 💚javac4m 6sthe patch passed
+1 💚checkstyle1m 25sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck16m 17sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs2m 45sthe patch passed
_ Other Tests _
+1 💚asflicense0m 17sThe patch does not generate ASF License warnings.
54m 21s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4086/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#4086
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux ec977d68adbf 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 revisionbranch-2 / 5e01534
Default JavaAdoptOpenJDK-1.8.0_282-b08
Max. process+thread count96 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4086/1/console
versionsgit=2.17.1 maven=3.6.3 spotbugs=4.2.2
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 28sDocker mode activated.
-0 ⚠️yetus0m 6sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2 Compile Tests _
+1 💚mvninstall4m 43sbranch-2 passed
+1 💚compile1m 11sbranch-2 passed
+1 💚shadedjars7m 41sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 45sbranch-2 passed
_ Patch Compile Tests _
+1 💚mvninstall4m 26sthe patch passed
+1 💚compile1m 12sthe patch passed
+1 💚javac1m 12sthe patch passed
+1 💚shadedjars9m 9spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 54sthe patch passed
_ Other Tests _
+1 💚unit165m 44shbase-server in the patch passed.
199m 10s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4086/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#4086
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 1fed1f3055e1 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2 / 5e01534
Default JavaAdoptOpenJDK-11.0.10+9
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4086/1/testReport/
Max. process+thread count3737 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4086/1/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 27sDocker mode activated.
-0 ⚠️yetus0m 6sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2 Compile Tests _
+1 💚mvninstall4m 6sbranch-2 passed
+1 💚compile1m 1sbranch-2 passed
+1 💚shadedjars6m 29sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 40sbranch-2 passed
_ Patch Compile Tests _
+1 💚mvninstall3m 37sthe patch passed
+1 💚compile1m 6sthe patch passed
+1 💚javac1m 6sthe patch passed
+1 💚shadedjars6m 39spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 37sthe patch passed
_ Other Tests _
+1 💚unit177m 20shbase-server in the patch passed.
205m 12s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4086/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR#4086
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 391bb7b6532d 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2 / 5e01534
Default JavaAdoptOpenJDK-1.8.0_282-b08
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4086/1/testReport/
Max. process+thread count3229 (vs. ulimit of 12500)
modulesC: hbase-server U: hbase-server
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-4086/1/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@virajjasanivirajjasani added the backport This PR is a back port of some issue or issues already committed to master label Feb 1, 2022
@apurtell
apurtell merged commit 08c2c65 into apache:branch-2Feb 1, 2022
@apurtell
apurtell deleted the HBASE-26726-branch-2 branch February 1, 2022 23:38
asfgit pushed a commit that referenced this pull request Feb 1, 2022
Signed-off-by: Viraj Jasani<virajjasani@apache.org>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backportThis PR is a back port of some issue or issues already committed to master

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@apurtell@Apache-HBase@virajjasani