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

Re: Update from post-commit hook

From: Dominic Anello <danello_at_danky.com>
Date: 2005-11-15 20:04:11 CET

On 2005-11-15 08:05:55 -0700, Mark Parker wrote:
> Ryan Schmidt wrote:
> >It should be ok, but I would recommend using a file:/// checkout
> >instead because it will be faster. Make sure you have a FSFS
> >repository, as BDB repositories have problems with concurrent access
> >over different protocols.
>
> No, BDB doesn't have problems with multiple access methods (or at least
> any problems that FSFS doesn't have). You run into problems when process
> A creates files in the repository (usually logs for BDB) that are
> unreadable/unwriteable for process B. This is (as far as I understand)
> MORE likely to happen with FSFS, because EVERY COMMIT is GUARANTEED to
> create one or more new files in the repository, while BDB logfiles are
> only created when the last one fills up.
>
> I've taken my information from the book
> (http://svnbook.red-bean.com/nightly/en/svn.serverconfig.multimethod.html),
> and if I've misinterpreted something here, please feel free to correct me.
>
> Mark

BDB will create and log a transaction for reads as well as writes, so
it's possible for a "read only" operation such as svnlook or svnadmin
verify to generate a new log file. I've personally wedged my repository
by carelessly running verify as root, for example.

You can try it yourself:
[svn@lynx ~/ec-svn/repo/db]$ ls -l log.*
-rw-rw-r-- 1 svn svn 1046553 Nov 14 15:17 log.0000002124
-rw-rw-r-- 1 svn svn 941420 Nov 15 13:47 log.0000002125
[svn@lynx ~/ec-svn/repo/db]$ svnlook history .. /trunk > /dev/null
[svn@lynx ~/ec-svn/repo/db]$ ls -l log.*
-rw-rw-r-- 1 svn svn 1046553 Nov 14 15:17 log.0000002124
-rw-rw-r-- 1 svn svn 954652 Nov 15 13:56 log.0000002125

Note that log.0000002125 grew by about 13k just from a simple list. A
verify on a large repo can easily roll the log over many times.

It's hard to say which one is more prone to wedging due to permission
issues. Barring performance problems with one or the other, I think it
basically comes down to whatever one you are most comfortable with.

-Dominic

  • application/pgp-signature attachment: stored
Received on Tue Nov 15 20:07:24 2005

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