You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by "Mayya Sharipova (JIRA)" <ji...@apache.org> on 2017/03/02 17:08:45 UTC

[jira] [Created] (COUCHDB-3315) Introduce randomness to initial revisions of docs

Mayya Sharipova created COUCHDB-3315:
----------------------------------------

             Summary: Introduce randomness to initial revisions of docs
                 Key: COUCHDB-3315
                 URL: https://issues.apache.org/jira/browse/COUCHDB-3315
             Project: CouchDB
          Issue Type: Improvement
          Components: Database Core
            Reporter: Mayya Sharipova


This ticket is for couch 3.0 to add randomness to the initial revision of any doc with an option to specify that random value in the API by a user.

While a goal for COUCHDB-3314 is to allow a user to supply a random initial revision for a doc through API when desired and if not supplied a deterministic {0, <<>>} will be used for all docs;  the goal of this ticket is to make initial revisions of all docs to be random. This is done to account for situations when a document is continually purged and recreated.

This change does affect one specific behavior. Any user that currently sends identical writes to two independent databases and then replicates between those databases would see conflicts whenever they create a new database. The downside of this change is that there's a use case where someone may make the same exact writes to two or more databases and expect there to be no conflicts due to replication.

It is important to note that the 0-$rev only affects document creation. Once
a document exists, updates to the document will continue to update their hash in the same deterministic fashion. Ie, once a document exists, identical
updates will result in identical revisions.

________________
Changes to code:
Swap the logic in new_revid to produce random revisions for the initial creation
 {0, <<>>} which it is now, we'll replace it with randomness the <<>> binary bit



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)