[
https://issues.apache.org/jira/browse/HBASE-20417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16439469#comment-16439469
]
Guanghao Zhang commented on HBASE-20417:
----------------------------------------
Why remove "if(LOG.isTranceEnabled)"?
> 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)