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