[
https://issues.apache.org/jira/browse/OAK-763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Parvulescu updated OAK-763:
--------------------------------
Attachment: OAK-763.patch
attaching first draft version.
the code is based on existing observation work but it is still separated from
the parts that handle jcr observation.
the patch introduces an oak-core observation scheduler (for lack of a better
name), that allows for any editor provider to subscribe to change notification.
An editor provider can be coupled with a dedicated executor or directly with
the OOTB repository executor.
The patch currently doesn't do anything to remove the listeners once the index
definitions are removed (it does try to update the indexes on each commit by
using a sneaky #equals method relying on the index type only).
Improvements tbd:
- index config deletes should remove listeners
- the index manager doesn't have his own scheduler. I'm not sure how to pull
that one off yet.
- existing observation work could leverage this observation scheduler (there
will be some overlap, and I'm thinking the better parts should be in oak-core
independent of jcr).
- repo components setup gets difficult with this new scheduler in place, I
think there still are parts missing most notably related to OSGi.
> Asynchronous indexing
> ---------------------
>
> Key: OAK-763
> URL: https://issues.apache.org/jira/browse/OAK-763
> Project: Jackrabbit Oak
> Issue Type: New Feature
> Components: core
> Reporter: Alex Parvulescu
> Assignee: Alex Parvulescu
> Attachments: OAK-763.patch
>
>
> It would be good to have the possibility to update indexes asynchronously,
> outside the current commit hook (or editor).
> This would be used for the index impls which can be a bit behind, like the
> ones that do text extraction from binaries.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira