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 "Julian Reschke (JIRA)" <ji...@apache.org> on 2018/07/11 09:45:00 UTC

[jira] [Comment Edited] (OAK-5430) Provide an extension point in DocumentNodeStore Journal support

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

Julian Reschke edited comment on OAK-5430 at 7/11/18 9:44 AM:
--------------------------------------------------------------

Thanks Marcel and Vikas for the review. Done the suggested changes (pom, JournalPropertyServiceTracker -> JournalPropertyServiceTracker, check for duplicate builders

bq. Also, I just noticed a minor difference JournalEntry#fillExternalChanges. Earlier change set wasn't being utilized outside of paritial result loop. It does now. I think it's correct behavior in the patch - but just wanted to bring it up to be noticed.

Yes this was missed out in changes done for ChangeSet support. So refactored the code to have consistent reading from a given JournalEntry


was (Author: chetanm):
Thanks Marcel and Vikas for the review. Done the suggested changes (pom, JournalPropertyServiceTracker -> JournalPropertyServiceTracker, check for duplicate builders

bq. Also, I just noticed a minor difference JournalEntry#fillExternalChanges. Earlier change set wasn't being utilized outside of paritial result loop. It does now. I think it's correct behavior in the patch - but just wanted to bring it up to be noticed.

Yes this was missed out in changes done for ChangeSet support. So reafactored the code to have consistent reading from a given JournalEntry

> Provide an extension point in DocumentNodeStore Journal support
> ---------------------------------------------------------------
>
>                 Key: OAK-5430
>                 URL: https://issues.apache.org/jira/browse/OAK-5430
>             Project: Jackrabbit Oak
>          Issue Type: Technical task
>          Components: documentmk
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>            Priority: Major
>             Fix For: 1.5.18, 1.6.0
>
>         Attachments: OAK-5430-v1.diff
>
>
> As discussed in OAK-4808 B1 I would like to expose an extension point in form of SPI in DocumentNodeStore Journal handling. 
> Each component which needs to add a custom property to {{JournalEntry}} would provide a {{JournalPropertyService}}. This service would provide a {{JournalPropertyBuilder}} which would be used to accumulate the {{JournalProperty}}
> # For background write - {{JournalProperty}} would be read from {{CommitInfo}} and would be added to the builder. Upon background write cycle the builder would provide a string representation of the builder state which would be save as a property in {{JournalEntry}}
> # For background read - {{DocumentNodeStore}} would create builder for each service and would update them from string property value which are read from the JournalEntry
> {{DocumentNodeStore}} would lookup all {{JournalPropertyService}} via {{JournalPropertyServiceTracker}} and construct a {{JournalPropertyHandler}} which would manage the builder state



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)