[rucksack-devel] Re: Rucksack, ECLM

Nikodemus Siivola nikodemus at random-state.net
Wed May 17 23:03:42 UTC 2006


"Arthur Lemmens" <alemmens at xs4all.nl> writes:

> I'm not sure what this refers to?

Me being obtuse and not seeing clearly, due to my head being stuck
(metaphorically speaking) in an unpleasant location. ;)

> No, with my multiple versioning scheme this is not true.  The
> important point here is that it does not (and should not) make any
> difference whether A has committed or not.  The only difference
> between a committed transaction and an 'open' (not yet committed)
> transaction is that you can be sure that the committed transaction
> has written its changes to disk.

So in Rucksack transactions are about consistency and durability, not
isolation and atomicity? If so then the rest is moot.

> The rule for fetching values ('objects' is probably a better word
> here) is: use the object version that has been modified by the
> youngest transaction that is older than (or the same as) the current
> transaction.

> No, this part is wrong.  According to the rule above, B will see
> the version of C modified by A.
>
>> and increments it C -> 1.
>
> No, it will increment it to 2.  But A should still see C=1; if A
> tries to change C again (after B has changed it), B will be
> aborted (like we discussed earlier).

I'm almost with you there. Assuming that transactions are supposed
to be isolated and atomic, what about this: 

 (A and B are transactions as before, C is a counter from 0.)

Scenario 1.

 A enters.
 A increments C -> 1.
 B enters.
 B increments C -> 2.
 A aborts (rollback).
 B commits.

Scenerio 2.

 A enters.
 A increments C -> 1.
 B enters.
 B increments C -> 2.
 B commits.
 A aborts (rollback).

Are these possible timelines, or is there a conflict somewhere? 
If they are possible, what is the value of C? 

I'm fairly sure it should be 1, but I don't see how you can guarantee
that in both cases. Am I just missing the obvious here.

Cheers,

  -- Nikodemus              Schemer: "Buddha is small, clean, and serious."
                   Lispnik: "Buddha is big, has hairy armpits, and laughs."



More information about the rucksack-devel mailing list