jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Guggisberg" <stefan.guggisb...@gmail.com>
Subject Re: Isolation level inconsistency.
Date Fri, 20 Jul 2007 08:56:39 GMT
On 7/20/07, IvanLatysh <ivan@yourmail.com> wrote:
> Hendrik Beck (camunda) wrote:
>
> > 1) The persistent state of a contact node has the name "Joe"
> > 2) I change the name to "John" but don't save it (it's still transient for
> > me or my session respectively)
> > 3) If I access that node, I will see the (transient) name "John"
> > 4) When I search for "Joe", I will still find that node, because searching
> > only takes the persistent state into account
> > 5) But when I now access this node (that I just found under the name "Joe"),
> > then I will see the name "John"
> >
> > Of course, there might be discrepancies in such a case, but 1) it seems to
> > be pretty clear to me how it works and 2) the spec says the following about
> > that to avoid it if necessary:
> >
> > "Applications can clear the Session (either through save or refresh(false))
> > before running a query in order to avoid such discrepancies."
> >
> > Especially I think that this has nothing to do with accessing transient
> > changes from other sessions. It's always about the transient changes of my
> > own session.
>
> If your DB session would have such behavior would you be happy ?

AFAIK databases simply don't support the concept of transient changes.
please note that the JCR save() is not the equivalent of a db commit().

cheers
stefan

>
>
> It is an outrageous bug in the spec, that has to be fixed and it is not a 'big
> change' because _nobody_ use search without committing or clearing the session
> first!
>
> --
> Ivan Latysh
> ivan@yourmail.com
>

Mime
View raw message