Skip to content

HBASE-27798: Client side should back off based on wait interval in RpcThrottlingException - #5275

Merged
bbeaudreault merged 6 commits into
apache:masterfrom
HubSpot:HBASE-27798
Jun 30, 2023
Merged

HBASE-27798: Client side should back off based on wait interval in RpcThrottlingException#5275
bbeaudreault merged 6 commits into
apache:masterfrom
HubSpot:HBASE-27798

Conversation

@rmdmattingly

Copy link
Copy Markdown
Contributor

The RpcThrottlingException tells the client how much to back off, but right now the recommendation is ignored. This PR introduces logic that respects said back off recommendation.

This feature was added to branch-2 via #5226

@bbeaudreault

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 30sDocker 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 _
+0 🆗mvndep0m 13sMaven dependency ordering for branch
+1 💚mvninstall2m 29smaster passed
+1 💚compile0m 53smaster passed
+1 💚shadedjars4m 58sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 34smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for patch
-1 ❌mvninstall1m 6sroot in the patch failed.
-1 ❌compile0m 29shbase-server in the patch failed.
-0 ⚠️javac0m 29shbase-server in the patch failed.
-1 ❌shadedjars3m 31spatch has 20 errors when building our shaded downstream artifacts.
+1 💚javadoc0m 35sthe patch passed
_ Other Tests _
+1 💚unit1m 19shbase-client in the patch passed.
-1 ❌unit0m 29shbase-server in the patch failed.
18m 39s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 7db2938c0ba4 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d539917
Default JavaTemurin-1.8.0_352-b08
mvninstallhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk8-hadoop3-check/output/patch-mvninstall-root.txt
compilehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-server.txt
javachttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-server.txt
shadedjarshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk8-hadoop3-check/output/patch-shadedjars.txt
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/testReport/
Max. process+thread count291 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/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 51sDocker 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 _
+0 🆗mvndep0m 11sMaven dependency ordering for branch
+1 💚mvninstall2m 49smaster passed
+1 💚compile1m 10smaster passed
+1 💚shadedjars4m 43sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 44smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
-1 ❌mvninstall1m 26sroot in the patch failed.
-1 ❌compile0m 36shbase-server in the patch failed.
-0 ⚠️javac0m 36shbase-server in the patch failed.
-1 ❌shadedjars3m 25spatch has 20 errors when building our shaded downstream artifacts.
+1 💚javadoc0m 42sthe patch passed
_ Other Tests _
+1 💚unit1m 31shbase-client in the patch passed.
-1 ❌unit0m 37shbase-server in the patch failed.
20m 26s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 2944f4cd8470 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d539917
Default JavaEclipse Adoptium-11.0.17+8
mvninstallhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk11-hadoop3-check/output/patch-mvninstall-root.txt
compilehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt
javachttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt
shadedjarshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/testReport/
Max. process+thread count299 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/1/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

