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

Re: FSFS safety violation caught by testing? (r34197)

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Sat, 15 Nov 2008 19:41:01 -0500

Blair Zajac wrote:
>
> On Nov 14, 2008, at 7:53 PM, C. Michael Pilato wrote:
>
>> C. Michael Pilato wrote:
>>> C. Michael Pilato wrote:
>>>> David Glasser wrote:
>>>>> Anyway, I think the transaction name algorithm changed in 1.5; check
>>>>> libsvn_fs_fs/structure for details.
>>>
>>> Hrm. Interestingly, the test doesn't care about naming schemes. It
>>> creates
>>> a bunch of transactions, remembers their names, and aborts them all.
>>> The it
>>> does it again to see if any of the transaction names got reused.
>>> I'll look
>>> into this a little bit more closely.
>>
>> Well, we have a decision to make. If we think it's a bug that
>> transaction
>> names can be reused, then FSFS repositories created with Subversion
>> 1.4 have
>> this bug. I don't understand that ramifications of txn reuse (which
>> is why
>> I've Cc: Blair -- I remember this topic coming up on the list and being
>> driven by him).
>>
>> If we'd rather ignore the problem, it's easy enough to make the code bail
>> out when testing FSFS with 1.4-era repository versions. I'm happy to
>> make
>> that change -- just let me know.
>
> I put this feature in to support my svn_fs.h and svn_repos.h RPC API. I
> found that when you had a client begin a transaction and another one use
> it, then the first one close it and begin another one, the second client
> would not know that it was not using the original any more (it should
> have received a txn does not exist error instead).
>
> I don't need this feature in 1.4, so having txn ids be non-unique in 1.4
> is fine with me.

So, you don't need the "feature" of having processes not accidentally
reusing old transaction handles in 1.4. Is that kind of process isolation a
feature? It sounds to me like transactions that can be reused unaware is a
recipe for having bogus commits get made, is it not? That sounds like a bug
to me. But I admit to not fully understanding the interactions here. Can
you fill me in?

-- 
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on 2008-11-16 01:41:07 CET

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.