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

Sijie Guo commented on BOOKKEEPER-564:
--------------------------------------

I don't see how coupling as you said. a consistent state of ledger storage, 
mark/checkpoint and journal file state (gc files ) are all controlled by bookie 
(SyncThread):

1) SyncThread ask ledger storage to persist all the data added before a 
mark/checkpoint by calling LedgerStorage#checkpoint
2) after LedgerStorage finished persisting all the data, SyncThread tells 
journal that it is safe to gc all the journal entries before that 
mark/checkpoint.

the ledger storage does nothing on this above flow, which just tell SyncThread: 
"hey, I am dirty enough and it might be the time to do a checkpoint, which 
reduces recovery time facing failure".
                
> Better checkpoint mechanism
> ---------------------------
>
>                 Key: BOOKKEEPER-564
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-564
>             Project: Bookkeeper
>          Issue Type: Improvement
>          Components: bookkeeper-server
>            Reporter: Sijie Guo
>            Assignee: Sijie Guo
>             Fix For: 4.3.0
>
>         Attachments: 0001-BOOKKEEPER-564-Better-checkpoint-mechanism.patch, 
> 0001-BOOKKEEPER-564-Better-checkpoint-mechanism.patch, 
> 0002-BOOKKEEPER-564-Better-checkpoint-mechanism.patch, BOOKKEEPER-564.patch, 
> BOOKKEEPER-564.patch
>
>
> Currently, SyncThread made a checkpoint too frequently, which affects 
> performance. data is writing to entry logger file might be blocked by syncing 
> same entry logger file, which affect bookie to achieve higher throughput. We 
> could schedule checkpoint only when rotating an entry log file. so new 
> incoming entries would be written to newer entry log file and old entry log 
> file could be synced.

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

Reply via email to