[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: 'svnadmin recover' with FSFS revprop packing: edge case bug

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Mon, 1 Feb 2010 19:38:24 +0200 (Jerusalem Standard Time)

I've filed this as issue #3571:
http://subversion.tigris.org/issues/show_bug.cgi?id=3571

Patches welcome...

Daniel

Daniel Shahaf wrote on Sun, 31 Jan 2010 at 00:00 +0200:
> fs_fs.c:recover_body() needs to be taught that the youngest revision
> does not necessarily have a revprop file. The following repository
> demonstrates the bug:
>
> % cat db/format
> 5
> layout sharded 4
> % cat db/current
> 3
> % find db/rev*
> db/revprops
> db/revprops/revprops.db
> db/revs
> db/revs/0.pack
> db/revs/0.pack/manifest
> db/revs/0.pack/pack
> % svnadmin recover ./
> Repository lock acquired.
> Please wait; recovering the repository may take some time...
> subversion/libsvn_repos/repos.c:1740: (apr_err=160004)
> subversion/libsvn_fs_fs/fs_fs.c:606: (apr_err=160004)
> subversion/libsvn_fs_fs/fs_fs.c:6780: (apr_err=160004)
> svnadmin: Revision 3 has a revs file but no revprops file
> %
>
> I created the repository as follows:
>
> % svnadmin create r
> % sed -i 2s/1000/4/ r/db/format
> % for i in 1 2 3; do svn mkdir file://`pwd`/r/$i -mr$i; done
>
> Found by: svnadmin_tests 13, when built with
> -DSVN_FS_FS_DEFAULT_MAX_FILES_PER_DIR=4 and -DPACK_AFTER_EVERY_COMMIT.
>
> Daniel
>
Received on 2010-02-01 18:38:40 CET

This is an archived mail posted to the Subversion Dev mailing list.