[ 
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-order​ed 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


Reply via email to