Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
2018-06-04 10:28:43,362 INFO [ReplicationExecutor-0] replication.ZKReplicationQueueStorage(432): Claim queue queueId=1 from hao-optiplex-7050,38491,1528079278158 to hao-optiplex-7050,39931,1528079278272 failed with org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode, someone else took the log?
Exception in thread "ReplicationExecutor-0" java.lang.NullPointerException
at org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager$NodeFailoverWorker.run(ReplicationSourceManager.java:858)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
ZKReplicationQueueStorage's claimQueue method may return null when got NoNodeException.
Pair<String, SortedSet<String>> peer = queueStorage.claimQueue(deadRS, queues.get(ThreadLocalRandom.current().nextInt(queues.size())), server.getServerName()); long sleep = sleepBeforeFailover / 2; if (!peer.getSecond().isEmpty()) { newQueues.put(peer.getFirst(), peer.getSecond()); sleep = sleepBeforeFailover; }