[ 
https://issues.apache.org/jira/browse/OAK-1312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15470835#comment-15470835
 ] 

Marcel Reutegger commented on OAK-1312:
---------------------------------------

Some more comments:

- The first parameter in BundlingConfigHandler.initialize() could be changed to 
an Observable. This avoids the type check and  is also cleaner because a 
non-observable NodeStore should be supported anyway.
- BundlingConfigInitializer is only used in tests. Move to test as well? 
Otherwise if it is intended as default bundling configuration it may be better 
to make it more explicit in the name what it bundles. However, to me it looks 
more like an example...
- Did you consider using a filtered map in 
BundlorUtils.getMatchingProperties()? This way, it would be evaluated lazily 
and you wouldn't have to go through all properties when the map is created.
- IIRC we offline talked about an issue a while ago when a DocumentNodeState 
was read from the DocumentNodeStore via getNode(String path, RevisionVector 
rev) and was actually part of a bundle. Traversing the tree would use 
DocumentNodeState.getChildNode() and use the bundlingContext correctly. What 
about other direct usages of DocumentNodeStore.getNode()? How can we ensure 
code does not try to read a bundled state with this method?
- All child node under /jcr:system have a namespace prefix. Use 
'rep:documentstore' instead of 'documentstore'?

> Bundle nodes into a document
> ----------------------------
>
>                 Key: OAK-1312
>                 URL: https://issues.apache.org/jira/browse/OAK-1312
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, documentmk
>            Reporter: Marcel Reutegger
>            Assignee: Chetan Mehrotra
>              Labels: performance
>             Fix For: 1.6
>
>         Attachments: OAK-1312-meta-prop-handling.patch, 
> OAK-1312-review-v1.diff, OAK-1312-review-v2.diff
>
>
> For very fine grained content with many nodes and only few properties per 
> node it would be more efficient to bundle multiple nodes into a single 
> MongoDB document. Mostly reading would benefit because there are less 
> roundtrips to the backend. At the same time storage footprint would be lower 
> because metadata overhead is per document.
> Feature branch - 
> https://github.com/chetanmeh/jackrabbit-oak/compare/trunk...chetanmeh:OAK-1312



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to