[ https://issues.apache.org/jira/browse/OAK-9841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konrad Windszus updated OAK-9841: --------------------------------- Description: The {{NodeStoreChecksService}} (https://github.com/apache/jackrabbit-oak/blob/bbc141fd1fb9ff0d9ce742279445df9eb698c3e3/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/checks/NodeStoreChecksService.java#L41) executes all bound {{MountedNodeStoreChecker}} which have been there at the time of activation. The references are not greedily referenced and also there is no wait for specific {{MountedNodeStoreChecker}} services to be active. That leads to the fact that the usage of {{NodeStoreChecksService}} in {{CompositeNodeStoreService.registerCompositeNodeStore(...)}} is not deterministic as the starting order of OSGi services determine which {{MountedNodeStoreChecker}} are active during {{CompositeNodeStoreService.activate()}}. was: The {{NodeStoreChecksService}} (https://github.com/apache/jackrabbit-oak/blob/bbc141fd1fb9ff0d9ce742279445df9eb698c3e3/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/checks/NodeStoreChecksService.java#L41) executes all bound {{MountedNodeStoreChecker}} which have been active at the time of activation. The references are not greedily referenced and also there is no wait for specific {{MountedNodeStoreChecker}} services to be active. That leads to the fact that the usage of {{NodeStoreChecksService}} in {{CompositeNodeStoreService.registerCompositeNodeStore(...)}} is not deterministic as the starting order of OSGi services determine which {{MountedNodeStoreChecker}} are active during {{CompositeNodeStoreService.activate()}}. > Race condition in NodeStoreChecksService > ---------------------------------------- > > Key: OAK-9841 > URL: https://issues.apache.org/jira/browse/OAK-9841 > Project: Jackrabbit Oak > Issue Type: Bug > Components: composite > Reporter: Konrad Windszus > Priority: Major > > The {{NodeStoreChecksService}} > (https://github.com/apache/jackrabbit-oak/blob/bbc141fd1fb9ff0d9ce742279445df9eb698c3e3/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/checks/NodeStoreChecksService.java#L41) > executes all bound {{MountedNodeStoreChecker}} which have been there at the > time of activation. > The references are not greedily referenced and also there is no wait for > specific {{MountedNodeStoreChecker}} services to be active. > That leads to the fact that the usage of {{NodeStoreChecksService}} in > {{CompositeNodeStoreService.registerCompositeNodeStore(...)}} is not > deterministic as the starting order of OSGi services determine which > {{MountedNodeStoreChecker}} are active during > {{CompositeNodeStoreService.activate()}}. -- This message was sent by Atlassian Jira (v8.20.10#820010)