[
https://issues.apache.org/jira/browse/HBASE-17085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15663473#comment-15663473
]
ramkrishna.s.vasudevan commented on HBASE-17085:
------------------------------------------------
This patch did not help me much. But how ever I can see that the sync is very
slow in catching up with the appends.
At any point of time the appends highestProcessedAppendTxid is very less than
the number of items in the syncfuture.
For eg
{code}
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33525
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33527
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33529
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33531
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33533
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33535
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33537
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33539
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33541
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33543
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33544
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33545
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33548
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33551
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33552
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33553
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33557
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33559
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33560
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33561
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33565
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33567
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33569
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33571
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33573
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33575
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33577
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33579
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33581
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33582
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33583
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33587
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33589
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33590
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33593
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33595
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33597
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33598
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33601
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33603
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33605
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33607
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33609
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33611
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33613
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33614
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33617
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33619
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33620
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33623
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33625
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33627
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33629
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33631
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33632
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33635
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33637
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33639
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33641
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33642
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33645
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33647
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33649
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33651
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33653
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33655
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33657
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33659
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33661
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33662
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33665
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33667
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33669
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33671
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33673
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33675
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33677
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33679
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33681
currenthighestProcessedAppendTxidSync 33527 doneTxid 33524 33683
{code}
currenthighestProcessedAppendTxidSync - is the current append id, doneTxid is
the highestSyncid and the last column are the items in syncFuture.
Why is that append is so slow? I was expecting atleast some what equal
clearance of the append/sync methods. So may be we have so many syncs waiting
for the append to catch up with it.
> 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)