[
https://issues.apache.org/jira/browse/HBASE-20678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang updated HBASE-20678:
------------------------------
Fix Version/s: 3.0.0-alpha-1
> NPE in ReplicationSourceManager#NodeFailoverWorker
> --------------------------------------------------
>
> Key: HBASE-20678
> URL: https://issues.apache.org/jira/browse/HBASE-20678
> Project: HBase
> Issue Type: Bug
> Reporter: Guanghao Zhang
> Assignee: Guanghao Zhang
> Priority: Minor
> Fix For: 3.0.0-alpha-1, 2.1.0
>
> Attachments: HBASE-20678.master.001.patch,
> HBASE-20678.master.002.patch, HBASE-20678.master.003.patch
>
>
> 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.
> {code:java}
> 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;
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)