Seems mostly reasonable. The only thing I'd add is that if we're
looking to implement #1 I'd assume we'd reuse or at least rework the
old compaction daemon code which makes me think that #3 would be
trivial to support?

On Fri, Sep 6, 2019 at 8:25 AM Adam Kocoloski <kocol...@apache.org> wrote:
>
> Hi all,
>
> CouchDB 3.0 will feature a new, smarter auto-compaction daemon with the 
> following key features:
>
> - continuous re-prioritization of compaction queues based on estimated space 
> savings
> - fine-grained control over compaction “channels” to independently prioritize 
> different types of jobs (large databases, small views, etc.)
> - QoS capabilities: compaction I/O is executed at low priority by default, 
> but admins can can reprioritize as needed
>
> However, there are a few gaps compared to the daemon in 2.x:
>
> 1. no ability to configure compaction to only run during specific time 
> intervals
> 2. no ability to specify compaction thresholds for specific databases
> 3. incompatible configuration system; users who have customized their 
> auto-compaction configuration in 2.x will need to redo their configuration in 
> 3.0
>
> I have those gaps ordered in what I’d consider to be the priority. I think we 
> should try to address #1 before 3.0 as I’m sure many DBAs have grown 
> accustomed to compacting during quiet hours and could be forgiven if they 
> don’t trust our fancy QoS to keep things healthy on Day 1. I can see where #2 
> could be a nice enhancement but I’m OK to wait for user feedback on that one. 
> #3 I’m content to solve with a migration guide in the documentation.
>
> Does that plan make sense to everyone?
>
> Adam

Reply via email to