[ https://issues.apache.org/jira/browse/HBASE-20417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Duo Zhang updated HBASE-20417: ------------------------------ Attachment: HBASE-20417.patch > 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 > Priority: Major > Attachments: HBASE-20417.patch > > > 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)