[
https://issues.apache.org/jira/browse/HBASE-20417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16439476#comment-16439476
]
Duo Zhang commented on HBASE-20417:
-----------------------------------
With the '{}' operator, we can delay the concat of the strings to the place
after the isTraceEnabled check in LOG.trace, so the LOG.isTraceEnabled is not
necessary any more.
> 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)