Skip to content

Conversation

@bharathv
Copy link
Contributor

Currently we just track whether an active master exists.
It helps to also track the address of the active master in
all the masters to help serve the client RPC requests to
know which master is active.

Signed-off-by: Nick Dimiduk [email protected]
Signed-off-by: Andrew Purtell [email protected]
(cherry picked from commit efebb84)

This patch implements a simple cache that all the masters
can lookup to serve cluster ID to clients. Active HMaster
is still responsible for creating it but all the masters
will read it from fs to serve clients.

RPCs exposing it will come in a separate patch as a part of
HBASE-18095.

Signed-off-by: Andrew Purtell <[email protected]>
Signed-off-by: Wellington Chevreuil <[email protected]>
Signed-off-by: Guangxu Cheng <[email protected]>
(cherry picked from commit c2e01f2)
…ache#812)

Currently we just track whether an active master exists.
It helps to also track the address of the active master in
all the masters to help serve the client RPC requests to
know which master is active.

Signed-off-by: Nick Dimiduk <[email protected]>
Signed-off-by: Andrew Purtell <[email protected]>
(cherry picked from commit efebb84)
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 11s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 2 new or modified test files.
_ branch-2 Compile Tests _
+1 💚 mvninstall 5m 56s branch-2 passed
+1 💚 compile 0m 57s branch-2 passed
+1 💚 checkstyle 1m 17s branch-2 passed
+1 💚 shadedjars 4m 38s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 0m 41s branch-2 passed
+0 🆗 spotbugs 3m 30s Used deprecated FindBugs config; considering switching to SpotBugs.
+1 💚 findbugs 3m 28s branch-2 passed
_ Patch Compile Tests _
+1 💚 mvninstall 5m 26s the patch passed
+1 💚 compile 0m 59s the patch passed
+1 💚 javac 0m 59s the patch passed
+1 💚 checkstyle 1m 14s hbase-server: The patch generated 0 new + 106 unchanged - 6 fixed = 106 total (was 112)
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 shadedjars 4m 41s patch has no errors when building our shaded downstream artifacts.
+1 💚 hadoopcheck 17m 4s Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
+1 💚 javadoc 0m 36s the patch passed
+1 💚 findbugs 3m 40s the patch passed
_ Other Tests _
-1 ❌ unit 165m 0s hbase-server in the patch failed.
+1 💚 asflicense 0m 27s The patch does not generate ASF License warnings.
224m 8s
Reason Tests
Failed junit tests hadoop.hbase.client.TestAsyncTableGetMultiThreaded
Subsystem Report/Notes
Docker Client=19.03.5 Server=19.03.5 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1096/1/artifact/out/Dockerfile
GITHUB PR #1096
JIRA Issue HBASE-23275
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux 3474081bae23 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:28 UTC 2019 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-slave/workspace/Base-PreCommit-GitHub-PR_PR-1096/out/precommit/personality/provided.sh
git revision branch-2 / e0f9133
Default Java 1.8.0_181
unit https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1096/1/artifact/out/patch-unit-hbase-server.txt
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1096/1/testReport/
Max. process+thread count 4823 (vs. ulimit of 10000)
modules C: hbase-server U: hbase-server
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1096/1/console
versions git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered by Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

import org.apache.zookeeper.KeeperException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this show up as a checkstyle nit?

Copy link
Contributor

Choose a reason for hiding this comment

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

I guess it doesn't, never mind...

private ClusterId clusterId;

// cache stats for testing.
private AtomicInteger cacheMisses = new AtomicInteger(0);
Copy link
Contributor

Choose a reason for hiding this comment

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

Same comment as per the master version of this change: A bit wasteful just for a unit test? Nit

while (fetchInProgress.get()) {
// We don't want the fetches to block forever, for example if there are bugs
// of missing notifications.
fetchInProgress.wait(MAX_FETCH_TIMEOUT_MS);
Copy link
Contributor

Choose a reason for hiding this comment

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

Oh forgot to mention this while looking at the master patch. You will miss the notification for sure if the Preconditions check above throws an exception. Doesn't seem wrong, just thought I'd mention it.

@bharathv
Copy link
Contributor Author

Will be merged as a part of #1098

@bharathv bharathv closed this Jan 29, 2020
@bharathv bharathv deleted the HBASE-23275-actual-branch-2 branch January 29, 2020 00:46
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.

3 participants