Skip to content

HBASE-24962 Optimize BufferNode Lock - #2343

Open
cuibo01 wants to merge 1 commit into
apache:masterfrom
cuibo01:HBASE-24962-master
Open

HBASE-24962 Optimize BufferNode Lock#2343
cuibo01 wants to merge 1 commit into
apache:masterfrom
cuibo01:HBASE-24962-master

Conversation

@cuibo01

Copy link
Copy Markdown
Contributor

No description provided.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 5sDocker 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 _
+1 💚mvninstall4m 52smaster passed
+1 💚compile0m 25smaster passed
+1 💚shadedjars7m 29sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 18shbase-procedure in master failed.
_ Patch Compile Tests _
+1 💚mvninstall4m 29sthe patch passed
+1 💚compile0m 20sthe patch passed
+1 💚javac0m 20sthe patch passed
+1 💚shadedjars7m 18spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 16shbase-procedure in the patch failed.
_ Other Tests _
+1 💚unit1m 51shbase-procedure in the patch passed.
29m 30s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2343
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 53d18e4ac92d 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 04de594
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-procedure.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-procedure.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/testReport/
Max. process+thread count218 (vs. ulimit of 12500)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/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 🆗reexec2m 4sDocker 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 💚mvninstall5m 7smaster passed
+1 💚compile0m 23smaster passed
+1 💚shadedjars8m 39sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 19smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 56sthe patch passed
+1 💚compile0m 24sthe patch passed
+1 💚javac0m 24sthe patch passed
+1 💚shadedjars8m 25spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 19sthe patch passed
_ Other Tests _
+1 💚unit2m 29shbase-procedure in the patch passed.
34m 20s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2343
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 390d7659b2c5 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 04de594
Default Java1.8.0_232
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/testReport/
Max. process+thread count250 (vs. ulimit of 12500)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/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 🆗reexec1m 45sDocker 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 💚mvninstall5m 19smaster passed
+1 💚checkstyle0m 17smaster passed
+1 💚spotbugs0m 41smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 38sthe patch passed
-0 ⚠️checkstyle0m 17shbase-procedure: The patch generated 1 new + 1 unchanged - 0 fixed = 2 total (was 1)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck15m 39sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs0m 55sthe patch passed
_ Other Tests _
+1 💚asflicense0m 15sThe patch does not generate ASF License warnings.
38m 38s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2343
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
unameLinux 52763e6e3a5a 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 04de594
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-procedure.txt
Max. process+thread count84 (vs. ulimit of 12500)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/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 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 💚mvninstall4m 34smaster passed
+1 💚compile0m 22smaster passed
+1 💚shadedjars7m 35sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 19shbase-procedure in master failed.
_ Patch Compile Tests _
+1 💚mvninstall4m 36sthe patch passed
+1 💚compile0m 21sthe patch passed
+1 💚javac0m 21sthe patch passed
+1 💚shadedjars7m 31spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 18shbase-procedure in the patch failed.
_ Other Tests _
+1 💚unit1m 50shbase-procedure in the patch passed.
29m 32s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2343
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 2b0a59f5629d 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 4dc0814
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-procedure.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-procedure.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/2/testReport/
Max. process+thread count229 (vs. ulimit of 12500)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/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 🆗reexec2m 4sDocker 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 💚mvninstall5m 7smaster passed
+1 💚compile0m 22smaster passed
+1 💚shadedjars8m 47sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 17smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 42sthe patch passed
+1 💚compile0m 22sthe patch passed
+1 💚javac0m 22sthe patch passed
+1 💚shadedjars7m 31spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 15sthe patch passed
_ Other Tests _
+1 💚unit2m 10shbase-procedure in the patch passed.
32m 54s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2343
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 0d6642aadeb3 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 4dc0814
Default Java1.8.0_232
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/2/testReport/
Max. process+thread count245 (vs. ulimit of 12500)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/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 🆗reexec2m 14sDocker 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 💚checkstyle0m 15smaster passed
+1 💚spotbugs0m 36smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 32sthe patch passed
-0 ⚠️checkstyle0m 15shbase-procedure: The patch generated 1 new + 1 unchanged - 0 fixed = 2 total (was 1)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck14m 18sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs0m 49sthe patch passed
_ Other Tests _
+1 💚asflicense0m 11sThe patch does not generate ASF License warnings.
36m 57s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2343
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
unameLinux 9be20097b1a0 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 4dc0814
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-procedure.txt
Max. process+thread count84 (vs. ulimit of 12500)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/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.

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

