couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Cottlehuber (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-1576) Allow deletions to expire after set time
Date Thu, 25 Oct 2012 08:18:12 GMT


Dave Cottlehuber commented on COUCHDB-1576:

Thanks Michel for reporting this. This is a consequence of using MVCC to enable straightforward
replication and conflict handling API.

Are you aware of _revs_limit, a per-DB setting? It's not time-based but during compaction
and replication this is taken into account:

Compaction is the way to recover that space, and for very active DBs the typical approach
is to use a transactional DB and:
- either rotate them on a regular basis
- or aggregate to a separate metrics DB and re-create a fresh / empty DB regularly.

Is there an actual issue or barrier you're running into that won't be addressed by either
compaction, or the transactional DB pattern?

> Allow deletions to expire after set time
> ----------------------------------------
>                 Key: COUCHDB-1576
>                 URL:
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Database Core
>    Affects Versions: 1.2
>            Reporter: Michel Meyers
> Currently, CouchDB keeps all deletions forever. On a very active database this can lead
to the number of deletions actually exceeding the number of active documents.
> Lotus Domino solves this by having a cut-off date after which deletion stubs are purged
from a replica. It would be great to have a similar functionality in CouchDB, e.g. have a
setting that determines how long deletion stubs are kept and then purges them from the local
copy. Whether this setting resides in the DB design, and thus replicates everywhere, or possibly
an INI setting for the local CouchDB instance is still to be determined.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message