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 "Michael Dürig (JIRA)" <ji...@apache.org> on 2016/06/02 13:58:59 UTC

[jira] [Commented] (OAK-4102) Break cyclic dependency of FileStore and SegmentTracker

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

Michael Dürig commented on OAK-4102:
------------------------------------

The refactoring of the segment tracker in OAK-4373 mitigate this issue quite a bit: while the tracker and stores still have mutual dependencies the initialisation issue went away as the tracker's constructor does not take care of writing the initial node state any more. This is now done from the outside (in the file store's builder). 

I suggest we re-consider whether there is need for further action here once OAK-4373 is resolved.

> Break cyclic dependency of FileStore and SegmentTracker
> -------------------------------------------------------
>
>                 Key: OAK-4102
>                 URL: https://issues.apache.org/jira/browse/OAK-4102
>             Project: Jackrabbit Oak
>          Issue Type: Technical task
>          Components: segment-tar
>            Reporter: Michael Dürig
>            Assignee: Francesco Mari
>              Labels: technical_debt
>             Fix For: 1.6
>
>
> {{SegmentTracker}} and {{FileStore}} are mutually dependent on each other. This is problematic and makes initialising instances of these classes difficult: the {{FileStore}} constructor e.g. passes a not fully initialised instance to the {{SegmentTracker}}, which in turn writes an initial node state to the store. Notably using the not fully initialised {{FileStore}} instance!



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