Skip to content

HBASE-27490 Locating regions for all actions of batch requests can exceed operation timeout - #4908

Merged
bbeaudreault merged 2 commits into
apache:branch-2from
HubSpot:HBASE-27490
Dec 6, 2022
Merged

HBASE-27490 Locating regions for all actions of batch requests can exceed operation timeout#4908
bbeaudreault merged 2 commits into
apache:branch-2from
HubSpot:HBASE-27490

Conversation

@bbeaudreault

Copy link
Copy Markdown
Contributor

This is a continuation of HBASE-27487. That jira protects against the case where operation timeout is exceeded just before the call is executed. This jira further ensures that the operation timeout cannot be exceeded while locating regions for the requested actions. In both cases, we should not clear meta cache.

The two are similar, but need to be handled separately due to the complicated call stack in AsyncProcess. I've added a new test so that we have test cases covering both situations.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@sunhellysunhelly 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.

Failed UTs seems related.

java.lang.NullPointerException
at org.apache.hadoop.hbase.client.AsyncRequestFutureImpl.groupAndSendMultiAction(AsyncRequestFutureImpl.java:423)
at org.apache.hadoop.hbase.client.AsyncProcess.submitAll(AsyncProcess.java:379)
at org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:213)
at org.apache.hadoop.hbase.client.HTable.doCheckAndMutate(HTable.java:853)

@bbeaudreault

Copy link
Copy Markdown
ContributorAuthor

@sunhelly thanks for taking a look! I just pushed a fix. I checked a few of the classes with failing tests, and it fixed them all.

@Apache-HBase

This comment was marked as outdated.

@bbeaudreault
bbeaudreault removed the request for review from Apache9December 2, 2022 16:21
@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@bbeaudreault

Copy link
Copy Markdown
ContributorAuthor

@sunhelly pre-commit checks are all passing now

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 36sDocker 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 _
+0 🆗mvndep0m 26sMaven dependency ordering for branch
+1 💚mvninstall4m 21sbranch-2 passed
+1 💚compile3m 55sbranch-2 passed
+1 💚checkstyle0m 56sbranch-2 passed
+1 💚spotless0m 50sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 54sbranch-2 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall4m 6sthe patch passed
+1 💚compile4m 20sthe patch passed
+1 💚javac4m 20sthe patch passed
+1 💚checkstyle1m 16sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck17m 48sPatch does not cause any errors with Hadoop 2.10.2 or 3.2.4 3.3.4.
+1 💚spotless1m 3spatch has no errors when running spotless:check.
+1 💚spotbugs3m 33sthe patch passed
_ Other Tests _
+1 💚asflicense0m 22sThe patch does not generate ASF License warnings.
49m 58s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#4908
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux fe1fd4554b8b 5.4.0-1088-aws #96~18.04.1-Ubuntu SMP Mon Oct 17 02:57:48 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2 / 8c4f0e3
Default JavaEclipse Adoptium-11.0.17+8
Max. process+thread count79 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/console
versionsgit=2.34.1 maven=3.8.6 spotbugs=4.7.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 🆗reexec0m 54sDocker 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 _
+0 🆗mvndep0m 18sMaven dependency ordering for branch
+1 💚mvninstall2m 27sbranch-2 passed
+1 💚compile0m 51sbranch-2 passed
+1 💚shadedjars3m 54sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 36sbranch-2 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall2m 2sthe patch passed
+1 💚compile0m 51sthe patch passed
+1 💚javac0m 51sthe patch passed
+1 💚shadedjars3m 54spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 33sthe patch passed
_ Other Tests _
+1 💚unit2m 32shbase-client in the patch passed.
+1 💚unit191m 28shbase-server in the patch passed.
215m 15s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR#4908
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 661f71747b25 5.4.0-1085-aws #92~18.04.1-Ubuntu SMP Wed Aug 31 17:21:08 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2 / 8c4f0e3
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/testReport/
Max. process+thread count2299 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/console
versionsgit=2.34.1 maven=3.8.6
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 🆗reexec0m 54sDocker mode activated.
-0 ⚠️yetus0m 5sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2 Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for branch
+1 💚mvninstall2m 46sbranch-2 passed
+1 💚compile1m 3sbranch-2 passed
+1 💚shadedjars4m 9sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 38sbranch-2 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall2m 27sthe patch passed
+1 💚compile0m 58sthe patch passed
+1 💚javac0m 58sthe patch passed
+1 💚shadedjars4m 3spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 37sthe patch passed
_ Other Tests _
+1 💚unit2m 41shbase-client in the patch passed.
+1 💚unit191m 17shbase-server in the patch passed.
216m 16s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#4908
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 1cccce641f0e 5.4.0-1085-aws #92~18.04.1-Ubuntu SMP Wed Aug 31 17:21:08 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2 / 8c4f0e3
Default JavaEclipse Adoptium-11.0.17+8
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/testReport/
Max. process+thread count3054 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@bbeaudreault

Copy link
Copy Markdown
ContributorAuthor

@sunhelly Any chance you can give this one more look?

@sunhellysunhelly 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.

+1

@bbeaudreault

Copy link
Copy Markdown
ContributorAuthor

Thanks!

@bbeaudreault
bbeaudreault merged commit f320ad9 into apache:branch-2Dec 6, 2022
@bbeaudreault
bbeaudreault deleted the HBASE-27490 branch December 6, 2022 13:03
bbeaudreault added a commit that referenced this pull request Dec 6, 2022
…ceed operation timeout (#4908)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
bbeaudreault added a commit to HubSpot/hbase that referenced this pull request Dec 6, 2022
…ch requests can exceed operation timeout (apache#4908)
Conficts: TestClientOperationTimeout
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
bbeaudreault added a commit to HubSpot/hbase that referenced this pull request Dec 9, 2022
…s of batch requests can exceed operation timeout (apache#4908)"
This reverts commit 55fae15.
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.

3 participants

@bbeaudreault@Apache-HBase@sunhelly