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]

Reply via email to