[ 
https://issues.apache.org/jira/browse/OAK-4935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Egli updated OAK-4935:
-----------------------------
    Fix Version/s: 1.6

> support prefiltering of async index updates
> -------------------------------------------
>
>                 Key: OAK-4935
>                 URL: https://issues.apache.org/jira/browse/OAK-4935
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.5.12
>            Reporter: Stefan Egli
>             Fix For: 1.6
>
>
> As pointed out 
> [here|https://issues.apache.org/jira/browse/OAK-4924?focusedCommentId=15568308&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15568308]
>  at the moment the AsyncIndexUpdate, via SegmentNodeStore.refreshHead passes 
> null in the contentChanged call. This prevents prefiltering from being 
> applied.
> [~chetanm] suggested to explicitly run the ChangeCollector ValidationProvider 
> in the AsyncIndexUpdate.mergeWithConcurrencyCheck (see [comment 
> here|https://issues.apache.org/jira/browse/OAK-4924?focusedCommentId=15568339&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15568339]).
> Alternatively the AsyncIndexUpdate.mergeWithConcurrencyCheck could provide an 
> explicit ChangeSet representing empty sets for all (paths, names, types, 
> properties), as really an index update shouldn't generate anything of 
> interest for any jcr listener. Not sure if this is always 100% the case but 
> it sounds like a bit of a waste of CPU to collect hidden paths (of the 
> indices) in a ChangeSet which then anyway shouldn't be applicable to any 
> listener. But yes, it would be somewhat of a violation of the general 
> contract to have the ChangeSet represent all changes. Then again, we could 
> argue that hidden paths aren't included.
> [~chetanm], wdyt?



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

Reply via email to