Left few comments, also we should be careful touching some sensitive area here. Do you have any specific test results to share?
Thanks for the patch.

// ============================================================================================
private final class TimeoutExecutorThread extends Thread {
private final DelayQueue<DelayedWithTimeout> queue = new DelayQueue<DelayedWithTimeout>();
private final ConcurrentHashMap<DelayedWithTimeout, DelayedWithTimeout> pendingBufferNode =

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.

nit: please use ConcurrentMap

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.

?why use concurrentMap

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.

As a general rule, it's good to handle implementation by using interface to avoid the pain of changing all references if we wish to change the implementation. I understand, we don't want to change implementation here, but it's always great to refer to implementation using interface unless we want to deliberately use implementor methods which are not overridden from interface.
Hence, just like why we would want to use Map<Key,Val> map=new HashMap<>, let's also use:

private final ConcurrentMap<DelayedWithTimeout, DelayedWithTimeout> pendingBufferNode = new ConcurrentHashMap<>();

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.

thx @virajjasani
yes, but i think it is okay to use either, RemoteProcedureDispatcher doesn't change often

private final Set<RemoteProcedure> dispatchedOperations = new HashSet<>();
private Set<RemoteProcedure> operations = Sets.newConcurrentHashSet();
private final Set<RemoteProcedure> dispatchedOperations = Sets.newConcurrentHashSet();
private final Object lock = new Object();

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.

While this looks promising but add(RemoteProcedure operation) and abortOperationsInQueue() will now contend with each other. Do we expect both to synchronize on the same object?

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.

yeah, but abortOperationsInQueue does't happen very often

}

