couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Samuel Newson <rnew...@apache.org>
Subject [DISCUSS] couchdb 4.0 transactional semantics
Date Mon, 13 Jul 2020 18:05:48 GMT
Hi All,

I'm concerned to see the restart_fold function in fabric2_fdb (https://github.com/apache/couchdb/blob/prototype/fdb-layer/src/fabric/src/fabric2_fdb.erl#L1828)
in the 4.0 development branch.

The upshot of doing this is that a CouchDB response could be taken across multiple snapshots
of the database, which is not the behaviour of CouchDB 1 through 3.

I don't think this is ok (with the obvious and established exception of a continuous changes
feed, where new snapshots are continuously visible at the end of the response).

FoundationDB imposes certain limits on transactions, the most notable being the 5 second maximum
duration. I understand that automatically resetting the FDB txn during a response is an attempt
to work around that and maintain "compatibility" with CouchDB < 4 semantics. I think it
fails to do so and is very misleading.

Discuss.

B.


Mime
View raw message