[
https://issues.apache.org/jira/browse/COUCHDB-1373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178201#comment-13178201
]
Bob Dionne commented on COUCHDB-1373:
-------------------------------------
Nick,
looks pretty good. There's still a trailing whitespace error in
default.ini.tpl.in There are git commands for catching those and/or you can set
emacs to correct those on save or whatever. I'm not sure also about putting
machine_id in the uuids section, in fact it we're going to have it in the ini
then it doesn't even need to be "machine_id" it could be "id_suffix". Just a
thought.
We use etap [1] for testing, among other things. In test/etap you can see the
tests. Attached is a patch that extends 041-uuid-gen.t for your new case.
Cheers,
Bob
[1] https://github.com/ngerakines/etap
> Time-ordered document ids including the database identity
> ----------------------------------------------------------
>
> Key: COUCHDB-1373
> URL: https://issues.apache.org/jira/browse/COUCHDB-1373
> Project: CouchDB
> Issue Type: Improvement
> Components: Database Core
> Reporter: Nick North
> Priority: Minor
> Labels: uuid
> Attachments: couch_uuids.patch, utc_machine_id.patch
>
>
> This suggestion is for an enhancement to the document id generation
> algorithms in CouchDb. I am new to CouchDb, and this question addresses an
> old issue (https://issues.apache.org/jira/browse/COUCHDB-465) so please
> forgive me if I am retreading old ground.
> My application has a number of mutually replicating CouchDb instances and I
> would like document ids to be monotonically-increasing per-instance, and
> globally unique, and for the instance where the document was created to be
> determinable from the id. (To be more accurate - I don't need to know
> anything about the instance itself; just whether any two documents originated
> from the same instance.) The utc_random algorithm is not far from meeting
> these requirements, as ids are monotonic and almost certainly globally
> unique. However, the instance cannot be determined from the id, and there is
> a tiny chance of an id clash between two instances. Both of these issues
> could be solved if the random part of the id could be replaced with a suffix
> that is fixed in the ini file for each instance.
> To address this I have a modified version of couch_uuids.erl introducing a
> new utc_machine_id algorithm which reads a machine_id string from the ini
> file and then generates ids using an internal utc_suffix method that just
> appends the string to the usual utc 14-byte string. utc_random then also uses
> the utc_suffix method, but its suffix is the usual random byte string.
> However, it is obviously a nuisance to have to maintain a non-standard
> distribution, so I wondered if there is enough call for this sort of thing to
> make it a part of the standard distribution? If there is, I'd be very happy
> to make my code available for discussion/modification/inclusion. If there are
> good reasons why this is a bad idea, then I'd also be very interested to hear
> them so that I can rethink my ideas. (It happens that the privacy and
> guessability concerns raised in the original discussion do not apply in my
> case.) If this question has been beaten to death, then I'm sorry for
> bothering the group, and would be grateful if someone could point me to the
> discussions so that I can understand the issues.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira