[
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