[ https://issues.apache.org/jira/browse/HBASE-20417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16439477#comment-16439477 ]
Guanghao Zhang commented on HBASE-20417: ---------------------------------------- Got it. +1. > 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 > Assignee: Duo Zhang > Priority: Major > Fix For: 3.0.0, 2.1.0 > > Attachments: HBASE-20417-v1.patch, 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)