Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

HBASE-24765: Dynamic master discovery #2130

Merged
merged 1 commit into from
Aug 25, 2020

Conversation

bharathv
Copy link
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

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 2m 21s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 26s Maven dependency ordering for branch
+1 💚 mvninstall 4m 40s master passed
+1 💚 checkstyle 2m 3s master passed
+1 💚 spotbugs 8m 19s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 36s the patch passed
-0 ⚠️ checkstyle 0m 31s hbase-client: The patch generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
-0 ⚠️ checkstyle 1m 24s hbase-server: The patch generated 2 new + 106 unchanged - 0 fixed = 108 total (was 106)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 14m 33s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 hbaseprotoc 2m 25s the patch passed
+1 💚 spotbugs 8m 50s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 35s The patch does not generate ASF License warnings.
60m 28s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 8191fbd
checkstyle https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-general-check/output/diff-checkstyle-hbase-client.txt
checkstyle https://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 count 84 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 59s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for branch
+1 💚 mvninstall 5m 35s master passed
+1 💚 compile 3m 15s master passed
+1 💚 shadedjars 8m 11s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 28s hbase-client in master failed.
-0 ⚠️ javadoc 0m 42s hbase-server in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 12s the patch passed
+1 💚 compile 2m 32s the patch passed
+1 💚 javac 2m 32s the patch passed
+1 💚 shadedjars 5m 47s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 27s hbase-client in the patch failed.
-0 ⚠️ javadoc 0m 40s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 1m 0s hbase-protocol-shaded in the patch passed.
-1 ❌ unit 0m 53s hbase-client in the patch failed.
+1 💚 unit 129m 52s hbase-server in the patch passed.
168m 26s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 8191fbd
Default Java 2020-01-14
javadoc https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadoc https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadoc https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadoc https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unit https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-client.txt
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/testReport/
Max. process+thread count 4474 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 21s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 23s Maven dependency ordering for branch
+1 💚 mvninstall 3m 57s master passed
+1 💚 compile 2m 11s master passed
+1 💚 shadedjars 6m 5s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 13s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 3m 47s the patch passed
+1 💚 compile 2m 10s the patch passed
+1 💚 javac 2m 10s the patch passed
+1 💚 shadedjars 6m 5s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 10s the patch passed
_ Other Tests _
+1 💚 unit 0m 49s hbase-protocol-shaded in the patch passed.
-1 ❌ unit 0m 56s hbase-client in the patch failed.
+1 💚 unit 208m 58s hbase-server in the patch passed.
241m 29s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 8191fbd
Default Java 1.8.0_232
unit https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-client.txt
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/testReport/
Max. process+thread count 3936 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 25s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 prototool 0m 1s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 3m 56s master passed
+1 💚 checkstyle 1m 52s master passed
+1 💚 spotbugs 6m 33s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 42s the patch passed
-0 ⚠️ checkstyle 0m 26s hbase-client: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 12m 0s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 hbaseprotoc 2m 0s the patch passed
+1 💚 spotbugs 7m 5s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 31s The patch does not generate ASF License warnings.
48m 29s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / e7963f6
checkstyle https://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 count 84 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 33s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 21s Maven dependency ordering for branch
+1 💚 mvninstall 4m 9s master passed
+1 💚 compile 2m 30s master passed
+1 💚 shadedjars 5m 42s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 26s hbase-client in master failed.
-0 ⚠️ javadoc 0m 39s hbase-server in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 56s the patch passed
+1 💚 compile 2m 31s the patch passed
+1 💚 javac 2m 31s the patch passed
+1 💚 shadedjars 5m 46s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 25s hbase-client in the patch failed.
-0 ⚠️ javadoc 0m 39s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 0m 57s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 11s hbase-client in the patch passed.
-1 ❌ unit 133m 26s hbase-server in the patch failed.
166m 21s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / e7963f6
Default Java 2020-01-14
javadoc https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-client.txt
javadoc https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/branch-javadoc-hbase-server.txt
javadoc https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-client.txt
javadoc https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/patch-javadoc-hbase-server.txt
unit https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-hbase-server.txt
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/testReport/
Max. process+thread count 4758 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 14s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for branch
+1 💚 mvninstall 3m 55s master passed
+1 💚 compile 2m 8s master passed
+1 💚 shadedjars 6m 20s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 15s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 4m 1s the patch passed
+1 💚 compile 2m 21s the patch passed
+1 💚 javac 2m 21s the patch passed
+1 💚 shadedjars 6m 12s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 11s the patch passed
_ Other Tests _
+1 💚 unit 0m 48s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 16s hbase-client in the patch passed.
+1 💚 unit 207m 50s hbase-server in the patch passed.
241m 15s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / e7963f6
Default Java 1.8.0_232
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/testReport/
Max. process+thread count 4005 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-2130/2/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@virajjasani virajjasani left a comment

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

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

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

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

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

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

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

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.

