On Mon, Jan 5, 2009 at 11:32 AM, Damien Katz <[email protected]> wrote: >> >> 1) delayed commit (what you did last night) >> 2) fsync() commit (what I suspect Couch did on and around 0.8) >> 3) optional F_FULLSYNC commit, on OS X and any other platform that >> provides this level of commit >> > > If necessary and possible, we'll patch the Erlang VM. But if a platform > doesn't support proper flushing, then it's not a platform that can support > an ACID database. >
If I follow correctly, you're saying that on OS X, 2 == 1, so we use 3 when we want to be ACID. On Linux, as far as we know, 2 will support ACID. There's only really two options, ACID commit, and delayed commit. It's up to CouchDB / Erlang / the OS to make sure that the ACID option isn't false advertising. Makes sense. > Definitely, I think commit options should be settable per-database. But for > now I was just wanting to address the slowdown, especially for replication > and the tests, to keep everyone productive. More commit features and options > is lower priority work for now, I was just addresses the most serious > slowdown. The config system is so flexible and easy to hook into, that I'm not worried about adding these settings. Should be a breeze once the software itself is settled. +1 to the whole thing. -- Chris Anderson http://jchris.mfdz.com
