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:
       calling `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