…cThrottlingException (apache#5226)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 12sDocker 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 _
+0 🆗mvndep0m 11sMaven dependency ordering for branch
+1 💚mvninstall2m 33smaster passed
+1 💚compile3m 4smaster passed
+1 💚checkstyle0m 52smaster passed
+1 💚spotless0m 42sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 12smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall2m 34sthe patch passed
+1 💚compile3m 2sthe patch passed
+1 💚javac3m 2sthe patch passed
+1 💚checkstyle0m 50sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck10m 37sPatch does not cause any errors with Hadoop 3.2.4 3.3.5.
+1 💚spotless0m 56spatch has no errors when running spotless:check.
+1 💚spotbugs3m 8sthe patch passed
_ Other Tests _
+1 💚asflicense0m 14sThe patch does not generate ASF License warnings.
38m 29s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5275
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 20e1b693aef5 5.4.0-144-generic #161-Ubuntu SMP Fri Feb 3 14:49:04 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d539917
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-5275/2/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 27sDocker mode activated.
-0 ⚠️yetus0m 2sUnprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗mvndep0m 10sMaven dependency ordering for branch
+1 💚mvninstall2m 11smaster passed
+1 💚compile0m 52smaster passed
+1 💚shadedjars4m 55sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 35smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall2m 15sthe patch passed
+1 💚compile0m 51sthe patch passed
+1 💚javac0m 51sthe patch passed
+1 💚shadedjars4m 55spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 34sthe patch passed
_ Other Tests _
+1 💚unit1m 20shbase-client in the patch passed.
+1 💚unit241m 13shbase-server in the patch passed.
264m 51s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 59c264183fd4 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d539917
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/2/testReport/
Max. process+thread count4624 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/2/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 53sDocker 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 _
+0 🆗mvndep0m 11sMaven dependency ordering for branch
+1 💚mvninstall2m 35smaster passed
+1 💚compile1m 6smaster passed
+1 💚shadedjars4m 41sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 42smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for patch
+1 💚mvninstall2m 39sthe patch passed
+1 💚compile1m 9sthe patch passed
+1 💚javac1m 9sthe patch passed
+1 💚shadedjars4m 40spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 44sthe patch passed
_ Other Tests _
+1 💚unit1m 31shbase-client in the patch passed.
-1 ❌unit262m 32shbase-server in the patch failed.
288m 24s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux ef03c3ee4bbf 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d539917
Default JavaEclipse Adoptium-11.0.17+8
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/2/testReport/
Max. process+thread count4676 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/2/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@rmdmattingly

Copy link
Copy Markdown
ContributorAuthor

I don't think the test failures had anything to do with my changes

if (error instanceof RpcThrottlingException) {
RpcThrottlingException rpcThrottlingException = (RpcThrottlingException) error;
expectedSleepNs = TimeUnit.MILLISECONDS.toNanos(rpcThrottlingException.getWaitInterval());
if (expectedSleepNs > remainingTimeNs) {

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.

Better add a log here to mention that we will give up retrying since the remaining time is not enough for the next retry because of the server is throttling us.

this.pauseNsForServerOverloaded = pauseNsForServerOverloaded;
}

public OptionalLong getPauseNsFromException(Throwable error, long remainingTimeNs) {

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.

Please add javadoc here to describe the meaning of the return value. For me, I think maybe return long directly is a better choice, as we could return -1 if we should fail. Returning OptionalLong seems indicating that, if we return OptionalLong.empty, the upper layer should decide the pauseNs by their own?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I'll definitely add a javadoc. Regarding a normal long and -1 to represent exceeding the timeout, I see what you mean. But I like that the empty Optional case is tightly controlled here — there's no opportunity for other code to decide to use -1 arbitrarily which bubbles up into throwing an exception erroneously early. For example we've historically returned -1 (granted, representing millis so it might "just work" here) from RpcThrottlingException#getWaitInterval in cases which cannot be parsed:

// Visible for TestRpcThrottlingException
protectedstaticlongtimeFromString(StringtimeDiff) {
Patternpattern =
Pattern.compile("^(?:(\\d+)hrs?, )?(?:(\\d+)mins?, )?(?:(\\d+)sec[, ]{0,2})?(?:(\\d+)ms)?");
long[] factors = newlong[] { 60 * 60 * 1000, 60 * 1000, 1000, 1 };
Matcherm = pattern.matcher(timeDiff);
if (m.find()) {
intnumGroups = m.groupCount();
longtime = 0;
for (intj = 1; j <= numGroups; j++) {
Stringgroup = m.group(j);
if (group == null) {
continue;
}
time += Math.round(Float.parseFloat(group) * factors[j - 1]);
}
returntime;
}
return -1;
}

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 39sDocker 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 _
+0 🆗mvndep0m 15sMaven dependency ordering for branch
+1 💚mvninstall4m 8smaster passed
+1 💚compile3m 39smaster passed
+1 💚checkstyle0m 58smaster passed
+1 💚spotless0m 51sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 57smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 10sMaven dependency ordering for patch
+1 💚mvninstall3m 37sthe patch passed
+1 💚compile3m 28sthe patch passed
+1 💚javac3m 28sthe patch passed
-0 ⚠️checkstyle0m 16shbase-client: The patch generated 1 new + 3 unchanged - 0 fixed = 4 total (was 3)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck14m 49sPatch does not cause any errors with Hadoop 3.2.4 3.3.5.
+1 💚spotless1m 15spatch has no errors when running spotless:check.
+1 💚spotbugs3m 30sthe patch passed
_ Other Tests _
+1 💚asflicense0m 19sThe patch does not generate ASF License warnings.
50m 35s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5275
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux b77b292bc0e0 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d9757c7
Default JavaEclipse Adoptium-11.0.17+8
checkstylehttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/3/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
Max. process+thread count78 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/3/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 36sDocker 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 _
+0 🆗mvndep0m 14sMaven dependency ordering for branch
+1 💚mvninstall3m 36smaster passed
+1 💚compile1m 2smaster passed
+1 💚shadedjars5m 43sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 49smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for patch
+1 💚mvninstall3m 2sthe patch passed
+1 💚compile1m 16sthe patch passed
+1 💚javac1m 16sthe patch passed
+1 💚shadedjars5m 36spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 49sthe patch passed
_ Other Tests _
+1 💚unit1m 40shbase-client in the patch passed.
+1 💚unit237m 45shbase-server in the patch passed.
267m 4s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 2063f6d5514b 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d9757c7
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/3/testReport/
Max. process+thread count4625 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/3/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 🆗reexec1m 6sDocker 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 _
+0 🆗mvndep0m 10sMaven dependency ordering for branch
+1 💚mvninstall3m 30smaster passed
+1 💚compile1m 24smaster passed
+1 💚shadedjars5m 40sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 47smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall3m 17sthe patch passed
+1 💚compile1m 28sthe patch passed
+1 💚javac1m 28sthe patch passed
+1 💚shadedjars5m 12spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 51sthe patch passed
_ Other Tests _
+1 💚unit1m 42shbase-client in the patch passed.
+1 💚unit246m 6shbase-server in the patch passed.
276m 15s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux baae28c296b3 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d9757c7
Default JavaEclipse Adoptium-11.0.17+8
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/3/testReport/
Max. process+thread count4697 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/3/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@rmdmattingly

Copy link
Copy Markdown
ContributorAuthor

Force pushed to fix checkstyle. @bbeaudreault we're going to want 761efd0 on branch-2 as well

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 16sDocker 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 _
+0 🆗mvndep0m 14sMaven dependency ordering for branch
+1 💚mvninstall2m 31smaster passed
+1 💚compile3m 3smaster passed
+1 💚checkstyle0m 51smaster passed
+1 💚spotless0m 41sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 9smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall2m 36sthe patch passed
+1 💚compile2m 58sthe patch passed
+1 💚javac2m 58sthe patch passed
+1 💚checkstyle0m 49sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck8m 57sPatch does not cause any errors with Hadoop 3.2.4 3.3.5.
+1 💚spotless0m 41spatch has no errors when running spotless:check.
+1 💚spotbugs2m 29sthe patch passed
_ Other Tests _
+1 💚asflicense0m 19sThe patch does not generate ASF License warnings.
35m 12s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5275
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 7ef3e5ea9510 5.4.0-144-generic #161-Ubuntu SMP Fri Feb 3 14:49:04 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d9757c7
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-5275/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 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 _
+0 🆗mvndep0m 19sMaven dependency ordering for branch
+1 💚mvninstall2m 14smaster passed
+1 💚compile0m 52smaster passed
+1 💚shadedjars4m 56sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 35smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall2m 16sthe patch passed
+1 💚compile0m 50sthe patch passed
+1 💚javac0m 50sthe patch passed
+1 💚shadedjars4m 53spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 34sthe patch passed
_ Other Tests _
+1 💚unit1m 20shbase-client in the patch passed.
+1 💚unit216m 0shbase-server in the patch passed.
239m 39s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/4/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 61019dc435e2 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d9757c7
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/4/testReport/
Max. process+thread count4443 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/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 52sDocker 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 _
+0 🆗mvndep0m 15sMaven dependency ordering for branch
+1 💚mvninstall2m 33smaster passed
+1 💚compile1m 9smaster passed
+1 💚shadedjars4m 45sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall2m 36sthe patch passed
+1 💚compile1m 7sthe patch passed
+1 💚javac1m 7sthe patch passed
+1 💚shadedjars4m 40spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43sthe patch passed
_ Other Tests _
+1 💚unit1m 32shbase-client in the patch passed.
-1 ❌unit224m 10shbase-server in the patch failed.
250m 5s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux d7bfd4c81511 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d9757c7
Default JavaEclipse Adoptium-11.0.17+8
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/4/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/4/testReport/
Max. process+thread count4715 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/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.

@rmdmattingly

Copy link
Copy Markdown
ContributorAuthor

I don't think the failure for org.apache.hadoop.hbase.regionserver.wal.TestAsyncLogRolling.testLogRolling is associated with these changes

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 5sDocker 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 _
+0 🆗mvndep0m 11sMaven dependency ordering for branch
+1 💚mvninstall2m 49smaster passed
+1 💚compile3m 10smaster passed
+1 💚checkstyle0m 56smaster passed
+1 💚spotless0m 43sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 17smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall2m 45sthe patch passed
+1 💚compile3m 16sthe patch passed
+1 💚javac3m 16sthe patch passed
+1 💚checkstyle0m 50sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck9m 28sPatch does not cause any errors with Hadoop 3.2.4 3.3.5.
+1 💚spotless0m 41spatch has no errors when running spotless:check.
+1 💚spotbugs2m 32sthe patch passed
_ Other Tests _
+1 💚asflicense0m 20sThe patch does not generate ASF License warnings.
37m 25s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/hbase-kustomize-github-pr/job/PR-5275/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5275
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux bab99b930ee3 5.4.0-144-generic #161-Ubuntu SMP Fri Feb 3 14:49:04 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 68da890
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-kustomize-github-pr/job/PR-5275/1/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.

return;
}

boolean isServerOverloaded = HBaseServerException.isServerOverloaded(error);

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.

Do we need to test this here?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I believe this logic is covered by existing tests in TestAsyncClientPauseForServerOverloaded

delayNs = pauseNsToUse;
}

if (isServerOverloaded) {

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.

Seems we only need isServerOverloaded here?

if (!(error instanceof RpcThrottlingException)) {
// RpcThrottlingException tells us exactly how long the client should wait for,
// so we should not factor in the retry count for said exception
pauseNsToUse = getPauseTime(pauseNsToUse, tries - 1);

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.

I think this meas the pauseNsToUse is just delayNs now?

@rmdmattinglyrmdmattinglyJun 21, 2023

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

The small distinction is that they may still differ if the requested pause is longer than the operationTimeout allows. I've also pushed that logic to the PauseManager class


boolean isServerOverloaded = HBaseServerException.isServerOverloaded(error);
OptionalLong maybePauseNsToUse =
pauseManager.getPauseNsFromException(error, remainingTimeNs() - SLEEP_DELTA_NS);

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.

Let's just pass the tries to this method so it could return the delayNs directly? The instanceof below seems strange...

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 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 _
+0 🆗mvndep0m 11sMaven dependency ordering for branch
+1 💚mvninstall3m 34smaster passed
+1 💚compile3m 34smaster passed
+1 💚checkstyle1m 5smaster passed
+1 💚spotless0m 59sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 56smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall3m 28sthe patch passed
+1 💚compile3m 59sthe patch passed
+1 💚javac3m 59sthe patch passed
+1 💚checkstyle0m 58sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck12m 4sPatch does not cause any errors with Hadoop 3.2.4 3.3.5.
+1 💚spotless0m 53spatch has no errors when running spotless:check.
+1 💚spotbugs3m 0sthe patch passed
_ Other Tests _
+1 💚asflicense0m 18sThe patch does not generate ASF License warnings.
45m 19s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/5/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5275
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux fe48f6f6afbc 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / cf02edb
Default JavaEclipse Adoptium-11.0.17+8
Max. process+thread count78 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/5/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 🆗reexec1m 0sDocker 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 _
+0 🆗mvndep0m 7sMaven dependency ordering for branch
+1 💚mvninstall2m 42smaster passed
+1 💚compile1m 9smaster passed
+1 💚shadedjars4m 39sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall2m 37sthe patch passed
+1 💚compile1m 9sthe patch passed
+1 💚javac1m 9sthe patch passed
+1 💚shadedjars4m 39spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 41sthe patch passed
_ Other Tests _
+1 💚unit1m 29shbase-client in the patch passed.
+1 💚unit228m 28shbase-server in the patch passed.
254m 33s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/5/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 4e2a96b94f6e 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / cf02edb
Default JavaEclipse Adoptium-11.0.17+8
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/5/testReport/
Max. process+thread count4605 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/5/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 32sDocker 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 _
+0 🆗mvndep0m 12sMaven dependency ordering for branch
+1 💚mvninstall2m 46smaster passed
+1 💚compile1m 1smaster passed
+1 💚shadedjars5m 32sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall2m 38sthe patch passed
+1 💚compile0m 59sthe patch passed
+1 💚javac0m 59sthe patch passed
+1 💚shadedjars5m 50spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 44sthe patch passed
_ Other Tests _
+1 💚unit1m 31shbase-client in the patch passed.
+1 💚unit244m 41shbase-server in the patch passed.
271m 49s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/5/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 63ccc5aed2af 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / cf02edb
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/5/testReport/
Max. process+thread count4463 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/5/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

delayNs = getPauseTime(pauseNsToUse, tries - 1);

OptionalLong maybePauseNsToUse = pauseManager.getPauseNsFromException(error,
remainingTimeNs() - SLEEP_DELTA_NS, tries, scanTimeoutNs > 0);

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.

Passing in scanTimeoutNs > 0 along with the remainingTimeNs() seems a bit awkward/redundant.

We are already constructing our PauseManager in the caller construction, and passing in the various pauseNs. Should we also pass in the correct operationTimeNs/scanTimeNs in the constructor? Then we can move remainingTimeNs() into pause manager and simplify the arguments here, along with the awkward Boolean?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

👍 good idea, I just pushed this change

return OptionalLong.of(expectedSleepNs);
}

private long remainingTimeNs() {

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.

Do you think we can delete the remainingTimeNs() methods in the various caller classes now? Or are they still necessary? We could make this public if necessary and have any callers of the other to-be-deleted methods call this instead

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Ah actually, I'm realizing this gets a little bit awkward too because the scanner's startNs obviously isn't final. So we either need to support mutability of that field in the pause manager, reconstruct the pause manager on each call, or continue to leave the timeout responsibility outside of the pause manager. Do you have a preference?

Depending on the answer here we can certainly remove some of these remainingTimeNs methods

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.

I suppose you could pass in startNs as an argument, and only finalize timeoutNs in the constructor

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Regarding the redundancy of remainingTimeNs methods in the client, there's also a little bit of nuance in what these represent. Often at the client level the remainingTimeNs is just the difference between the timeout and the elapsed time, but in the context of the pause manager we also have to subtract the SLEEP_DELTA_NS (presumably to account for the lack of precision in sleeping for a number of millis). So just subbing one for the other isn't exactly 1:1

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.

Correct me if I'm wrong, but in the context of AsyncScanSingleRegionRpcRetryingCaller, remainingTimeNs() is only called once prior to this patch. The call moved into our new PauseManager code, so I assume that method is now unused.

In the context of AsyncBatchRpcRetryingCaller, it is called 3 times... so not unused at this point, but maybe could still be unified. I feel like we could do this:

  1. Remove startNs arg from PauseManager constructor, since as you said it's not final for scans.
  2. expose PauseManager.remainingTimeNs() as public or package protected, and add a long startNs argument.
  3. Also add long startNs as argument in getPauseNsFromException() since it seems we need that for scans
  4. In getPauseNsFromException(), use remainingTimeNs(startNs) - SLEEP_DELTA_NS (so the SLEEP_DELTA_NS gets removed from PauseManager.remainingTimeNs(long startNs) method
  5. Replace all the calls to existing remainingTimeNs() methods in AsyncBatchCaller with pauseManager.remainingTimeNs(startNs)

Thoughts?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

totally onboard, just pushed 902f8db

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 37sDocker 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 _
+0 🆗mvndep0m 29sMaven dependency ordering for branch
+1 💚mvninstall3m 31smaster passed
+1 💚compile3m 28smaster passed
+1 💚checkstyle0m 56smaster passed
+1 💚spotless0m 50sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 50smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 10sMaven dependency ordering for patch
+1 💚mvninstall3m 27sthe patch passed
+1 💚compile3m 43sthe patch passed
-0 ⚠️javac0m 45shbase-client generated 1 new + 36 unchanged - 0 fixed = 37 total (was 36)
+1 💚checkstyle1m 2sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck12m 46sPatch does not cause any errors with Hadoop 3.2.4 3.3.5.
+1 💚spotless0m 50spatch has no errors when running spotless:check.
-1 ❌spotbugs1m 4shbase-client generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
_ Other Tests _
+1 💚asflicense0m 17sThe patch does not generate ASF License warnings.
45m 30s
ReasonTests
FindBugsmodule:hbase-client
Uninitialized read of nextCallStartNs in new org.apache.hadoop.hbase.client.AsyncScanSingleRegionRpcRetryingCaller(Timer, AsyncConnectionImpl, Scan, ScanMetrics, long, ScanResultCache, AdvancedScanResultConsumer, ClientProtos$ClientService$Interface, HRegionLocation, boolean, int, long, long, long, int, long, long, int) At AsyncScanSingleRegionRpcRetryingCaller.java:new org.apache.hadoop.hbase.client.AsyncScanSingleRegionRpcRetryingCaller(Timer, AsyncConnectionImpl, Scan, ScanMetrics, long, ScanResultCache, AdvancedScanResultConsumer, ClientProtos$ClientService$Interface, HRegionLocation, boolean, int, long, long, long, int, long, long, int) At AsyncScanSingleRegionRpcRetryingCaller.java:[line 345]
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5275
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux 1da6b38d5726 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 66fd6db
Default JavaEclipse Adoptium-11.0.17+8
javachttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/artifact/yetus-general-check/output/diff-compile-javac-hbase-client.txt
spotbugshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/artifact/yetus-general-check/output/new-spotbugs-hbase-client.html
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-5275/6/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 55sDocker 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 _
+0 🆗mvndep0m 7sMaven dependency ordering for branch
+1 💚mvninstall2m 40smaster passed
+1 💚compile1m 4smaster passed
+1 💚shadedjars4m 45sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 42smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall2m 37sthe patch passed
+1 💚compile1m 8sthe patch passed
+1 💚javac1m 8sthe patch passed
+1 💚shadedjars4m 39spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43sthe patch passed
_ Other Tests _
+1 💚unit1m 31shbase-client in the patch passed.
-1 ❌unit223m 36shbase-server in the patch failed.
249m 21s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux ce3546ebaf85 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 66fd6db
Default JavaEclipse Adoptium-11.0.17+8
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/testReport/
Max. process+thread count4767 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/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 48sDocker 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 _
+0 🆗mvndep0m 11sMaven dependency ordering for branch
+1 💚mvninstall2m 24smaster passed
+1 💚compile0m 58smaster passed
+1 💚shadedjars4m 33sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 39smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall2m 16sthe patch passed
+1 💚compile0m 58sthe patch passed
+1 💚javac0m 58sthe patch passed
+1 💚shadedjars4m 27spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 40sthe patch passed
_ Other Tests _
+1 💚unit1m 17shbase-client in the patch passed.
-1 ❌unit225m 59shbase-server in the patch failed.
250m 0s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 0c8f30baa727 5.4.0-152-generic #169-Ubuntu SMP Tue Jun 6 22:23:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 66fd6db
Default JavaTemurin-1.8.0_352-b08
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/testReport/
Max. process+thread count4523 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/6/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 44sDocker 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 _
+0 🆗mvndep0m 22sMaven dependency ordering for branch
+1 💚mvninstall4m 11smaster passed
+1 💚compile3m 46smaster passed
+1 💚checkstyle0m 56smaster passed
+1 💚spotless0m 51sbranch has no errors when running spotless:check.
+1 💚spotbugs2m 44smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 10sMaven dependency ordering for patch
+1 💚mvninstall3m 46sthe patch passed
+1 💚compile3m 39sthe patch passed
+1 💚javac3m 38sthe patch passed
+1 💚checkstyle0m 54sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck14m 38sPatch does not cause any errors with Hadoop 3.2.4 3.3.5.
+1 💚spotless1m 11spatch has no errors when running spotless:check.
+1 💚spotbugs3m 50sthe patch passed
_ Other Tests _
+1 💚asflicense0m 20sThe patch does not generate ASF License warnings.
51m 9s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/7/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#5275
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile
unameLinux d2ad313d656f 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 66fd6db
Default JavaEclipse Adoptium-11.0.17+8
Max. process+thread count78 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/7/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 53sDocker 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 _
+0 🆗mvndep0m 14sMaven dependency ordering for branch
+1 💚mvninstall2m 36smaster passed
+1 💚compile1m 6smaster passed
+1 💚shadedjars4m 39sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 42smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall2m 36sthe patch passed
+1 💚compile1m 7sthe patch passed
+1 💚javac1m 7sthe patch passed
+1 💚shadedjars4m 38spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 43sthe patch passed
_ Other Tests _
+1 💚unit1m 32shbase-client in the patch passed.
+1 💚unit224m 21shbase-server in the patch passed.
250m 9s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/7/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 34b9dfbd9929 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 66fd6db
Default JavaEclipse Adoptium-11.0.17+8
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/7/testReport/
Max. process+thread count5006 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/7/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 44sDocker 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 _
+0 🆗mvndep0m 23sMaven dependency ordering for branch
+1 💚mvninstall3m 40smaster passed
+1 💚compile1m 10smaster passed
+1 💚shadedjars5m 51sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 51smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for patch
+1 💚mvninstall3m 3sthe patch passed
+1 💚compile1m 19sthe patch passed
+1 💚javac1m 19sthe patch passed
+1 💚shadedjars5m 46spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 46sthe patch passed
_ Other Tests _
+1 💚unit1m 35shbase-client in the patch passed.
+1 💚unit220m 41shbase-server in the patch passed.
250m 13s
SubsystemReport/Notes
DockerClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/7/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#5275
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 38f054acea50 5.4.0-1101-aws #109~18.04.1-Ubuntu SMP Mon Apr 24 20:40:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 66fd6db
Default JavaTemurin-1.8.0_352-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/7/testReport/
Max. process+thread count4464 (vs. ulimit of 30000)
modulesC: hbase-client hbase-server U: .
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5275/7/console
versionsgit=2.34.1 maven=3.8.6
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache9

Copy link
Copy Markdown
Contributor

+1. This is exactly what I expect.

Thanks for taking care of this.

@bbeaudreault Do you have any concerns?

@bbeaudreault

Copy link
Copy Markdown
Contributor

All good on my end! I can handle merging this Duo, I was just waiting to make sure you were ok. Thanks for the review here.

@bbeaudreault
bbeaudreault merged commit bba2f98 into apache:masterJun 30, 2023
@bbeaudreault
bbeaudreault deleted the HBASE-27798 branch June 30, 2023 19:58
bbeaudreault pushed a commit to HubSpot/hbase that referenced this pull request Jun 30, 2023
…ThrottlingException (apache#5275)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
rmdmattingly added a commit to HubSpot/hbase that referenced this pull request Jun 30, 2023
…ThrottlingException (apache#5275)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
rmdmattingly added a commit to HubSpot/hbase that referenced this pull request Jun 30, 2023
…ThrottlingException (apache#5275)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
rmdmattingly added a commit to HubSpot/hbase that referenced this pull request Jul 9, 2023
…ThrottlingException (apache#5275)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
rmdmattingly added a commit to HubSpot/hbase that referenced this pull request Jul 9, 2023
…ThrottlingException (apache#5275)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
rmdmattingly added a commit to HubSpot/hbase that referenced this pull request Jul 9, 2023
…ThrottlingException (apache#5275)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
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

@rmdmattingly@Apache-HBase@Apache9@bbeaudreault