couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <kocol...@apache.org>
Subject format of database sequence
Date Tue, 26 Oct 2010 18:59:50 GMT
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


Mime
View raw message