jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig <mdue...@apache.org>
Subject Tree builder and transient space
Date Wed, 04 Apr 2012 12:03:20 GMT


As a follow up to the recent discussion about how to implement transient 
modifications [1] I started implementing a NodeStateEditor and a 
TransientNodeState (see my commits on OAK-9). The idea is, to acquire a 
NodeStateEditor from the current connection, do modifications on it and 
commit it back to the connection when done.

The KernelNodeStateEditor uses TransientNodeState instances to track 
modifications. Currently all these modifications are kept in memory. 
However when OAK-45 is resolved alternative implementations could:

- directly write every operation through to the private working copy.
- batch write operations through to the private working copy when the
   transient space gets too big.
- spool write operations through to the private working copy on a
   background thread.

TransientNodeState is currently not exposed through the oak-core api. In 
order to make it usable from oak-jcr we should think about how to 
proceed here.


PS: There is currently hardly any comments in the code. I'll fix that soon.

[1] http://markmail.org/thread/panl3wxfekvmcfyw

View raw message