[ 
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)

Reply via email to