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 [NEWS] Oak news (6th edition)
Date Wed, 14 Nov 2012 10:18:15 GMT

Hi,

Welcome to the 6th edition of the informal news on what's going on in Oak.

- Last week Jukka held a small workshop on Oak at the ApacheCon EU. 
There was some work on integrating the MongoDB based Microkernel with 
oak-run and enabling remote JCR access through DavEx. Although there was 
no formal presentation on Oak, a few people were asking about it and 
Jukka gave quick 5 min intros.

- Many new features, improvements and bug fixes have been contributed to 
the MongoDB based Microkernel through OAK-424. See also the respective 
pull request on GitHub to get a better overview: 
https://github.com/apache/jackrabbit-oak/pull/6

- In relation to the various Microkernel implementations we now have, we 
need to figure out how to best expose them for development, testing and 
continuous integration. See also OAK-434: Setup build profiles to run 
against either of the Microkernel implementations.

- The progress in the area of the Microkernel also sparked new 
discussions on how garbage collection could work for the data store. 
Currently there seem to be mainly two ideas worth further exploration: 
keep an index of references to binaries (kind of reference counting) and 
generational garbage collection. See OAK-377 for the issue and 
http://markmail.org/message/egmcpupjbbljno4j for the discussion.

- In Oak core some state tracking functionality has been pushed down 
from the Tree implementation to the NodeBuilder implementation. This 
greatly improves read/write performance but also has an impact on 
transient move operations, which are not tracked the same any more. See 
OAK-391 and http://markmail.org/message/b6dcyae362akyogd for the 
discussion and sample code demonstration the problem. Relevant issues:
   ° OAK-413: TreeLocation.getStatus() cost increases as more content is 
read below this location
   ° OAK-422: Replace PurgeListener in TreeImpl with NodeBuilder.reset()
   ° OAK-417: Refactor/reimplement TreeImpl.getStatus and 
TreeImpl.getPropertyStatus to take advantage of the underlying NodeBuilder
   ° OAK-418: Reduce/avoid re-resolving the underlying tree instances on 
every access in Item/Property/NodeDelegate

- The Oak JCR bindings saw many fixes, improvements and new features. 
Most notably we now have initial support for XML imports (OAK-127: 
Support for XML imports) and validation for node type management 
(OAK-411: Validator for node type management). Further improvements 
include:
   ° OAK-395 : Inconsistency in Node#setProperty in case of null value
   ° OAK-408: Add Definition for the root node
   ° OAK-405: Node/Property getDefinition() returns first residual 
definition instead of matching named definition

- Since Apache Lucene does not provide OSGi bundles of their artefact, 
we decided to embed the Lucene dependency with Oak for the time being. 
The most transparent way to do so was through its own component 
"oak-lucene". See OAK-438: Provide the lucene index as an osgi bundle.

Michael






Mime
View raw message