Daniel Shahaf wrote on Sun, Mar 18, 2012 at 16:28:21 +0200: > [ cc += dev@. summary for dev@: investigating issue #4129: predecessor > count of rN is not incremented by one wrt that of r(N-1); see > http://subversion.tigris.org/issues/show_bug.cgi?id=4129 ]
Okay, count me happy :-) I can reproduce this: [[[ $SVN ps svn:mergeinfo '/branch/A:2' wc1/trunk/A $SVN ps svn:mergeinfo '/branch/iota:2' wc2/trunk/iota $SVN mkdir wc1/foo $SVN mkdir wc2/bar $svn ci -mm wc1 & $svn ci -mm wc2 & wait ]]] Output: [[[ Adding wc1/foo Sending wc1/trunk/A Adding wc2/bar Sending wc2/trunk/iota Committed revision 2. subversion/svn/commit-cmd.c:183: (apr_err=160004) subversion/libsvn_client/commit.c:876: (apr_err=160004) subversion/libsvn_client/commit.c:876: (apr_err=160004) svn: E160004: Commit failed (details follow): subversion/libsvn_ra_serf/commit.c:2216: (apr_err=160004) subversion/libsvn_ra_serf/commit.c:2216: (apr_err=160004) subversion/libsvn_ra_serf/commit.c:2216: (apr_err=160004) subversion/libsvn_ra_serf/util.c:774: (apr_err=160004) subversion/libsvn_ra_serf/util.c:2087: (apr_err=160004) subversion/libsvn_ra_serf/util.c:2087: (apr_err=160004) subversion/libsvn_ra_serf/util.c:920: (apr_err=160004) svn: E160004: predecessor count for the root node-revision is wrong: found (2+1 != 2), committing r3 ]]] Error log: [[[ [Mon Mar 19 14:19:41.388413 2012] [dav:error] [pid 17156:tid 3064073072] [client ::1:40969] Could not MERGE resource "/t/r1/!svn/txn/1-2" into "/t/r1". [409, #0] [Mon Mar 19 14:19:41.388497 2012] [dav:error] [pid 17156:tid 3064073072] [client ::1:40969] An error occurred while committing the transaction. [409, #160004] [Mon Mar 19 14:19:41.388518 2012] [dav:error] [pid 17156:tid 3064073072] [client ::1:40969] predecessor count for the root node-revision is wrong: found (2+1 != 2), committing r3 [409, #160004] [Mon Mar 19 14:19:42.024052 2012] [authz_core:debug] [pid 17156:tid 3055680368] mod_authz_core.c(783): [client ::1:40971] AH01626: authorization result of Require all granted: granted [Mon Mar 19 14:19:42.024114 2012] [authz_core:debug] [pid 17156:tid 3055680368] mod_authz_core.c(783): [client ::1:40971] AH01626: authorization result of <RequireAny>: granted [Mon Mar 19 14:19:42.024781 2012] [dav:error] [pid 17156:tid 3055680368] [client ::1:40971] Could not fetch resource information. [404, #0] [Mon Mar 19 14:19:42.024820 2012] [dav:error] [pid 17156:tid 3055680368] [client ::1:40971] Named transaction doesn't exist. [404, #0] ]]] Using another property, or omitting either propset, is enough to cause the bug not to trigger. The bug reproduced both with and without the following patch: [[[ --- subversion/libsvn_fs_fs/tree.c (revision 1301511) +++ subversion/libsvn_fs_fs/tree.c (working copy) @@ -1 +1,2 @@ +#include <unistd.h> /* tree.c : tree-like filesystem, built on DAG filesystem @@ -1701 +1702,2 @@ svn_fs_fs__commit_txn(const char **conflict_p, + sleep(3); err = svn_fs_fs__commit(new_rev, fs, txn, iterpool); @@ -1729,3 +1731,4 @@ svn_fs_fs__commit_txn(const char **conflict_p, cleanup: + sleep(3); svn_fs_fs__reset_txn_caches(fs); ]]] The bug reproduced with either "ServerLimit 1" or "ThreadLimit 1" in httpd.conf. (That forced both commits to be served by the same process (resp., by different processes).) I use httpd 2.4.1 with event MPM.