hangc0276 commented on PR #4381: URL: https://github.com/apache/bookkeeper/pull/4381#issuecomment-2131901725
> > I am rather indifferent about the change. There was an attempt in the to implement something similar: #851 > > It was abandoned, as I remember, because the company where the author worked had chosen to use REST API and cron to run enable/disable compaction. > > So you already can disable the compaction on schedule just not via bookie configuration. > > I'd support a mechanism that would dynamically pause/resume major/minor compaction if the load on bookie is high (e.g. as tracked by pending requests or request queue latency) if the disk space is enough. > > To support dynamically pause/resume major/minor compaction, we need to introduce two interface: > > * `LoadStatCollector` collect the load stat for other modules. > * `CompactionStrategy` decide whether do compaction based on load and any other stats, conf. > WDYT @dlg99 @eolivelli @shoothzj @thetumbled suspend and resume compaction based on load will make the system more complex and hard to configure a reasonable threshold. Moreover, if we debug the removed ledger not cleaned up, it's hard to explain why the compaction service was suspended. To reduce the compaction impact in bookie service, we can: - Introduce accurate throttle for compaction service - Avoid or suspend the compaction service in high-traffic time -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
