[
https://issues.apache.org/jira/browse/BOOKKEEPER-827?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
zhaijia updated BOOKKEEPER-827:
-------------------------------
Attachment: BOOKKEEPER-827-v3.patch
Hi Sijie and Ivan, Thanks a lot for your comments.
Updated with a new patch BOOKKEEPER-827-v3.patch, in this patch, only keeped
CompactionRateByBytes, for backward compatibility concern, the default value
for isThrottleByBytes is false.
> change throttle in GarbageCollector to use either "by entry" or "by byte"
> -------------------------------------------------------------------------
>
> Key: BOOKKEEPER-827
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-827
> Project: Bookkeeper
> Issue Type: Improvement
> Components: bookkeeper-server
> Affects Versions: 4.3.0
> Reporter: zhaijia
> Assignee: zhaijia
> Fix For: 4.4.0
>
> Attachments: BOOKKEEPER-827-v2.patch, BOOKKEEPER-827-v3.patch
>
>
> Current bookie compaction in GarbageCollector has two settings:
> 'compactionMaxOutstandingRequests' and 'compactionRate'. They are throttling
> and limiting the compaction by entries.
> But from a bandwidth perspective, it would be good that we could throttle and
> limit compaction by bytes, which would really reflect the bandwidth of disk.
> So in this enhancement, we added another "by bytes" option when doing
> compaction in GarbageCollector:
> "boolean isThrottleByBytes": true when use by bytes, false when use by
> entries;
> "int maxOutstandingRequests": by entries, number of entries before flush;
> "int compactionRateByEntries": by entries, number of concurrent entries;
> "int maxOutstandingRequestsBytes: by bytes, number of bytes that entries have
> occupied before flush.
> "int compactionRateByBytes": by bytes, number of bytes of entries before
> flush.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)