Hi all, I've been meaning to bring this up for a while.  CouchDB uses integer 
sequence numbers in the _changes feed and update_seq values, but I don't see 
any sensible way to preserve that interface in BigCouch.  The database sequence 
in BigCouch needs to combine the sequences of several database shards; 
currently it's a string formatted like

"1234-Base64Data"

The first piece is the sum of the shard sequence numbers and is not actually 
used by BigCouch.  The second piece is the actual data about the state of the 
cluster.  This format causes a couple of issues:

1) the replicator occasionally sorts sequence numbers and when it does so, it 
sorts the BigCouch ones lexicographically and concludes that e.g. "99-..." is 
the only checkpoint it will ever need to store.

2) client libraries might not treat the sequence as an opaque data type and may 
break when operating against a BigCouch.

My personal preference would be to change the format of the Apache CouchDB 
sequence to a string at the next major release.  Thoughts?

Adam

Reply via email to