Stefan Fuhrmann <stefan.fuhrm...@wandisco.com> writes: > The solution seems to be to simply destroy the txn_dir_cache > instance at the begin of the commit. That comes at some extra > cost but that is still proportional to the size of the commit.
There would be no cost to mod_dav_svn since the txn_dir_cache is already NULL when handling MERGE. There would be a cost to svn:// and file://. > The only sequence that would get us into real trouble is > > thread / process A: modify txn > thread / process B: modify txn > thread / process A: modify txn (via same fs_t as before) > > Since A won't re-read the directory contents and may therefore > return "path not found" errors or miss earlier modifications to a > given node / sub-tree and use a new copy for the following mods. > But I guess we don't support that sequence at all. We don't support it right now because it doesn't work, but do we want it to work? fs-test 44 is the new test I wrote: it FAILS for FSFS but is a PASS for BDB and FSX. It is also a PASS for 1.6 FSFS. -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*