On 17.02.2011 00:13, Philip Martin wrote: > Branko Čibej <br...@e-reka.si> writes: > >> In other words, use a proper crash-resistant transaction commit >> sequence, with automatic rollback as necessary. See the sqlite docs for >> a description of one way of doing this. :) > Possibly. But that probably introduces an overhead that is entirely > pointless in most cases. This problem can only occur with mod_dav_svn > used through a proxy. So I was thinking that a near-zero overhead > solution is to have mod_dav_svn associate some sort of process ID with > the transaction (in something like the the activity database) and have > mod_dav_svn itself fail the commit if the process ID changes. The > problem can only occur when the process ID changes and for the majority > of commits that will not happen.
You still need a mechanism that will (effectively) roll back a partially-written transaction, don't you? And I expect only FSFS has this problem, whilst BDB does not? (Hmm ... activity database ... doesn't that have guaranteed commit on write behaviour anyway?) -- Brane