jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Deparvu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-7510) Run repository initializers with hooks
Date Fri, 31 Aug 2018 14:52:00 GMT

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

Alex Deparvu commented on OAK-7510:

trying to apply [~tmueller] idea, I ran into another bump.
It seems there's yet another component that will bypass the initial hooks and inject some
property [0], the ClusterRepositoryInfo, this one seems segment-tar specific. 
The timing is interesting as it comes as soon as the NodeStore is available in OSGi which
can be before the init hooks run [1], and I can't tell if this is ok or not, it feels like
it should come after.

Nevertheless I think I found a way around this and will update the patch soon.

[0] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/spi/cluster/ClusterRepositoryInfo.java#L82
[1] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreRegistrar.java#L374

> Run repository initializers with hooks
> --------------------------------------
>                 Key: OAK-7510
>                 URL: https://issues.apache.org/jira/browse/OAK-7510
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Alex Deparvu
>            Assignee: Alex Deparvu
>            Priority: Major
>              Labels: modularization
>             Fix For: 1.10
> Currently the repository initializers (RepositoryInitializer and WorkspaceInitializer)
run when the repo boots without any hooks [0] which means that current RepositoryInitializers
need to setup custom Roots (roots with hardcoded editor providers like NamespaceEditorProvider
and TypeEditorProvider) on top of the provided builders to be able to setup properly. I'm
looking at the InitialContent [1] and the CugConfiguration [2] in the context of installing
node types.
> I would like to look into removing the hardcoded providers and trying to run all existing
editors over the content produced by the initializers.
> As an added benefit this will allow decoupling of hard dependencies between components
(see for example OAK-7499)
> [0] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java#L687

> [1] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/InitialContent.java#L134
> [2] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java#L162

This message was sent by Atlassian JIRA

View raw message