Copy link
Contributor Author

@bharathv bharathv left a comment

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

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

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 25s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 3m 36s master passed
+1 💚 checkstyle 1m 46s master passed
+1 💚 spotbugs 6m 5s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 3m 19s the patch passed
-0 ⚠️ checkstyle 0m 27s hbase-client: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 11m 35s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 hbaseprotoc 2m 3s the patch passed
+1 💚 spotbugs 6m 58s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 37s The patch does not generate ASF License warnings.
46m 35s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 975cdf7
checkstyle https://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 count 94 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@virajjasani virajjasani left a comment

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


// RPC client used to talk to the masters.
private final RpcClient rpcClient;
private final RpcControllerFactory rpcControllerFactory;
private final int rpcTimeoutMs;
// For synchronizing on refreshing the master end-points
private final Object refreshMasters = new Object();
Copy link
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
Contributor Author

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

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 33s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 22s Maven dependency ordering for branch
+1 💚 mvninstall 3m 43s master passed
+1 💚 compile 2m 13s master passed
+1 💚 shadedjars 5m 45s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 14s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 3m 32s the patch passed
+1 💚 compile 2m 5s the patch passed
+1 💚 javac 2m 5s the patch passed
+1 💚 shadedjars 5m 30s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 11s the patch passed
_ Other Tests _
+1 💚 unit 0m 46s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 8s hbase-client in the patch passed.
+1 💚 unit 142m 16s hbase-server in the patch passed.
172m 54s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 975cdf7
Default Java 1.8.0_232
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/testReport/
Max. process+thread count 4256 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 6s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 22s Maven dependency ordering for branch
+1 💚 mvninstall 4m 41s master passed
+1 💚 compile 2m 41s master passed
+1 💚 shadedjars 6m 18s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 25s hbase-client in master failed.
-0 ⚠️ javadoc 0m 41s hbase-server in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 4m 27s the patch passed
+1 💚 compile 2m 40s the patch passed
+1 💚 javac 2m 40s the patch passed
+1 💚 shadedjars 6m 22s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 26s hbase-client in the patch failed.
-0 ⚠️ javadoc 0m 41s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 1m 2s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 20s hbase-client in the patch passed.
+1 💚 unit 193m 47s hbase-server in the patch passed.
229m 36s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 975cdf7
Default Java 2020-01-14
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/testReport/
Max. process+thread count 3498 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/1/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor Author

@bharathv bharathv left a comment

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

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.

