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

Making fsfs generate unique transaction names

From: Blair Zajac <blair_at_orcaware.com>
Date: 2007-06-14 00:25:28 CEST

I'm making a svn filesystem network aware using Ice RPC and one of the
things I'm running into is that FSFS transactions are not unique. BDB
seems to generate transaction names via a sequence, so this isn't an issue.

I have the ability for a client to begin a transaction remotely and then
refer to that transaction to do work. In FSFS, if a client begins a
transaction, gives the transaction name to another process, which then
closes it, and a third process begins a new transaction based on the
same revision, then it will get the same transaction name and the owner
of the original transaction will be operating inside a different
transaction and will be able to abort the transaction, which it should
not be able to do.

So I'd like to make the transaction names unique, using something like

"%s-%05ds-%s-%05d" % (apr_gethostname(),
                       apr_uid_current(),
                       apr_time_now(),
                       i)

where i is incremented until it finds a non-existent directory name.

The current transaction name is based off the revision number, is this
necessary? Should we keep it? Does changing the transaction name have
any other impact?

Regards,
Blair

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jun 14 00:25:41 2007

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