Marcel Reutegger updated OAK-4759:
Changed the proposal to use a marker interface. Using a flag on the filter
previously allowed the listener to reregister and switch between a processor
with a queue and one without. That would have been more tricky to implement.
> Queueless change processor
> Key: OAK-4759
> URL: https://issues.apache.org/jira/browse/OAK-4759
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core, documentmk, jcr
> Reporter: Marcel Reutegger
> Labels: observation
> Fix For: 1.6
> Attachments: OAK-4759.patch, OAK-4759.patch, jackrabbit-api.patch,
> The initial proposal for this improvement was:
> Change processing for listeners that are only interested in external
> events could be simplified because there is no commit info for
> external changes. The basic idea is that the node store implementation
> may be able to optimize batch processing of multiple external changes
> and does not need to process each external change individually. The
> DocumentNodeStore would use the journal to identify external changes
> and need to come up with a way to ignore overlapping local changes.
> With this new feature, expensive listeners that process local as well
> as external events could be split into two separate listeners, each
> optimized for the type of changes.
> Later the proposal was changed in a more general queueless change processor.
> See first comment.
This message was sent by Atlassian JIRA