[
https://issues.apache.org/jira/browse/BOOKKEEPER-836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jia Zhai updated BOOKKEEPER-836:
--------------------------------
Attachment: BOOKKEEPER-836-v2.patch
Thanks a lot for the comments from Flavio and Sijie.
>From my understanding, the way "progressively release old logs instead of
>waiting until the end of the process" may involve more waiting time in
>doCompactEntryLogs(), we may need more investigate and test, so not do it
>here, If possiable we could open another ticket in Jira for this way.
The changes in this new patch:
1, Added a new param to choose whether do force GC or suspend GC, when disk is
full or almost full.
2, Remove unnecessary "synchronized" in method suspend and resume GC.
> disable compaction when disk becomes full, otherwise compaction will fill up
> disk quickly
> -----------------------------------------------------------------------------------------
>
> Key: BOOKKEEPER-836
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-836
> Project: Bookkeeper
> Issue Type: Improvement
> Components: bookkeeper-server
> Affects Versions: 4.2.3
> Reporter: Jia Zhai
> Assignee: Jia Zhai
> Fix For: 4.4.0, 4.3.2
>
> Attachments: BOOKKEEPER-836-v2.patch, BOOKKEEPER-836.patch
>
>
> In doCompactEntryLogs, Entries are added to new logs, while all old logs were
> not released until the end of handling. So during the process, a lot of
> space will be used. Need to disable compaction when disk becomes full,
> otherwise compaction will fill up disk quickly.
> I would like to change old "forced garbage collection" logic, and suspend
> major compaction when it reaches warn threshold, suspend minor compaction
> when it reaches critical threshold.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)