Duo Zhang created HBASE-20417:
---------------------------------

             Summary: Do not read wal entries when peer is disabled
                 Key: HBASE-20417
                 URL: https://issues.apache.org/jira/browse/HBASE-20417
             Project: HBase
          Issue Type: Sub-task
          Components: Replication
            Reporter: Duo Zhang


Now, the disabled check is in ReplicationSourceShipper. If peer is disabled, 
then we will not take entry batch from ReplicationSourceWALReader. But 
ReplicationSourceWALReader will keep reading wal entries until the buffer is 
full.

For serial replication, the canPush check is in ReplicationSourceWALReader, so 
even when we disabled the peer during the modification for a serial peer, we 
could still run into the SerialReplicationChecker. Theoretically there will be 
no problem, since in the procedure we will only update last pushed sequence ids 
to a greater value. If canPush is true then a greater value does not make any 
difference, if canPush is false then we are still safe since the 
ReplicationSourceWALReader will be blocked.

But this still makes me a little nervous, and also, it does not make sense to 
still read wal entries when the peer is disabled. So let's change the behavior.



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

Reply via email to