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

Re: Making fsfs generate unique transaction names

From: Blair Zajac <blair_at_orcaware.com>
Date: 2007-06-16 23:28:44 CEST

Daniel Berlin wrote:
> On 6/13/07, Blair Zajac <blair@orcaware.com> wrote:
>> 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.
>
> apr-util has apr_uuid_get to get new UUID's, and apr_uuid_format to
> turn them into strings.
>
> Is there some reason you can't use it?
>
> Otherwise, I was going to suggest this myself as part of a design i'm
> working on for 2.0's merge tracking.

No, wasn't aware that apr had a uuid method. We could switch over. In
fact, making BDB and FSFS use uuid's would be nice.

Blair

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Jun 16 23:28:53 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.