[
https://issues.apache.org/jira/browse/HBASE-19925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16351388#comment-16351388
]
Duo Zhang commented on HBASE-19925:
-----------------------------------
I think we should rewrite the get peerClusterId part, for now it is a bit
complicated as you add another check...
{code}
if (!this.isSourceActive()) {
return;
}
sleepMultiplier = 1;
// delay this until we are in an asynchronous thread
while (this.isSourceActive() && this.peerClusterId == null) {
this.peerClusterId = replicationEndpoint.getPeerUUID();
if (this.isSourceActive() && this.peerClusterId == null) {
if (sleepForRetries("Cannot contact the peer's zk ensemble",
sleepMultiplier)) {
sleepMultiplier++;
}
}
}
{code}
Change to
{code}
sleepMultiplier = 1;
for (;;) {
peerClusterId = XXX;
if (peerClusterId != null) {
break;
}
if (!isSourceActive()) {
return;
}
sleep();
}
{code}
What do you think?
Thanks.
> Delete an unreachable peer will triggers all regionservers abort
> ----------------------------------------------------------------
>
> Key: HBASE-19925
> URL: https://issues.apache.org/jira/browse/HBASE-19925
> Project: HBase
> Issue Type: Bug
> Reporter: Yun Zhao
> Assignee: Yun Zhao
> Priority: Critical
> Attachments: HBASE-19925.master.001.patch
>
>
> Add an unreachable peer
> {code:java}
> add_peer '4', CLUSTER_KEY => "server1.cie.com:2181:/hbase"{code}
> After a while to delete it,Regionserver will appear in the following log and
> stop.
> {code:java}
> 2018-02-02 20:04:25,959 INFO [main-EventThread.replicationSource,4]
> regionserver.ReplicationSource: Replicating
> 5467de52-dc46-45be-902c-110dd7a83e06 -> null
> 2018-02-02 20:04:25,960 ERROR
> [main-EventThread.replicationSource,4.replicationSource.xxxx.com%2C16020%2C1515498473547.default,4]
> regionserver.ReplicationSource: Unexpected exception in
> ReplicationSourceWorkerThread, currentPath=null
> java.lang.IllegalArgumentException: Peer with id= 4 is not connected
> at
> org.apache.hadoop.hbase.replication.ReplicationPeersZKImpl.getStatusOfPeer(ReplicationPeersZKImpl.java:207)
> at
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource.isPeerEnabled(ReplicationSource.java:327)
> at
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:512)
> 2018-02-02 20:04:25,960 INFO
> [main-EventThread.replicationSource,4.replicationSource.xxxx.com%2C16020%2C1515498473547.default,4]
> regionserver.HRegionServer: STOPPED: Unexpected exception in
> ReplicationSourceWorkerThread{code}
>
> HBase 1.2.6
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)