public void putIfAbsent(BufferNode bufferNode) {
if (pendingBufferNode.putIfAbsent(bufferNode, bufferNode) == null) {

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.

If we want to add same object as key and value, why are we using ConcurrentHashMap instead of Sets.newConcurrentHashSet()?

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.

use atomically putIfAbsent.


@Override
public synchronized void add(final RemoteProcedure operation) {
if (this.operations == null) {

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.

Are you sure we are matching this condition with timeoutExecutor.putIfAbsent(this);?
Based on putIfAbsent() method, it seems only first time when entry is added for new key in map i.e when concurrent map's thread-safe version of putIfAbsent() returns null, we execute this block but is there any scenario that might not adhere to this if (this.operations == null) condition by any chance?

@cuibo01cuibo01Sep 4, 2020

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.

TimeoutExecutorThread#run will remove task from pendingBufferNode, so after run, task will not be included in the pendingBufferNode

else {
pendingBufferNode.remove(task);
((BufferNode) task).dispatch();
}

implements RemoteNode<TEnv, TRemote> {
private Set<RemoteProcedure> operations;
private final Set<RemoteProcedure> dispatchedOperations = new HashSet<>();
private Set<RemoteProcedure> operations = Sets.newConcurrentHashSet();

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.

RemoteProcedure is parameterized class and it is used in raw format. Although not for this PR, but we should really change this notion of using the class as parameterized in this entire class.

e.g

private Set<RemoteProcedure<TEnv, TRemote>> operations ...
public void add(final RemoteProcedure<TEnv, TRemote> operation) ...
protected abstract void remoteDispatch(TRemote key, Set<RemoteProcedure<TEnv, TRemote>> operations);

Nothing urgent, can be taken up in separate patch to well distinguish the commit purpose.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 28sDocker 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 46smaster passed
+1 💚compile0m 20smaster passed
+1 💚shadedjars6m 34sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 18smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 29sthe patch passed
+1 💚compile0m 21sthe patch passed
+1 💚javac0m 21sthe patch passed
+1 💚shadedjars6m 34spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 17sthe patch passed
_ Other Tests _
+1 💚unit1m 45shbase-procedure in the patch passed.
25m 0s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2343
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 7cd48fcbc9a3 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 / 19d0140
Default Java1.8.0_232
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/testReport/
Max. process+thread count373 (vs. ulimit of 12500)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/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 27sDocker 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 43smaster passed
+1 💚checkstyle0m 18smaster passed
+1 💚spotbugs0m 34smaster passed
_ Patch Compile Tests _
+1 💚mvninstall3m 21sthe patch passed
-0 ⚠️checkstyle0m 14shbase-procedure: The patch generated 1 new + 1 unchanged - 0 fixed = 2 total (was 1)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck11m 9sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚spotbugs0m 42sthe patch passed
_ Other Tests _
+1 💚asflicense0m 14sThe patch does not generate ASF License warnings.
27m 53s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2343
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle
unameLinux 3ec281a3a0a1 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 19d0140
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/artifact/yetus-general-check/output/diff-checkstyle-hbase-procedure.txt
Max. process+thread count94 (vs. ulimit of 12500)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/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 🆗reexec1m 50sDocker 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 48smaster passed
+1 💚compile0m 21smaster passed
+1 💚shadedjars7m 28sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 18shbase-procedure in master failed.
_ Patch Compile Tests _
+1 💚mvninstall4m 48sthe patch passed
+1 💚compile0m 21sthe patch passed
+1 💚javac0m 21sthe patch passed
+1 💚shadedjars7m 32spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 16shbase-procedure in the patch failed.
_ Other Tests _
+1 💚unit2m 2shbase-procedure in the patch passed.
30m 49s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2343
Optional Testsjavac javadoc unit shadedjars compile
unameLinux bb4647d90e65 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 19d0140
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-procedure.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-procedure.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/testReport/
Max. process+thread count219 (vs. ulimit of 12500)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/3/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 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.

Do you have numbers to show this a better approach and/or a writeup on the approach and why it better? On cursory glance, we are adding task accounting in a concurrent map -- not cheap -- and then synchronizing on a data member lock instead of synchronizing on the method (though the synchronize on lock extends over the full method call in at least two places so effectively the same price is being paid). Thanks @cuibo01

@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 _
+1 💚mvninstall5m 1smaster passed
+1 💚compile0m 22smaster passed
+1 💚shadedjars8m 33sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 22smaster passed
_ Patch Compile Tests _
+1 💚mvninstall5m 1sthe patch passed
+1 💚compile0m 23sthe patch passed
+1 💚javac0m 23sthe patch passed
+1 💚shadedjars8m 35spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 18sthe patch passed
_ Other Tests _
+1 💚unit1m 50shbase-procedure in the patch passed.
31m 58s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2343
Optional Testsjavac javadoc unit shadedjars compile
unameLinux c07764b5e244 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 351caa5
Default JavaAdoptOpenJDK-11.0.10+9
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/testReport/
Max. process+thread count311 (vs. ulimit of 30000)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/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 4sDocker 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 37smaster passed
+1 💚compile0m 20smaster passed
+1 💚shadedjars9m 8sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 17smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 28sthe patch passed
+1 💚compile0m 21sthe patch passed
+1 💚javac0m 21sthe patch passed
+1 💚shadedjars9m 14spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc0m 15sthe patch passed
_ Other Tests _
+1 💚unit2m 4shbase-procedure in the patch passed.
32m 44s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2343
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 5b54a93b160a 4.15.0-163-generic #171-Ubuntu SMP Fri Nov 5 11:55:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 351caa5
Default JavaAdoptOpenJDK-1.8.0_282-b08
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/testReport/
Max. process+thread count247 (vs. ulimit of 30000)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/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 🆗reexec3m 8sDocker 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 53smaster passed
+1 💚compile0m 36smaster passed
+1 💚checkstyle0m 18smaster passed
+1 💚spotbugs0m 38smaster passed
_ Patch Compile Tests _
+1 💚mvninstall4m 22sthe patch passed
+1 💚compile0m 32sthe patch passed
+1 💚javac0m 32sthe patch passed
-0 ⚠️checkstyle0m 14shbase-procedure: The patch generated 1 new + 1 unchanged - 0 fixed = 2 total (was 1)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck22m 47sPatch does not cause any errors with Hadoop 3.1.2 3.2.2 3.3.1.
+1 💚spotbugs0m 57sthe patch passed
_ Other Tests _
+1 💚asflicense0m 13sThe patch does not generate ASF License warnings.
47m 43s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2343
Optional Testsdupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile
unameLinux bfcd021796c5 4.15.0-162-generic #170-Ubuntu SMP Mon Oct 18 11:38:05 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 351caa5
Default JavaAdoptOpenJDK-1.8.0_282-b08
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-procedure.txt
Max. process+thread count86 (vs. ulimit of 30000)
modulesC: hbase-procedure U: hbase-procedure
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2343/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.

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

@cuibo01@Apache-HBase@saintstack@virajjasani