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

Alex Parvulescu updated OAK-1292:
---------------------------------

    Attachment: callback.patch

initial proposal. this turned out to be more complicated than expected.

A large part of the patch is enforcing the specific _IndexEditor_ type 
throughout the indexing code.
Next, I introduced a callback interface that allows a subscriber to receive 
notification when the actual indexing work has started (the index impls also 
have specific rules to include/exclude content so simply having generic changes 
in the diff was not enough).
Finally, I had to beak the async indexer into 3 parts, each on its own commit: 
first is the status update, then indexing and then status update again.

feedback needed




> Avoid async indexer commits when there are no changes to index
> --------------------------------------------------------------
>
>                 Key: OAK-1292
>                 URL: https://issues.apache.org/jira/browse/OAK-1292
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Jukka Zitting
>            Assignee: Alex Parvulescu
>             Fix For: 0.15
>
>         Attachments: callback.patch
>
>
> Currently, since OAK-980 (and OAK-1246), the asynchronous indexer makes two 
> commits per invocation regardless of whether there are any changes to the 
> indexed content. This can be a bit confusing and in some cases even 
> troublesome especially in a mostly read-only deployments where the frequent 
> extra commits just add unnecessary noise.
> It would be better if the async indexer only made commits when there actually 
> are content changes to be indexed.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to