You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2016/06/16 08:20:05 UTC

[jira] [Commented] (OAK-2919) Refactor DocumentNodeStoreService and dependencies

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

Marcel Reutegger commented on OAK-2919:
---------------------------------------

I agree with some of the items mentioned in the description. Caching was already factored out to a large degree with OAK-3649. I'm not sure we can get rid of the DocumentMK.Builder, but we should definitively try to make it more generic. It must not know about the different DocumentStore implementations. If there is a need we can still have implementation specific builders that extend from the generic one.

> Refactor DocumentNodeStoreService and dependencies
> --------------------------------------------------
>
>                 Key: OAK-2919
>                 URL: https://issues.apache.org/jira/browse/OAK-2919
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: blob, mongomk
>            Reporter: Philipp Suter
>              Labels: technical_debt
>
> Change how DocumentNodeStoreService, DocumentNodeStore, DocumentStore, BlobStore, DocumentMK.Builder are wired. It is unclear why registerNodeStoreIfPossible and registerNodeStore need additional logic to load the right BlobStore and DocumentStore.
> - Ideally (Document)NodeStore references one DocumentStore and one BlobStore. Configuration for them are loaded over respective OSGi configurations.
> - Cache should be handled in (Document)NodeStore and be independent from DocumentStore, BlobStore.
> - DocumentMK.Builder and DocumentNodeStoreService should be obsolete.
> - DocumentNodeStore is too long and could ideally be split in smaller files.



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