[ 
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)

Reply via email to