You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2018/04/14 07:23:00 UTC

[jira] [Created] (HBASE-20417) Do not read wal entries when peer is disabled

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)