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

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

My thing was based on the fact that since we call sync(txid), it is sure that 
when a sync call comes with txid 2 then surely we will have a append with txid 
2. So that is when the sync will be called. I tested that with PE tool and 
things worked fine for me. So do you think of the case where sync() is called 
without txid?  May be I did not test that case as PE actual case is with 
sync(txid). It can atleast reduce in the number of sync calls.

> 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-v2.patch, 
> HBASE-17085-v2.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