@@ -121,6 +121,11 @@ public boolean hasCellBlockSupport() {
@Override
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
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
Contributor Author

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

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

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

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 9s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 22s Maven dependency ordering for branch
+1 💚 mvninstall 3m 37s master passed
+1 💚 checkstyle 1m 43s master passed
+1 💚 spotbugs 6m 7s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 24s the patch passed
-0 ⚠️ checkstyle 0m 27s hbase-client: The patch generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 11m 10s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 hbaseprotoc 1m 59s the patch passed
+1 💚 spotbugs 6m 38s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 39s The patch does not generate ASF License warnings.
46m 35s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / d2f5a5f
checkstyle https://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 count 94 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 34s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 4m 22s master passed
+1 💚 compile 2m 39s master passed
+1 💚 shadedjars 5m 54s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 28s hbase-client in master failed.
-0 ⚠️ javadoc 0m 41s hbase-server in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 4m 12s the patch passed
+1 💚 compile 2m 34s the patch passed
+1 💚 javac 2m 34s the patch passed
+1 💚 shadedjars 6m 11s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 26s hbase-client in the patch failed.
-0 ⚠️ javadoc 0m 50s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 1m 19s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 20s hbase-client in the patch passed.
-1 ❌ unit 147m 34s hbase-server in the patch failed.
182m 32s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / d2f5a5f
Default Java 2020-01-14
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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
unit https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/testReport/
Max. process+thread count 3797 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 34s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 3m 42s master passed
+1 💚 compile 2m 5s master passed
+1 💚 shadedjars 5m 39s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 13s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 3m 31s the patch passed
+1 💚 compile 2m 5s the patch passed
+1 💚 javac 2m 5s the patch passed
+1 💚 shadedjars 5m 32s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 11s the patch passed
_ Other Tests _
+1 💚 unit 0m 45s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 3s hbase-client in the patch passed.
-1 ❌ unit 159m 38s hbase-server in the patch failed.
190m 16s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / d2f5a5f
Default Java 1.8.0_232
unit https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/testReport/
Max. process+thread count 3679 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/3/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor Author

@bharathv bharathv left a comment

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

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 30s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for branch
+1 💚 mvninstall 4m 12s master passed
+1 💚 compile 2m 32s master passed
+1 💚 shadedjars 5m 49s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 26s hbase-client in master failed.
-0 ⚠️ javadoc 0m 41s hbase-server in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
-1 ❌ mvninstall 1m 18s root in the patch failed.
-1 ❌ compile 0m 13s hbase-client in the patch failed.
-1 ❌ compile 1m 4s hbase-server in the patch failed.
-0 ⚠️ javac 0m 13s hbase-client in the patch failed.
-0 ⚠️ javac 1m 4s hbase-server in the patch failed.
-1 ❌ shadedjars 2m 38s patch has 10 errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 26s hbase-client in the patch failed.
-0 ⚠️ javadoc 0m 39s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 1m 0s hbase-protocol-shaded in the patch passed.
-1 ❌ unit 0m 14s hbase-client in the patch failed.
-1 ❌ unit 1m 2s hbase-server in the patch failed.
26m 21s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 7b099ea
Default Java 2020-01-14
javadoc https://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
javadoc https://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
mvninstall https://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
compile https://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
compile https://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
javac https://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
javac https://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
shadedjars https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk11-hadoop3-check/output/patch-shadedjars.txt
javadoc https://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
javadoc https://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
unit https://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
unit https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/testReport/
Max. process+thread count 104 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 45s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 23s Maven dependency ordering for branch
+1 💚 mvninstall 4m 5s master passed
+1 💚 compile 2m 26s master passed
+1 💚 shadedjars 6m 31s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 22s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
-1 ❌ mvninstall 1m 10s root in the patch failed.
-1 ❌ compile 0m 14s hbase-client in the patch failed.
-1 ❌ compile 1m 1s hbase-server in the patch failed.
-0 ⚠️ javac 0m 14s hbase-client in the patch failed.
-0 ⚠️ javac 1m 1s hbase-server in the patch failed.
-1 ❌ shadedjars 2m 55s patch has 10 errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 18s the patch passed
_ Other Tests _
+1 💚 unit 0m 52s hbase-protocol-shaded in the patch passed.
-1 ❌ unit 0m 13s hbase-client in the patch failed.
-1 ❌ unit 1m 0s hbase-server in the patch failed.
27m 6s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 7b099ea
Default Java 1.8.0_232
mvninstall https://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
compile https://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
compile https://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
javac https://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
javac https://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
shadedjars https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/artifact/yetus-jdk8-hadoop3-check/output/patch-shadedjars.txt
unit https://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
unit https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/testReport/
Max. process+thread count 88 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/5/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 3s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 23s Maven dependency ordering for branch
+1 💚 mvninstall 3m 37s master passed
+1 💚 compile 2m 8s master passed
+1 💚 shadedjars 5m 45s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 15s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 26s the patch passed
+1 💚 compile 2m 5s the patch passed
+1 💚 javac 2m 5s the patch passed
-1 ❌ shadedjars 2m 43s patch has 10 errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 14s the patch passed
_ Other Tests _
+1 💚 unit 0m 47s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 1s hbase-client in the patch passed.
-1 ❌ unit 6m 33s hbase-server in the patch failed.
34m 6s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / c1c2e16
Default Java 1.8.0_232
shadedjars https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/6/artifact/yetus-jdk8-hadoop3-check/output/patch-shadedjars.txt
unit https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/6/testReport/
Max. process+thread count 998 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/6/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 28s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 prototool 0m 1s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for branch
+1 💚 mvninstall 3m 40s master passed
+1 💚 checkstyle 1m 36s master passed
+1 💚 spotbugs 6m 20s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 3m 27s the patch passed
-0 ⚠️ checkstyle 0m 24s hbase-client: The patch generated 1 new + 2 unchanged - 0 fixed = 3 total (was 2)
-0 ⚠️ checkstyle 1m 4s hbase-server: The patch generated 1 new + 106 unchanged - 0 fixed = 107 total (was 106)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 11m 11s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 hbaseprotoc 1m 52s the patch passed
+1 💚 spotbugs 6m 43s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 30s The patch does not generate ASF License warnings.
45m 32s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / c81ef73
checkstyle https://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
checkstyle https://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 count 94 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 27s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for branch
+1 💚 mvninstall 4m 4s master passed
+1 💚 compile 2m 31s master passed
+1 💚 shadedjars 5m 44s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 26s hbase-client in master failed.
-0 ⚠️ javadoc 0m 39s hbase-server in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 4m 4s the patch passed
+1 💚 compile 2m 29s the patch passed
+1 💚 javac 2m 29s the patch passed
+1 💚 shadedjars 5m 41s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 24s hbase-client in the patch failed.
-0 ⚠️ javadoc 0m 40s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 0m 59s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 9s hbase-client in the patch passed.
-1 ❌ unit 130m 0s hbase-server in the patch failed.
163m 12s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / c81ef73
Default Java 2020-01-14
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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
unit https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/testReport/
Max. process+thread count 3970 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 16s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 33s Maven dependency ordering for branch
+1 💚 mvninstall 3m 23s master passed
+1 💚 compile 2m 7s master passed
+1 💚 shadedjars 5m 54s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 12s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 30s the patch passed
+1 💚 compile 2m 10s the patch passed
+1 💚 javac 2m 10s the patch passed
+1 💚 shadedjars 5m 44s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 12s the patch passed
_ Other Tests _
+1 💚 unit 0m 48s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 6s hbase-client in the patch passed.
-1 ❌ unit 143m 32s hbase-server in the patch failed.
175m 2s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / c81ef73
Default Java 1.8.0_232
unit https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/testReport/
Max. process+thread count 4162 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/8/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor Author

@bharathv bharathv left a comment

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

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 53s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 25s Maven dependency ordering for branch
+1 💚 mvninstall 4m 30s master passed
+1 💚 checkstyle 3m 1s master passed
+1 💚 spotbugs 8m 7s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 11s Maven dependency ordering for patch
+1 💚 mvninstall 3m 43s the patch passed
-0 ⚠️ checkstyle 0m 27s hbase-client: The patch generated 1 new + 2 unchanged - 0 fixed = 3 total (was 2)
-0 ⚠️ checkstyle 0m 11s hbase-zookeeper: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
-0 ⚠️ checkstyle 1m 14s hbase-server: The patch generated 4 new + 108 unchanged - 1 fixed = 112 total (was 109)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 12m 15s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 hbaseprotoc 2m 18s the patch passed
+1 💚 spotbugs 7m 46s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 43s The patch does not generate ASF License warnings.
55m 17s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / c81ef73
checkstyle https://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
checkstyle https://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
checkstyle https://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 count 84 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 50s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 34s Maven dependency ordering for branch
+1 💚 mvninstall 3m 53s master passed
+1 💚 compile 2m 33s master passed
+1 💚 shadedjars 5m 25s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 28s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 3m 29s the patch passed
+1 💚 compile 2m 25s the patch passed
+1 💚 javac 2m 25s the patch passed
+1 💚 shadedjars 5m 56s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 42s the patch passed
_ Other Tests _
+1 💚 unit 1m 1s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 19s hbase-client in the patch passed.
+1 💚 unit 0m 48s hbase-zookeeper in the patch passed.
+1 💚 unit 156m 49s hbase-server in the patch passed.
191m 0s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / c81ef73
Default Java 1.8.0_232
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/testReport/
Max. process+thread count 3671 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 18s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for branch
+1 💚 mvninstall 4m 42s master passed
+1 💚 compile 3m 6s master passed
+1 💚 shadedjars 6m 24s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 26s hbase-client in master failed.
-0 ⚠️ javadoc 0m 41s hbase-server in master failed.
-0 ⚠️ javadoc 0m 16s hbase-zookeeper in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 35s the patch passed
+1 💚 compile 3m 11s the patch passed
+1 💚 javac 3m 11s the patch passed
+1 💚 shadedjars 6m 28s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 25s hbase-client in the patch failed.
-0 ⚠️ javadoc 0m 16s hbase-zookeeper in the patch failed.
-0 ⚠️ javadoc 0m 41s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 1m 3s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 17s hbase-client in the patch passed.
+1 💚 unit 0m 45s hbase-zookeeper in the patch passed.
+1 💚 unit 191m 6s hbase-server in the patch passed.
229m 50s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / c81ef73
Default Java 2020-01-14
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/testReport/
Max. process+thread count 3417 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/9/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor Author

@bharathv bharathv left a comment

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

@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

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 16s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 prototool 0m 1s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 23s Maven dependency ordering for branch
+1 💚 mvninstall 3m 38s master passed
+1 💚 checkstyle 1m 57s master passed
+1 💚 spotbugs 6m 34s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 3m 24s the patch passed
-0 ⚠️ checkstyle 0m 26s hbase-client: The patch generated 1 new + 2 unchanged - 0 fixed = 3 total (was 2)
-0 ⚠️ checkstyle 0m 13s hbase-zookeeper: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
-0 ⚠️ checkstyle 1m 6s hbase-server: The patch generated 4 new + 106 unchanged - 1 fixed = 110 total (was 107)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 11m 9s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 hbaseprotoc 2m 19s the patch passed
+1 💚 spotbugs 7m 26s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 50s The patch does not generate ASF License warnings.
48m 55s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 2874f00
checkstyle https://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
checkstyle https://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
checkstyle https://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 count 94 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache9
Copy link
Contributor

Apache9 commented Aug 24, 2020

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

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 26s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 30s Maven dependency ordering for branch
+1 💚 mvninstall 4m 8s master passed
+1 💚 compile 2m 57s master passed
+1 💚 shadedjars 6m 7s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 27s hbase-client in master failed.
-0 ⚠️ javadoc 0m 18s hbase-zookeeper in master failed.
-0 ⚠️ javadoc 0m 46s hbase-server in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 4m 22s the patch passed
+1 💚 compile 3m 12s the patch passed
+1 💚 javac 3m 12s the patch passed
+1 💚 shadedjars 6m 3s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 27s hbase-client in the patch failed.
-0 ⚠️ javadoc 0m 17s hbase-zookeeper in the patch failed.
-0 ⚠️ javadoc 0m 41s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 1m 0s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 10s hbase-client in the patch passed.
+1 💚 unit 0m 45s hbase-zookeeper in the patch passed.
+1 💚 unit 131m 4s hbase-server in the patch passed.
167m 49s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 2874f00
Default Java 2020-01-14
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/testReport/
Max. process+thread count 3942 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@virajjasani virajjasani left a comment

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

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

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

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 26s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 25s Maven dependency ordering for branch
+1 💚 mvninstall 4m 39s master passed
+1 💚 compile 2m 57s master passed
+1 💚 shadedjars 7m 12s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 48s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 21s the patch passed
+1 💚 compile 2m 59s the patch passed
+1 💚 javac 2m 59s the patch passed
+1 💚 shadedjars 7m 0s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 42s the patch passed
_ Other Tests _
+1 💚 unit 1m 1s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 29s hbase-client in the patch passed.
+1 💚 unit 0m 52s hbase-zookeeper in the patch passed.
+1 💚 unit 226m 52s hbase-server in the patch passed.
267m 19s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 2874f00
Default Java 1.8.0_232
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/testReport/
Max. process+thread count 2735 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/10/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathv
Copy link
Contributor Author

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.

Copy link
Contributor

@virajjasani virajjasani left a comment

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

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 46s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 28s Maven dependency ordering for branch
+1 💚 mvninstall 4m 26s master passed
+1 💚 checkstyle 2m 7s master passed
+1 💚 spotbugs 8m 14s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 3m 59s the patch passed
+1 💚 checkstyle 0m 11s The patch passed checkstyle in hbase-protocol-shaded
+1 💚 checkstyle 0m 29s The patch passed checkstyle in hbase-client
+1 💚 checkstyle 0m 13s The patch passed checkstyle in hbase-zookeeper
+1 💚 checkstyle 1m 16s hbase-server: The patch generated 0 new + 107 unchanged - 1 fixed = 107 total (was 108)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 13m 43s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 hbaseprotoc 2m 37s the patch passed
+1 💚 spotbugs 8m 25s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 51s The patch does not generate ASF License warnings.
58m 32s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 6ad73b9
Max. process+thread count 94 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 42s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 33s Maven dependency ordering for branch
+1 💚 mvninstall 4m 2s master passed
+1 💚 compile 2m 42s master passed
+1 💚 shadedjars 6m 45s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 35s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 4m 10s the patch passed
+1 💚 compile 2m 37s the patch passed
+1 💚 javac 2m 37s the patch passed
+1 💚 shadedjars 6m 27s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 26s the patch passed
_ Other Tests _
+1 💚 unit 0m 52s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 7s hbase-client in the patch passed.
+1 💚 unit 0m 45s hbase-zookeeper in the patch passed.
+1 💚 unit 151m 16s hbase-server in the patch passed.
188m 7s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 6ad73b9
Default Java 1.8.0_232
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/testReport/
Max. process+thread count 4584 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 34s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 36s Maven dependency ordering for branch
+1 💚 mvninstall 5m 8s master passed
+1 💚 compile 3m 18s master passed
+1 💚 shadedjars 7m 2s branch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 29s hbase-client in master failed.
-0 ⚠️ javadoc 0m 17s hbase-zookeeper in master failed.
-0 ⚠️ javadoc 0m 46s hbase-server in master failed.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 4m 42s the patch passed
+1 💚 compile 3m 24s the patch passed
+1 💚 javac 3m 24s the patch passed
+1 💚 shadedjars 6m 50s patch has no errors when building our shaded downstream artifacts.
-0 ⚠️ javadoc 0m 28s hbase-client in the patch failed.
-0 ⚠️ javadoc 0m 18s hbase-zookeeper in the patch failed.
-0 ⚠️ javadoc 0m 43s hbase-server in the patch failed.
_ Other Tests _
+1 💚 unit 1m 9s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 17s hbase-client in the patch passed.
+1 💚 unit 0m 46s hbase-zookeeper in the patch passed.
+1 💚 unit 142m 12s hbase-server in the patch passed.
183m 43s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / 6ad73b9
Default Java 2020-01-14
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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
javadoc https://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 Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/testReport/
Max. process+thread count 3973 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/11/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache 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 <[email protected]>
Signed-off-by: Viraj Jasani <[email protected]>
Signed-off-by: Duo Zhang <[email protected]>
@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 23s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 prototool 0m 0s prototool was not available.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+0 🆗 mvndep 0m 27s Maven dependency ordering for branch
+1 💚 mvninstall 4m 3s master passed
+1 💚 checkstyle 2m 3s master passed
+1 💚 spotbugs 7m 21s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 12s Maven dependency ordering for patch
+1 💚 mvninstall 3m 56s the patch passed
+1 💚 checkstyle 0m 9s The patch passed checkstyle in hbase-protocol-shaded
+1 💚 checkstyle 0m 28s The patch passed checkstyle in hbase-client
+1 💚 checkstyle 0m 12s The patch passed checkstyle in hbase-zookeeper
+1 💚 checkstyle 1m 14s hbase-server: The patch generated 0 new + 107 unchanged - 1 fixed = 107 total (was 108)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 hadoopcheck 12m 53s Patch does not cause any errors with Hadoop 3.1.2 3.2.1.
+1 💚 hbaseprotoc 2m 26s the patch passed
+1 💚 spotbugs 8m 28s the patch passed
_ Other Tests _
+1 💚 asflicense 0m 46s The patch does not generate ASF License warnings.
54m 57s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle cc hbaseprotoc prototool
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / ebe321a
Max. process+thread count 84 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/12/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f) spotbugs=3.1.12
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 29s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for branch
+1 💚 mvninstall 3m 41s master passed
+1 💚 compile 2m 38s master passed
+1 💚 shadedjars 6m 44s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 36s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 3m 42s the patch passed
+1 💚 compile 2m 36s the patch passed
+1 💚 javac 2m 36s the patch passed
+1 💚 shadedjars 6m 47s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 1m 38s the patch passed
_ Other Tests _
+1 💚 unit 0m 47s hbase-protocol-shaded in the patch passed.
+1 💚 unit 1m 8s hbase-client in the patch passed.
+1 💚 unit 0m 44s hbase-zookeeper in the patch passed.
+1 💚 unit 161m 29s hbase-server in the patch passed.
197m 25s
Subsystem Report/Notes
Docker Client=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 Issue HBASE-24765
Optional Tests javac javadoc unit shadedjars compile
uname Linux 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 tool maven
Personality dev-support/hbase-personality.sh
git revision master / ebe321a
Default Java 1.8.0_232
Test Results https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/12/testReport/
Max. process+thread count 4306 (vs. ulimit of 12500)
modules C: hbase-protocol-shaded hbase-client hbase-zookeeper hbase-server U: .
Console output https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2130/12/console
versions git=2.17.1 maven=(cecedd343002696d0abb50b32b541b8a6ba2883f)
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

@bharathv bharathv merged commit 01cf600 into apache:master Aug 25, 2020
Sign up for free to 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