[ 
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15662819#comment-15662819
 ] 

ramkrishna.s.vasudevan commented on HBASE-17085:
------------------------------------------------

Am just seeing your -v1 patch.
{code}
 if (!syncFutures.isEmpty()
457             && syncFutures.last().getTxid() > 
highestProcessedAppendTxidAtLastSync) {
{code}
This seems to be your fix. I can try your patch in my cluster. 
{code}
And there is no duplicated record. It is just a pipeline. 
{code}
bq.we will always issue an AsyncDFSOutput.sync after an append even if there is 
no new sync request.
True. So you mean that since append has happend only that new data will be 
again called for sync. And because of that the number of syncs may be more and 
here you plan to aggregate more. 

> AsyncFSWAL may issue unnecessary AsyncDFSOutput.sync
> ----------------------------------------------------
>
>                 Key: HBASE-17085
>                 URL: https://issues.apache.org/jira/browse/HBASE-17085
>             Project: HBase
>          Issue Type: Sub-task
>          Components: wal
>    Affects Versions: 2.0.0
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>             Fix For: 2.0.0
>
>         Attachments: HBASE-17085-v1.patch, HBASE-17085.patch
>
>
> The problem is in appendAndSync method, we will issue an  AsyncDFSOutput.sync 
> if syncFutures is not empty. The SyncFutures in syncFutures can only be 
> removed after an AsyncDFSOutput.sync comes back, so before the 
> AsyncDFSOutput.sync actually returns, we will always issue an  
> AsyncDFSOutput.sync after an append even if there is no new sync request.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to