sandeepvinayak commented on a change in pull request #3204:
URL: https://github.com/apache/hbase/pull/3204#discussion_r621867647



##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java
##########
@@ -641,8 +641,8 @@ public void removePeer(String id) {
             "and that replication on this peer may not be caught up. peerId=" 
+ id);
       }
       for (ReplicationSourceInterface toRemove : srcToRemove) {
-        toRemove.terminate(terminateMessage);
         closeQueue(toRemove);
+        toRemove.terminate(terminateMessage);

Review comment:
       `peerRemoved` was the best thing we thought of calling once we confirm 
the peer has been removed while handling `NoNodeException`. However, it's not 
doing the expected thing and doing half things. One alternative I can think of 
is having a new function other peer Removed which will be called just for this 
handling and doing the right cleanup and we can terminate the thread at the end 
of the function. 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to