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

Ivan Kelly commented on BOOKKEEPER-235:
---------------------------------------

InterleavedLedgerStorage#flush was syncing on the entrylogger to ensure that 
only #flush was not called concurrently. It was something i introduced in 
BOOKKEEPER-196 as an extra check even though it was only called by SyncThread. 
I didn't realize at the time that EntryLogger#addEntry was also synchronized. 
Because of this, each call to #addEntry from the bookie thread would block the 
sync block of #flush in the sync thread.
                
> Bad syncing in entrylogger degrades performance for many concurrent ledgers
> ---------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-235
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-235
>             Project: Bookkeeper
>          Issue Type: Bug
>            Reporter: Ivan Kelly
>            Assignee: Ivan Kelly
>            Priority: Blocker
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-235.diff
>
>
> EntryLogger flush syncs on the wrong object, which really hurts performance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to