How many document revisions are kept in CouchDB / Cloudant, and for how long?

StackOverflow https://stackoverflow.com/questions/17901147

  •  04-06-2022
  •  | 
  •  

سؤال

In CouchDB and Cloudant, when documents are changed, the database holds on to previous versions. What gets kept, and for how long?

هل كانت مفيدة؟

المحلول

Cloudant and CouchDB keep the document's metadata forever (id, rev, deleted and conflict). Document contents are deleted during compaction (automatic in Cloudant, manual in CouchDB), with one exception: in the case of a conflict, we'll keep the document contents until the conflict is resolved.

For each document, we keep the last X revisions, where X is the number returned by {username}.cloudant.com/{db}/_revs_limit, defaulting to 1000. Revisions older than the last 1000 get dropped. You can change _revs_limit by making a PUT request with a new value to that endpoint. For example:

curl -X PUT -d "1500" https://username.cloudant.com/test/_revs_limit

So, if a document is replicated to two nodes, edited 1001 times on node A, and then replicated again to node B, it will generate a conflict on node B (because we've lost the information necessary to join the old and new edit paths together).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top