CouchDB works like this to have the least impact possible on clients, the database remains online and fully functional to readers and writers. Yes, its a design limitation that database compaction can't complete when at capacity for write load, however I don't think its unreasonable to schedule compactions during off-peak hours either. As you point out, in a clustered environment the write load can switched off for any node during compaction and brought back up to date with replication once complete.

In the future, a single couchdb node can be changed to stop or fail other updates if the write load is too heavy for it to complete in a reasonable time.

On Jun 12, 2008, at 2:41 PM, Сергей Курцев wrote:

Hello, Damien.

Thanks for clearing that out. But according to your, I assume that
CouchDB may run on high-loaded servers in future. That means that the
only way to compact database on write-heavy systems is when using
several replicated CouchDB servers. We then should stop serving requests by the specific CouchDB while others continue with replicated copies and
proceed with compact.

Not sure that this is the best way, but it shall work. But on the single
running copy of CouchDB it still may be a problem, I guess.




Reply via email to