[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: David Glasser <glasser_at_davidglasser.net>
Date: Mon, 17 Nov 2008 00:01:45 -0800

I'm pretty sure we only decided to declare "transaction IDs are never
reused" in 1.5. (If we even declared it then.)


On Sat, Nov 15, 2008 at 4:41 PM, C. Michael Pilato <cmpilato_at_collab.net> wrote:
> 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

David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-11-17 09:02:03 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.