You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Sijie Guo (JIRA)" <ji...@apache.org> on 2013/06/29 03:32:20 UTC

[jira] [Commented] (BOOKKEEPER-604) Ledger storage can log an exception if GC happens concurrently.

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

Sijie Guo commented on BOOKKEEPER-604:
--------------------------------------

I don't think the fix is right. the case would not happen at that place that the patch tried to fix, since it is protected under a synchronized block.

the race could only happen after it got the firstEntryList and started to flush and deleteLedger kicked in. I think a simple fix is we should call getFileInfo once and use this fileInfo acrossing the flush period and release it only after flushing is done.


                
> Ledger storage can log an exception if GC happens concurrently.
> ---------------------------------------------------------------
>
>                 Key: BOOKKEEPER-604
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-604
>             Project: Bookkeeper
>          Issue Type: Bug
>            Reporter: Ivan Kelly
>             Fix For: 4.3.0
>
>         Attachments: BOOKKEEPER-604.diff
>
>
> If a ledger is flushing, and part way through,GC kicks in, it can delete the index file before we try and flush it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira