[ 
https://issues.apache.org/jira/browse/HBASE-21441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16676798#comment-16676798
 ] 

Duo Zhang commented on HBASE-21441:
-----------------------------------

The fix is simple, the most important thing is the UT. Without the fix in 
Replication class, the transition to DA will hit the NPE issue in the 
description and can not finish.

> NPE if RS restarts between REFRESH_PEER_SYNC_REPLICATION_STATE_ON_RS_BEGIN 
> and TRANSIT_PEER_NEW_SYNC_REPLICATION_STATE
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-21441
>                 URL: https://issues.apache.org/jira/browse/HBASE-21441
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Replication
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: HBASE-21441.patch
>
>
> {noformat}
> 2018-11-06,12:55:25,980 WARN 
> [RpcServer.default.FPBQ.Fifo.handler=251,queue=11,port=17100] 
> org.apache.hadoop.hbase.master.replication.RefreshPeerProcedure: Refresh peer 
> TestPeer for TRANSIT_SYNC_REPLICATION_STATE on 
> c4-hadoop-tst-st54.bj,17200,1541479922465 failed
> java.lang.NullPointerException via 
> c4-hadoop-tst-st54.bj,17200,1541479922465:java.lang.NullPointerException: 
>       at 
> org.apache.hadoop.hbase.procedure2.RemoteProcedureException.fromProto(RemoteProcedureException.java:124)
>       at 
> org.apache.hadoop.hbase.master.MasterRpcServices.lambda$reportProcedureDone$4(MasterRpcServices.java:2303)
>       at java.util.ArrayList.forEach(ArrayList.java:1249)
>       at 
> java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
>       at 
> org.apache.hadoop.hbase.master.MasterRpcServices.reportProcedureDone(MasterRpcServices.java:2298)
>       at 
> org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$2.callBlockingMethod(RegionServerStatusProtos.java:13149)
>       at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)
>       at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)
>       at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
>       at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
> Caused by: java.lang.NullPointerException: 
>       at 
> org.apache.hadoop.hbase.wal.SyncReplicationWALProvider.peerSyncReplicationStateChange(SyncReplicationWALProvider.java:303)
>       at 
> org.apache.hadoop.hbase.replication.regionserver.PeerProcedureHandlerImpl.transitSyncReplicationPeerState(PeerProcedureHandlerImpl.java:216)
>       at 
> org.apache.hadoop.hbase.replication.regionserver.RefreshPeerCallable.call(RefreshPeerCallable.java:74)
>       at 
> org.apache.hadoop.hbase.replication.regionserver.RefreshPeerCallable.call(RefreshPeerCallable.java:34)
>       at 
> org.apache.hadoop.hbase.regionserver.handler.RSProcedureHandler.process(RSProcedureHandler.java:47)
>       at 
> org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to