On 6.8.13 11:33, Jukka Zitting wrote:
Hi,
On Tue, Aug 6, 2013 at 12:21 PM, Michael Dürig <[email protected]> wrote:
On 6.8.13 10:41, Jukka Zitting wrote:
a) When making transient changes or reading information that can come
from an earlier repository snapshot, use sessionDelegate.getRoot() so
that you see the exact same state as the rest of the session.
This is not sufficient for the current case however unless we add a session
refresh for every call to SessionDelegate.getRoot().
The refresh (when needed) should happen already in
SessionDelegate.perform(), before the getRoot() call is made.
There is no perform call in this case. That is the point of the whole story.
Michael
Furthermore the underlying (somewhat implicit) assumption back then was
sessions being stable (i.e. no auto refresh) such that the returned root and
trees retrieved from it can be cached. This is now not the case any more and
might render many such optimisations invalid.
This is exactly the problem I was worried about when I tried to argue
earlier that we shouldn't be caching information in memory and instead
read any information directly from the underlying content tree when
needed.
BR,
Jukka Zitting