Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 2 commits into from
Dec 6, 2022

Conversation

bbeaudreault
Copy link
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.

Copy link
Contributor

@sunhelly sunhelly left a comment

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
Contributor Author

@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 Apache9 December 2, 2022 16:21
@Apache-HBase

This comment was marked as outdated.

@Apache-HBase

This comment was marked as outdated.

@bbeaudreault
Copy link
Contributor Author

@sunhelly pre-commit checks are all passing now

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 36s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ branch-2 Compile Tests _
+0 🆗 mvndep 0m 26s Maven dependency ordering for branch
+1 💚 mvninstall 4m 21s branch-2 passed
+1 💚 compile 3m 55s branch-2 passed
+1 💚 checkstyle 0m 56s branch-2 passed
+1 💚 spotless 0m 50s branch has no errors when running spotless:check.
+1 💚 spotbugs 2m 54s branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 4m 6s the patch passed
+1 💚 compile 4m 20s the patch passed
+1 💚 javac 4m 20s the patch passed
+1 💚 checkstyle 1m 16s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 17m 48s Patch does not cause any errors with Hadoop 2.10.2 or 3.2.4 3.3.4.
+1 💚 spotless 1m 3s patch has no errors when running spotless:check.
+1 💚 spotbugs 3m 33s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 22s The patch does not generate ASF License warnings.
49m 58s
Subsystem Report/Notes
Docker ClientAPI=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 Tests dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2 / 8c4f0e3
Default Java Eclipse Adoptium-11.0.17+8
Max. process+thread count 79 (vs. ulimit of 30000)
modules C: hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/console
versions git=2.34.1 maven=3.8.6 spotbugs=4.7.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 54s Docker mode activated.
-0 ⚠️ yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2 Compile Tests _
+0 🆗 mvndep 0m 18s Maven dependency ordering for branch
+1 💚 mvninstall 2m 27s branch-2 passed
+1 💚 compile 0m 51s branch-2 passed
+1 💚 shadedjars 3m 54s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 36s branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 2m 2s the patch passed
+1 💚 compile 0m 51s the patch passed
+1 💚 javac 0m 51s the patch passed
+1 💚 shadedjars 3m 54s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 33s the patch passed
_ Other Tests _
+1 💚 unit 2m 32s hbase-client in the patch passed.
+1 💚 unit 191m 28s hbase-server in the patch passed.
215m 15s
Subsystem Report/Notes
Docker ClientAPI=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 Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2 / 8c4f0e3
Default Java Temurin-1.8.0_352-b08
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/testReport/
Max. process+thread count 2299 (vs. ulimit of 30000)
modules C: hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 54s Docker mode activated.
-0 ⚠️ yetus 0m 5s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2 Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for branch
+1 💚 mvninstall 2m 46s branch-2 passed
+1 💚 compile 1m 3s branch-2 passed
+1 💚 shadedjars 4m 9s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 38s branch-2 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 2m 27s the patch passed
+1 💚 compile 0m 58s the patch passed
+1 💚 javac 0m 58s the patch passed
+1 💚 shadedjars 4m 3s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 37s the patch passed
_ Other Tests _
+1 💚 unit 2m 41s hbase-client in the patch passed.
+1 💚 unit 191m 17s hbase-server in the patch passed.
216m 16s
Subsystem Report/Notes
Docker ClientAPI=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 Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2 / 8c4f0e3
Default Java Eclipse Adoptium-11.0.17+8
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/testReport/
Max. process+thread count 3054 (vs. ulimit of 30000)
modules C: hbase-client hbase-server U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4908/4/console
versions git=2.34.1 maven=3.8.6
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@bbeaudreault
Copy link
Contributor Author

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

Copy link
Contributor

@sunhelly sunhelly left a comment

Choose a reason for hiding this comment

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

+1

@bbeaudreault
Copy link
Contributor Author

Thanks!

@bbeaudreault bbeaudreault merged commit f320ad9 into apache:branch-2 Dec 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 free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants