Skip to content

HBASE-24765: Dynamic master discovery - #2130

Merged
bharathv merged 1 commit into
apache:masterfrom
bharathv:dynamic_masters
Aug 25, 2020
Merged

HBASE-24765: Dynamic master discovery#2130
bharathv merged 1 commit into
apache:masterfrom
bharathv:dynamic_masters

Conversation

@bharathv

Copy link
Copy Markdown
Contributor

This patch adds the ability to discover newly added masters
dynamically on the master registry side. The trigger for the
re-fetch is either 5mins or any registry RPC failure.

I didn't add the method to ZK registry interface since there
is a design discussion going on in splittable meta doc. We can
add it later if needed.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec2m 21sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 26sMaven dependency ordering for branch
+1 💚mvninstall4m 40smaster passed
+1 💚checkstyle2m 3smaster passed
+1 💚spotbugs8m 19smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 36sthe patch passed
-0 ⚠️checkstyle0m 31shbase-client: The patch generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
-0 ⚠️checkstyle1m 24shbase-server: The patch generated 2 new + 106 unchanged - 0 fixed = 108 total (was 106)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck14m 33sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚hbaseprotoc2m 25sthe patch passed
+1 💚spotbugs8m 50sthe patch passed
_ Other Tests _
+1 💚asflicense0m 35sThe patch does not generate ASF License warnings.
60m 28s
SubsystemReport/Notes
DockerClient=19.03.9 Server=19.03.9 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
unameLinux 2e51900bfdca 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 8191fbd
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count84 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/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 59sDocker 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 31sMaven dependency ordering for branch
+1 💚mvninstall5m 35smaster passed
+1 💚compile3m 15smaster passed
+1 💚shadedjars8m 11sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 28shbase-client in master failed.
-0 ⚠️javadoc0m 42shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 12sthe patch passed
+1 💚compile2m 32sthe patch passed
+1 💚javac2m 32sthe patch passed
+1 💚shadedjars5m 47spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 27shbase-client in the patch failed.
-0 ⚠️javadoc0m 40shbase-server in the patch failed.
_ Other Tests _
+1 💚unit1m 0shbase-protocol-shaded in the patch passed.
-1 ❌unit0m 53shbase-client in the patch failed.
+1 💚unit129m 52shbase-server in the patch passed.
168m 26s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 1919cfbddf4f 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 / 8191fbd
Default Java2020-01-14
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-client.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/testReport/
Max. process+thread count4474 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/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 21sDocker 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 23sMaven dependency ordering for branch
+1 💚mvninstall3m 57smaster passed
+1 💚compile2m 11smaster passed
+1 💚shadedjars6m 5sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 13smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall3m 47sthe patch passed
+1 💚compile2m 10sthe patch passed
+1 💚javac2m 10sthe patch passed
+1 💚shadedjars6m 5spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 10sthe patch passed
_ Other Tests _
+1 💚unit0m 49shbase-protocol-shaded in the patch passed.
-1 ❌unit0m 56shbase-client in the patch failed.
+1 💚unit208m 58shbase-server in the patch passed.
241m 29s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux d4ae8b4b288e 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 8191fbd
Default Java1.8.0_232
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-client.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/testReport/
Max. process+thread count3936 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/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 🆗reexec0m 25sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 1sNo case conflicting files found.
+0 🆗prototool0m 1sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 24sMaven dependency ordering for branch
+1 💚mvninstall3m 56smaster passed
+1 💚checkstyle1m 52smaster passed
+1 💚spotbugs6m 33smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for patch
+1 💚mvninstall3m 42sthe patch passed
-0 ⚠️checkstyle0m 26shbase-client: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck12m 0sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚hbaseprotoc2m 0sthe patch passed
+1 💚spotbugs7m 5sthe patch passed
_ Other Tests _
+1 💚asflicense0m 31sThe patch does not generate ASF License warnings.
48m 29s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
unameLinux c0dacdaedae8 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / e7963f6
checkstylehttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
Max. process+thread count84 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/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.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 33sDocker 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 21sMaven dependency ordering for branch
+1 💚mvninstall4m 9smaster passed
+1 💚compile2m 30smaster passed
+1 💚shadedjars5m 42sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 26shbase-client in master failed.
-0 ⚠️javadoc0m 39shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall3m 56sthe patch passed
+1 💚compile2m 31sthe patch passed
+1 💚javac2m 31sthe patch passed
+1 💚shadedjars5m 46spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 25shbase-client in the patch failed.
-0 ⚠️javadoc0m 39shbase-server in the patch failed.
_ Other Tests _
+1 💚unit0m 57shbase-protocol-shaded in the patch passed.
+1 💚unit1m 11shbase-client in the patch passed.
-1 ❌unit133m 26shbase-server in the patch failed.
166m 21s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux a15a5146bc82 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 / e7963f6
Default Java2020-01-14
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadochttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unithttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/testReport/
Max. process+thread count4758 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/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 🆗reexec1m 14sDocker 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 20sMaven dependency ordering for branch
+1 💚mvninstall3m 55smaster passed
+1 💚compile2m 8smaster passed
+1 💚shadedjars6m 20sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 15smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall4m 1sthe patch passed
+1 💚compile2m 21sthe patch passed
+1 💚javac2m 21sthe patch passed
+1 💚shadedjars6m 12spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 11sthe patch passed
_ Other Tests _
+1 💚unit0m 48shbase-protocol-shaded in the patch passed.
+1 💚unit1m 16shbase-client in the patch passed.
+1 💚unit207m 50shbase-server in the patch passed.
241m 15s
SubsystemReport/Notes
DockerClient=19.03.12 Server=19.03.12 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux a40a8f1ed21b 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / e7963f6
Default Java1.8.0_232
Test Resultshttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/testReport/
Max. process+thread count4005 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
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.

Nice patch, left some comments. PR should point to splittable meta feature branch?

.setServerName(ProtobufUtil.toServerName(name)).setIsActive(true).build()));
// Backup masters
try {
// TODO: Cache the backup masters to avoid a ZK RPC for each getMasters() call.

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.

We are planning to have a cache with ZKWatcher for backupMasters ZNode right? I believe as of now, we don't subscribe for any event.

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.

Right.

};
masterAddrRefresherThread = Threads.newDaemonThreadFactory(
"MasterRegistry refresh end-points").newThread(masterEndPointRefresher);
masterAddrRefresherThread.start();

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.

Don't want to use SingleThreadExecutor.submit()?

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.

Ok switched. I didn't want to have extra layers on top of a simple thread, but I guess a pool is more readable.

Comment on lines +163 to +164
masterAddrRefresherThread = Threads.newDaemonThreadFactory(
"MasterRegistry refresh end-points").newThread(masterEndPointRefresher);

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.

Can you please use guava library's ThreadFactoryBuilder? So far the consensus on HBASE-24750 is to get rid of our internally maintained ThreadFactory :)

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.

Ok switched. I think we should use our internal one, but fine.

}
};
masterAddrRefresherThread = Threads.newDaemonThreadFactory(
"MasterRegistry refresh end-points").newThread(masterEndPointRefresher);

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: avoid space in Thread prefix name?

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.

You mean between words?

registry.getParsedMasterServers().size() == 2);
final Set<ServerName> newMasters2 = registry.getParsedMasterServers();
assertEquals(2, newMasters2.size());
assertFalse(newMasters2.contains(activeMaster));

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.

newMasters2.contains(activeMaster.getServerName())

Comment on lines +156 to +159
TEST_UTIL.waitFor(5000,
(Waiter.Predicate<Exception>) () -> !registry.getParsedMasterServers().equals(masters));

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: upto you if you want to use ExplainingPredicate to throw Exception with specific message

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.

Skipped it because it bloats up the code, we need to expand the lambda. I think the intent there is pretty clear if the test fails. Let me know if you feel strongly, I can change it.

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.

Sure no worries, not a strong point.

TEST_UTIL.waitFor(100000, (Waiter.Predicate<Exception>) () ->
registry.getParsedMasterServers().size() == 2);
final Set<ServerName> newMasters2 = registry.getParsedMasterServers();
assertEquals(2, newMasters2.size());

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.

After stopping activeMaster, maybe add an extra check to confirm list contains one Active and one Backup?

// RPC has failed, trigger a refresh of master end points. We can have some spurious
// refreshes, but that is okay since the RPC is not expensive and not in a hot path.
synchronized (refreshMasters) {
refreshMasters.notify();

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.

For any generic RPC failure, we want to expedite populating masters with another RPC call.

Let's say there are some sequence of events:

  1. getClusterId() RPC call failed
  2. master refresher thread was in waiting state, so we notify it and it will trigger getMasters() call
  3. the call fails again and we notify refreshMasters but no one is waiting on it, notify is ignored
  4. master refresher thread again waits for 5 min before populating masters.

Do we really want step 4 to wait for 5 min (assuming no other RPC call happens and masters list is stale)? Maybe we can expedite populating masters with the help of AtomicBoolean check (and also avoid synchronized + wait calls i.e 5 min wait)?

Even if we have network issue, we don't want to delay populate masters by 5 min right?

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.

Maybe we can expedite populating masters with the help of AtomicBoolean check

Not sure I follow this, mind rephrasing?

assuming no other RPC call happens and masters list is stale

If not other RPC call happens, it doesn't matter if the list is stale or not?

Even if we have network issue, we don't want to delay populate masters by 5 min right?

Not sure I follow, if we have a network issue, how can we populate?

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.

Maybe we can expedite populating masters with the help of AtomicBoolean check

Not sure I follow this, mind rephrasing?

I meant to say if refresh thread misses this notify because it is already done waiting on refreshMasters, for the next loop, it should not again wait 5 min on refreshMasters and rather quickly perform RPC call to populate masters.

Even if we have network issue, we don't want to delay populate masters by 5 min right?

Not sure I follow, if we have a network issue, how can we populate?

I meant same as above that even if network issue causes notify to refresh thread when it was already past waiting state, maybe next time the thread better quickly make an RPC call rather than waiting 5 min on refreshMasters. But yes, for network issues, we will keep making RPC calls without any progress.

If not other RPC call happens, it doesn't matter if the list is stale or not?

Hmm that's true.

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 meant to say if refresh thread misses this notify because it is already done waiting on refreshMasters, for the next loop, it should not again wait 5 min on refreshMasters and rather quickly perform RPC call to populate masters.

I don't think thats needed. If the thread has just fetched the masters (in cases where it missed the notification), it is very unlikely that something new has been added/removed. Typically this is a very rare event, probably less rare in K8s environment than DC deployments but even then I don't think things usually change for days if not weeks.

@bharathvbharathv left a comment

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.

PR should point to splittable meta feature branch?

No, this has nothing to do with splittable meta. @saintstack just pointed out this optimization in the design doc that I thought would be generally useful to any who wants to use master registry. This was also discussed in the parent jira HBASE-18095 too.

The goal of the patch is keep the client's local master end points up-to-date without operators having to worry about refreshing the client configuration after adding/deleting new master roles. This optimization would be useful generally.

I will address the other comments once we iron out the design and everyone is okay with the approach.

// RPC has failed, trigger a refresh of master end points. We can have some spurious
// refreshes, but that is okay since the RPC is not expensive and not in a hot path.
synchronized (refreshMasters) {
refreshMasters.notify();

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.

Maybe we can expedite populating masters with the help of AtomicBoolean check

Not sure I follow this, mind rephrasing?

assuming no other RPC call happens and masters list is stale

If not other RPC call happens, it doesn't matter if the list is stale or not?

Even if we have network issue, we don't want to delay populate masters by 5 min right?

Not sure I follow, if we have a network issue, how can we populate?

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 25sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 24sMaven dependency ordering for branch
+1 💚mvninstall3m 36smaster passed
+1 💚checkstyle1m 46smaster passed
+1 💚spotbugs6m 5smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall3m 19sthe patch passed
-0 ⚠️checkstyle0m 27shbase-client: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck11m 35sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚hbaseprotoc2m 3sthe patch passed
+1 💚spotbugs6m 58sthe patch passed
_ Other Tests _
+1 💚asflicense0m 37sThe patch does not generate ASF License warnings.
46m 35s
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-2130/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
unameLinux 626d957f7e94 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 975cdf7
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
Max. process+thread count94 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/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.

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

@saintstack just pointed out this optimization in the design doc that I thought would be generally useful to any who wants to use master registry.

Yes, sounds good. Thanks @bharathv .

// RPC has failed, trigger a refresh of master end points. We can have some spurious
// refreshes, but that is okay since the RPC is not expensive and not in a hot path.
synchronized (refreshMasters) {
refreshMasters.notify();

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.

Maybe we can expedite populating masters with the help of AtomicBoolean check

Not sure I follow this, mind rephrasing?

I meant to say if refresh thread misses this notify because it is already done waiting on refreshMasters, for the next loop, it should not again wait 5 min on refreshMasters and rather quickly perform RPC call to populate masters.

Even if we have network issue, we don't want to delay populate masters by 5 min right?

Not sure I follow, if we have a network issue, how can we populate?

I meant same as above that even if network issue causes notify to refresh thread when it was already past waiting state, maybe next time the thread better quickly make an RPC call rather than waiting 5 min on refreshMasters. But yes, for network issues, we will keep making RPC calls without any progress.

If not other RPC call happens, it doesn't matter if the list is stale or not?

Hmm that's true.

private final RpcControllerFactory rpcControllerFactory;
private final int rpcTimeoutMs;
// For synchronizing on refreshing the master end-points
private final Object refreshMasters = 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.

nit: static final here? Anyways, MasterRegistry is singleton right? (if not by design, but by usage)

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.

No, it's loosely tied to a single connection (there are some places that create on the fly registries which is something that can be fixed).

A single application can connect to multiple clusters which means we cannot make it static.

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.

Oops, yes. This better be just final.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 33sDocker 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 22sMaven dependency ordering for branch
+1 💚mvninstall3m 43smaster passed
+1 💚compile2m 13smaster passed
+1 💚shadedjars5m 45sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 14smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall3m 32sthe patch passed
+1 💚compile2m 5sthe patch passed
+1 💚javac2m 5sthe patch passed
+1 💚shadedjars5m 30spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 11sthe patch passed
_ Other Tests _
+1 💚unit0m 46shbase-protocol-shaded in the patch passed.
+1 💚unit1m 8shbase-client in the patch passed.
+1 💚unit142m 16shbase-server in the patch passed.
172m 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-2130/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux c866b401b8ad 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 / 975cdf7
Default Java1.8.0_232
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/testReport/
Max. process+thread count4256 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/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 6sDocker 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 22sMaven dependency ordering for branch
+1 💚mvninstall4m 41smaster passed
+1 💚compile2m 41smaster passed
+1 💚shadedjars6m 18sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 25shbase-client in master failed.
-0 ⚠️javadoc0m 41shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall4m 27sthe patch passed
+1 💚compile2m 40sthe patch passed
+1 💚javac2m 40sthe patch passed
+1 💚shadedjars6m 22spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 26shbase-client in the patch failed.
-0 ⚠️javadoc0m 41shbase-server in the patch failed.
_ Other Tests _
+1 💚unit1m 2shbase-protocol-shaded in the patch passed.
+1 💚unit1m 20shbase-client in the patch passed.
+1 💚unit193m 47shbase-server in the patch passed.
229m 36s
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-2130/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux a5068c8af5cb 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 975cdf7
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/testReport/
Max. process+thread count3498 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathvbharathv left a comment

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.

Anyone else has any thoughts on the approach this patch takes? Implementation is pretty straight forward but happy to add more detail if needed.

// RPC has failed, trigger a refresh of master end points. We can have some spurious
// refreshes, but that is okay since the RPC is not expensive and not in a hot path.
synchronized (refreshMasters) {
refreshMasters.notify();

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 meant to say if refresh thread misses this notify because it is already done waiting on refreshMasters, for the next loop, it should not again wait 5 min on refreshMasters and rather quickly perform RPC call to populate masters.

I don't think thats needed. If the thread has just fetched the masters (in cases where it missed the notification), it is very unlikely that something new has been added/removed. Typically this is a very rare event, probably less rare in K8s environment than DC deployments but even then I don't think things usually change for days if not weeks.

public void callMethod(MethodDescriptor method, RpcController controller, Message request,
Message responsePrototype, RpcCallback<Message> done) {
if (!method.getName().equals("GetClusterId")) {
// Master registry internally runs other RPCs to keep the master list up to date. This check

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can you say more here? Why is it that the internal RPCs that keep the master list up to date are sufficient to skip a call to "GetClusterId"? Can you provide a "see also" comment that points the reader off to the counting logic, or at least the counter that this condition protects?

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.

Will add more detail. That is needed because of the way the test is written. This RpcChannel implementation intercepts all the mock RPCs from unit tests and the just counts the getClusterId calls (depending on the index).. With the patch a single GetClusterID() RPC failure can trigger an extra getMasters() call and that is accounted too.

refreshMasters.wait(WAIT_TIME_OUT_MS);
}
LOG.debug("Attempting to refresh master address end points.");
Set<ServerName> newMasters = new HashSet<>(getMasters().get());

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Where would I find metrics regarding calls to getMasters()? I suppose either client or server-side would be good.

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 haven't thought about this. Are you talking about this RPC specifically? If so, may I ask why?

Adding it on the server makes sense to me, like we want some metrics around where most of the time is spent (grouped by RPC) but curious what purpose it serves on client.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Someone who has the HBase client embedded in their application might be interested in observing this behavior, if they notice sudden spikes in RPC traffic not directly correlated with their application's data path.

Or maybe it's enough to track these calls on the server-side. We'd see the same spikes, though with less granularity.

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.

Okay. Looks like we have all the plumbing for client metrics already in place via HBASE-12911. I can add metrics for this RPC.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Either client-side or server-side is fine with me. Just having something that an operator can expose would be useful.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 9sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+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 💚mvninstall3m 37smaster passed
+1 💚checkstyle1m 43smaster passed
+1 💚spotbugs6m 7smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall3m 24sthe patch passed
-0 ⚠️checkstyle0m 27shbase-client: The patch generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck11m 10sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚hbaseprotoc1m 59sthe patch passed
+1 💚spotbugs6m 38sthe patch passed
_ Other Tests _
+1 💚asflicense0m 39sThe patch does not generate ASF License warnings.
46m 35s
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-2130/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
unameLinux e9182e365d47 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d2f5a5f
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
Max. process+thread count94 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/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 🆗reexec0m 34sDocker 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 24sMaven dependency ordering for branch
+1 💚mvninstall4m 22smaster passed
+1 💚compile2m 39smaster passed
+1 💚shadedjars5m 54sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 28shbase-client in master failed.
-0 ⚠️javadoc0m 41shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall4m 12sthe patch passed
+1 💚compile2m 34sthe patch passed
+1 💚javac2m 34sthe patch passed
+1 💚shadedjars6m 11spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 26shbase-client in the patch failed.
-0 ⚠️javadoc0m 50shbase-server in the patch failed.
_ Other Tests _
+1 💚unit1m 19shbase-protocol-shaded in the patch passed.
+1 💚unit1m 20shbase-client in the patch passed.
-1 ❌unit147m 34shbase-server in the patch failed.
182m 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-2130/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 2a198205c2e8 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d2f5a5f
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/testReport/
Max. process+thread count3797 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/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 34sDocker 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 24sMaven dependency ordering for branch
+1 💚mvninstall3m 42smaster passed
+1 💚compile2m 5smaster passed
+1 💚shadedjars5m 39sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 13smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 17sMaven dependency ordering for patch
+1 💚mvninstall3m 31sthe patch passed
+1 💚compile2m 5sthe patch passed
+1 💚javac2m 5sthe patch passed
+1 💚shadedjars5m 32spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 11sthe patch passed
_ Other Tests _
+1 💚unit0m 45shbase-protocol-shaded in the patch passed.
+1 💚unit1m 3shbase-client in the patch passed.
-1 ❌unit159m 38shbase-server in the patch failed.
190m 16s
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-2130/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux a850f338ec67 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / d2f5a5f
Default Java1.8.0_232
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/testReport/
Max. process+thread count3679 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathvbharathv left a comment

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.

Added metrics, some more unit test coverage and refactored the code slightly.

@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 31sMaven dependency ordering for branch
+1 💚mvninstall4m 12smaster passed
+1 💚compile2m 32smaster passed
+1 💚shadedjars5m 49sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 26shbase-client in master failed.
-0 ⚠️javadoc0m 41shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
-1 ❌mvninstall1m 18sroot in the patch failed.
-1 ❌compile0m 13shbase-client in the patch failed.
-1 ❌compile1m 4shbase-server in the patch failed.
-0 ⚠️javac0m 13shbase-client in the patch failed.
-0 ⚠️javac1m 4shbase-server in the patch failed.
-1 ❌shadedjars2m 38spatch has 10 errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 26shbase-client in the patch failed.
-0 ⚠️javadoc0m 39shbase-server in the patch failed.
_ Other Tests _
+1 💚unit1m 0shbase-protocol-shaded in the patch passed.
-1 ❌unit0m 14shbase-client in the patch failed.
-1 ❌unit1m 2shbase-server in the patch failed.
26m 21s
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-2130/5/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux d9cdfd0a661e 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7b099ea
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
mvninstallhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-mvninstall-root.txt
compilehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-client.txt
compilehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt
javachttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-client.txt
javachttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-compile-hbase-server.txt
shadedjarshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-client.txt
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/testReport/
Max. process+thread count104 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/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 45sDocker 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 💚mvninstall4m 5smaster passed
+1 💚compile2m 26smaster passed
+1 💚shadedjars6m 31sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 22smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 17sMaven dependency ordering for patch
-1 ❌mvninstall1m 10sroot in the patch failed.
-1 ❌compile0m 14shbase-client in the patch failed.
-1 ❌compile1m 1shbase-server in the patch failed.
-0 ⚠️javac0m 14shbase-client in the patch failed.
-0 ⚠️javac1m 1shbase-server in the patch failed.
-1 ❌shadedjars2m 55spatch has 10 errors when building our shaded downstream artifacts.
+1 💚javadoc1m 18sthe patch passed
_ Other Tests _
+1 💚unit0m 52shbase-protocol-shaded in the patch passed.
-1 ❌unit0m 13shbase-client in the patch failed.
-1 ❌unit1m 0shbase-server in the patch failed.
27m 6s
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-2130/5/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux e54180b67926 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 7b099ea
Default Java1.8.0_232
mvninstallhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk8-hadoop3-check/output/patch-mvninstall-root.txt
compilehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-client.txt
compilehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-server.txt
javachttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-client.txt
javachttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk8-hadoop3-check/output/patch-compile-hbase-server.txt
shadedjarshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk8-hadoop3-check/output/patch-shadedjars.txt
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-client.txt
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/testReport/
Max. process+thread count88 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/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 3sDocker 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 37smaster passed
+1 💚compile2m 8smaster passed
+1 💚shadedjars5m 45sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 15smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall3m 26sthe patch passed
+1 💚compile2m 5sthe patch passed
+1 💚javac2m 5sthe patch passed
-1 ❌shadedjars2m 43spatch has 10 errors when building our shaded downstream artifacts.
+1 💚javadoc1m 14sthe patch passed
_ Other Tests _
+1 💚unit0m 47shbase-protocol-shaded in the patch passed.
+1 💚unit1m 1shbase-client in the patch passed.
-1 ❌unit6m 33shbase-server in the patch failed.
34m 6s
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-2130/6/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 300c33288488 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 / c1c2e16
Default Java1.8.0_232
shadedjarshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/6/artifact/yetus-jdk8-hadoop3-check/output/patch-shadedjars.txt
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/6/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/6/testReport/
Max. process+thread count998 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/6/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 28sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 1sNo case conflicting files found.
+0 🆗prototool0m 1sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 20sMaven dependency ordering for branch
+1 💚mvninstall3m 40smaster passed
+1 💚checkstyle1m 36smaster passed
+1 💚spotbugs6m 20smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall3m 27sthe patch passed
-0 ⚠️checkstyle0m 24shbase-client: The patch generated 1 new + 2 unchanged - 0 fixed = 3 total (was 2)
-0 ⚠️checkstyle1m 4shbase-server: The patch generated 1 new + 106 unchanged - 0 fixed = 107 total (was 106)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck11m 11sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚hbaseprotoc1m 52sthe patch passed
+1 💚spotbugs6m 43sthe patch passed
_ Other Tests _
+1 💚asflicense0m 30sThe patch does not generate ASF License warnings.
45m 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-2130/8/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
unameLinux 28353b3c9f2e 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 / c81ef73
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count94 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/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 27sDocker 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 32sMaven dependency ordering for branch
+1 💚mvninstall4m 4smaster passed
+1 💚compile2m 31smaster passed
+1 💚shadedjars5m 44sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 26shbase-client in master failed.
-0 ⚠️javadoc0m 39shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall4m 4sthe patch passed
+1 💚compile2m 29sthe patch passed
+1 💚javac2m 29sthe patch passed
+1 💚shadedjars5m 41spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 24shbase-client in the patch failed.
-0 ⚠️javadoc0m 40shbase-server in the patch failed.
_ Other Tests _
+1 💚unit0m 59shbase-protocol-shaded in the patch passed.
+1 💚unit1m 9shbase-client in the patch passed.
-1 ❌unit130m 0shbase-server in the patch failed.
163m 12s
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-2130/8/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 485055fdf240 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / c81ef73
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/testReport/
Max. process+thread count3970 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/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 16sDocker 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 33sMaven dependency ordering for branch
+1 💚mvninstall3m 23smaster passed
+1 💚compile2m 7smaster passed
+1 💚shadedjars5m 54sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 12smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall3m 30sthe patch passed
+1 💚compile2m 10sthe patch passed
+1 💚javac2m 10sthe patch passed
+1 💚shadedjars5m 44spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 12sthe patch passed
_ Other Tests _
+1 💚unit0m 48shbase-protocol-shaded in the patch passed.
+1 💚unit1m 6shbase-client in the patch passed.
-1 ❌unit143m 32shbase-server in the patch failed.
175m 2s
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-2130/8/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux e37a0ce08f45 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / c81ef73
Default Java1.8.0_232
unithttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/testReport/
Max. process+thread count4162 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathvbharathv left a comment

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.

think this should be done in this patch, as now this method will replace the old getActiveMaster method, which makes it not only be used in our internal refresh but also be used by end users, we should not let users still have the ability to harmmer zookeeper...

I have a separate patch for this, didn't want to scope creep this one. Mind if do a separate PR? I will back port them together.

Ended up implementing caching too in the same patch, for completeness sake.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 53sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 25sMaven dependency ordering for branch
+1 💚mvninstall4m 30smaster passed
+1 💚checkstyle3m 1smaster passed
+1 💚spotbugs8m 7smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 11sMaven dependency ordering for patch
+1 💚mvninstall3m 43sthe patch passed
-0 ⚠️checkstyle0m 27shbase-client: The patch generated 1 new + 2 unchanged - 0 fixed = 3 total (was 2)
-0 ⚠️checkstyle0m 11shbase-zookeeper: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
-0 ⚠️checkstyle1m 14shbase-server: The patch generated 4 new + 108 unchanged - 1 fixed = 112 total (was 109)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck12m 15sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚hbaseprotoc2m 18sthe patch passed
+1 💚spotbugs7m 46sthe patch passed
_ Other Tests _
+1 💚asflicense0m 43sThe patch does not generate ASF License warnings.
55m 17s
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-2130/9/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
unameLinux f684ebe537b8 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 / c81ef73
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/artifact/yetus-general-check/output/diff-checkstyle-hbase-zookeeper.txt
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count84 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/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 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 _
+0 🆗mvndep0m 34sMaven dependency ordering for branch
+1 💚mvninstall3m 53smaster passed
+1 💚compile2m 33smaster passed
+1 💚shadedjars5m 25sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 28smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall3m 29sthe patch passed
+1 💚compile2m 25sthe patch passed
+1 💚javac2m 25sthe patch passed
+1 💚shadedjars5m 56spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 42sthe patch passed
_ Other Tests _
+1 💚unit1m 1shbase-protocol-shaded in the patch passed.
+1 💚unit1m 19shbase-client in the patch passed.
+1 💚unit0m 48shbase-zookeeper in the patch passed.
+1 💚unit156m 49shbase-server in the patch passed.
191m 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-2130/9/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 484bdd2c6b29 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / c81ef73
Default Java1.8.0_232
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/testReport/
Max. process+thread count3671 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/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 18sDocker 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 20sMaven dependency ordering for branch
+1 💚mvninstall4m 42smaster passed
+1 💚compile3m 6smaster passed
+1 💚shadedjars6m 24sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 26shbase-client in master failed.
-0 ⚠️javadoc0m 41shbase-server in master failed.
-0 ⚠️javadoc0m 16shbase-zookeeper in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 35sthe patch passed
+1 💚compile3m 11sthe patch passed
+1 💚javac3m 11sthe patch passed
+1 💚shadedjars6m 28spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 25shbase-client in the patch failed.
-0 ⚠️javadoc0m 16shbase-zookeeper in the patch failed.
-0 ⚠️javadoc0m 41shbase-server in the patch failed.
_ Other Tests _
+1 💚unit1m 3shbase-protocol-shaded in the patch passed.
+1 💚unit1m 17shbase-client in the patch passed.
+1 💚unit0m 45shbase-zookeeper in the patch passed.
+1 💚unit191m 6shbase-server in the patch passed.
229m 50s
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-2130/9/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux f91228a0ebdf 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 / c81ef73
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-zookeeper.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-zookeeper.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/testReport/
Max. process+thread count3417 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathvbharathv left a comment

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.

@Apache9 Any more comments on this one? Thanks.

@bharathv

Copy link
Copy Markdown
ContributorAuthor

@Apache9 / @virajjasani Any more comments or is this good to go?

This has been open for a while, would like to get it in asap unless you have any comments.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 16sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 1sNo case conflicting files found.
+0 🆗prototool0m 1sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 23sMaven dependency ordering for branch
+1 💚mvninstall3m 38smaster passed
+1 💚checkstyle1m 57smaster passed
+1 💚spotbugs6m 34smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for patch
+1 💚mvninstall3m 24sthe patch passed
-0 ⚠️checkstyle0m 26shbase-client: The patch generated 1 new + 2 unchanged - 0 fixed = 3 total (was 2)
-0 ⚠️checkstyle0m 13shbase-zookeeper: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
-0 ⚠️checkstyle1m 6shbase-server: The patch generated 4 new + 106 unchanged - 1 fixed = 110 total (was 107)
+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 💚hbaseprotoc2m 19sthe patch passed
+1 💚spotbugs7m 26sthe patch passed
_ Other Tests _
+1 💚asflicense0m 50sThe patch does not generate ASF License warnings.
48m 55s
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-2130/10/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
unameLinux 7699366d90a2 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 2874f00
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/artifact/yetus-general-check/output/diff-checkstyle-hbase-zookeeper.txt
checkstylehttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt
Max. process+thread count94 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/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.

@Apache9

Copy link
Copy Markdown
Contributor

The only concern is about the IllegalStateException. We used to throw IOException for this case.

And please fix the checkstyle issues?

@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 30sMaven dependency ordering for branch
+1 💚mvninstall4m 8smaster passed
+1 💚compile2m 57smaster passed
+1 💚shadedjars6m 7sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 27shbase-client in master failed.
-0 ⚠️javadoc0m 18shbase-zookeeper in master failed.
-0 ⚠️javadoc0m 46shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 17sMaven dependency ordering for patch
+1 💚mvninstall4m 22sthe patch passed
+1 💚compile3m 12sthe patch passed
+1 💚javac3m 12sthe patch passed
+1 💚shadedjars6m 3spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 27shbase-client in the patch failed.
-0 ⚠️javadoc0m 17shbase-zookeeper in the patch failed.
-0 ⚠️javadoc0m 41shbase-server in the patch failed.
_ Other Tests _
+1 💚unit1m 0shbase-protocol-shaded in the patch passed.
+1 💚unit1m 10shbase-client in the patch passed.
+1 💚unit0m 45shbase-zookeeper in the patch passed.
+1 💚unit131m 4shbase-server in the patch passed.
167m 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-2130/10/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 7ee216d4ef28 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 2874f00
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-zookeeper.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-zookeeper.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/testReport/
Max. process+thread count3942 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
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.

Few nits, +1 overall.

Comment on lines +105 to +108
periodicRefreshMs = 1000 * conf.getLong(PERIODIC_REFRESH_INTERVAL_SECS,
PERIODIC_REFRESH_INTERVAL_SECS_DEFAULT);
timeBetweenRefreshesMs = 1000 * conf.getLong(MIN_SECS_BETWEEN_REFRESHES,
MIN_SECS_BETWEEN_REFRESHES_DEFAULT);

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: TimeUnit.SECONDS.toMillis(conf.getLong(,))

private static final int PERIODIC_REFRESH_INTERVAL_SECS_DEFAULT = 300;
public static final String MIN_SECS_BETWEEN_REFRESHES =
"hbase.client.master_registry.min_secs_between_refreshes";
private static final long MIN_SECS_BETWEEN_REFRESHES_DEFAULT = 60;

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: keep this int similar to PERIODIC_REFRESH_INTERVAL_SECS_DEFAULT?

registry.populateMasterStubs(newMasters);
LOG.debug("Finished refreshing master end points. {}", newMasters);
} catch (InterruptedException e) {
LOG.debug("Interrupted during wait, aborting refresh-masters-thread.", e);

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.

We are aborting refresh by breaking out of the loop and basically, we are done refreshing master stubs. Better to log this at ERROR?

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.

That also happens during a regular pool shutdown. Added another log later in the method after loop exist for observability.

zkw.getZNodePaths().backupMasterAddressesZNode);
} catch (KeeperException e) {
LOG.warn(zkw.prefix("Unable to list backup servers"), e);
backupMasterStrings = 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.

nit: return Collections.emptyList();

@virajjasani

Copy link
Copy Markdown
Contributor

Keeping backupMasters volatile list up-to date in ActiveMasterManager is nice move with this PR.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 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 25sMaven dependency ordering for branch
+1 💚mvninstall4m 39smaster passed
+1 💚compile2m 57smaster passed
+1 💚shadedjars7m 12sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 48smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 21sthe patch passed
+1 💚compile2m 59sthe patch passed
+1 💚javac2m 59sthe patch passed
+1 💚shadedjars7m 0spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 42sthe patch passed
_ Other Tests _
+1 💚unit1m 1shbase-protocol-shaded in the patch passed.
+1 💚unit1m 29shbase-client in the patch passed.
+1 💚unit0m 52shbase-zookeeper in the patch passed.
+1 💚unit226m 52shbase-server in the patch passed.
267m 19s
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-2130/10/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux c7e07fa9f7d1 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 / 2874f00
Default Java1.8.0_232
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/testReport/
Max. process+thread count2735 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathv

Copy link
Copy Markdown
ContributorAuthor

The only concern is about the IllegalStateException. We used to throw IOException for this case.

I added a checked exception. TBH I don't fully understand the concern. Like I explained it happens only if an invariant fails, which means a code bug, so unchecked exception should be fine. Either way its not a big deal what exception we throw, so made the changed. Also, fixed the check style issues.

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

+1

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 46sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 28sMaven dependency ordering for branch
+1 💚mvninstall4m 26smaster passed
+1 💚checkstyle2m 7smaster passed
+1 💚spotbugs8m 14smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall3m 59sthe patch passed
+1 💚checkstyle0m 11sThe patch passed checkstyle in hbase-protocol-shaded
+1 💚checkstyle0m 29sThe patch passed checkstyle in hbase-client
+1 💚checkstyle0m 13sThe patch passed checkstyle in hbase-zookeeper
+1 💚checkstyle1m 16shbase-server: The patch generated 0 new + 107 unchanged - 1 fixed = 107 total (was 108)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck13m 43sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚hbaseprotoc2m 37sthe patch passed
+1 💚spotbugs8m 25sthe patch passed
_ Other Tests _
+1 💚asflicense0m 51sThe patch does not generate ASF License warnings.
58m 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-2130/11/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
unameLinux 38fe84e87b80 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 6ad73b9
Max. process+thread count94 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/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 42sDocker 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 33sMaven dependency ordering for branch
+1 💚mvninstall4m 2smaster passed
+1 💚compile2m 42smaster passed
+1 💚shadedjars6m 45sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 35smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall4m 10sthe patch passed
+1 💚compile2m 37sthe patch passed
+1 💚javac2m 37sthe patch passed
+1 💚shadedjars6m 27spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 26sthe patch passed
_ Other Tests _
+1 💚unit0m 52shbase-protocol-shaded in the patch passed.
+1 💚unit1m 7shbase-client in the patch passed.
+1 💚unit0m 45shbase-zookeeper in the patch passed.
+1 💚unit151m 16shbase-server in the patch passed.
188m 7s
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-2130/11/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux f7ba282bf066 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 / 6ad73b9
Default Java1.8.0_232
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/testReport/
Max. process+thread count4584 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/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 34sDocker 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 36sMaven dependency ordering for branch
+1 💚mvninstall5m 8smaster passed
+1 💚compile3m 18smaster passed
+1 💚shadedjars7m 2sbranch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 29shbase-client in master failed.
-0 ⚠️javadoc0m 17shbase-zookeeper in master failed.
-0 ⚠️javadoc0m 46shbase-server in master failed.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall4m 42sthe patch passed
+1 💚compile3m 24sthe patch passed
+1 💚javac3m 24sthe patch passed
+1 💚shadedjars6m 50spatch has no errors when building our shaded downstream artifacts.
-0 ⚠️javadoc0m 28shbase-client in the patch failed.
-0 ⚠️javadoc0m 18shbase-zookeeper in the patch failed.
-0 ⚠️javadoc0m 43shbase-server in the patch failed.
_ Other Tests _
+1 💚unit1m 9shbase-protocol-shaded in the patch passed.
+1 💚unit1m 17shbase-client in the patch passed.
+1 💚unit0m 46shbase-zookeeper in the patch passed.
+1 💚unit142m 12shbase-server in the patch passed.
183m 43s
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-2130/11/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux dfb6fd97521d 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / 6ad73b9
Default Java2020-01-14
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-zookeeper.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-zookeeper.txt
javadochttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/testReport/
Max. process+thread count3973 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

This patch adds the ability to discover newly added masters
dynamically on the master registry side. The trigger for the
re-fetch is either periodic (5 mins) or any registry RPC failure.
Master server information is cached in masters to avoid repeated
ZK lookups.
Updates the client side connection metrics to maintain a counter
per RPC type so that clients have visibility into counts grouped
by RPC method name.
I didn't add the method to ZK registry interface since there
is a design discussion going on in splittable meta doc. We can
add it later if needed.
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 23sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗prototool0m 0sprototool was not available.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗mvndep0m 27sMaven dependency ordering for branch
+1 💚mvninstall4m 3smaster passed
+1 💚checkstyle2m 3smaster passed
+1 💚spotbugs7m 21smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 12sMaven dependency ordering for patch
+1 💚mvninstall3m 56sthe patch passed
+1 💚checkstyle0m 9sThe patch passed checkstyle in hbase-protocol-shaded
+1 💚checkstyle0m 28sThe patch passed checkstyle in hbase-client
+1 💚checkstyle0m 12sThe patch passed checkstyle in hbase-zookeeper
+1 💚checkstyle1m 14shbase-server: The patch generated 0 new + 107 unchanged - 1 fixed = 107 total (was 108)
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚hadoopcheck12m 53sPatch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚hbaseprotoc2m 26sthe patch passed
+1 💚spotbugs8m 28sthe patch passed
_ Other Tests _
+1 💚asflicense0m 46sThe patch does not generate ASF License warnings.
54m 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-2130/12/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsdupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
unameLinux 7b679973ec57 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 / ebe321a
Max. process+thread count84 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/12/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 29sDocker 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 31sMaven dependency ordering for branch
+1 💚mvninstall3m 41smaster passed
+1 💚compile2m 38smaster passed
+1 💚shadedjars6m 44sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 36smaster passed
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall3m 42sthe patch passed
+1 💚compile2m 36sthe patch passed
+1 💚javac2m 36sthe patch passed
+1 💚shadedjars6m 47spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc1m 38sthe patch passed
_ Other Tests _
+1 💚unit0m 47shbase-protocol-shaded in the patch passed.
+1 💚unit1m 8shbase-client in the patch passed.
+1 💚unit0m 44shbase-zookeeper in the patch passed.
+1 💚unit161m 29shbase-server in the patch passed.
197m 25s
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-2130/12/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR#2130
JIRA IssueHBASE-24765
Optional Testsjavac javadoc unit shadedjars compile
unameLinux 7a42cc8df5d0 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev-support/hbase-personality.sh
git revisionmaster / ebe321a
Default Java1.8.0_232
Test Resultshttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/12/testReport/
Max. process+thread count4306 (vs. ulimit of 12500)
modulesC: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console outputhttps://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/12/console
versionsgit=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered byApache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathv
bharathv merged commit 01cf600 into apache:masterAug 25, 2020
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.

5 participants

@bharathv@Apache-HBase@virajjasani@Apache9@ndimiduk