[
https://issues.apache.org/jira/browse/OAK-2829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14528185#comment-14528185
]
Marcel Reutegger commented on OAK-2829:
---------------------------------------
Discussed this issue with Chetan and we came up with the following proposal:
Each cluster node builds a consolidated diff for the changes done between two
runs of the background update and pushes it to the DocumentStore before the
_lastRev is updated on the root document. Other cluster nodes picking up the
change on the root document will then read the external consolidated diffs
matching the update of _lastRevs on the root document. The diffs will then be
used to identify the nodes to compare.
The collection for those consolidated diffs would contain data similar to
existing documents in the {{changes}} collection, but the changes would be
serialized as a String to make it work with the RDB backend as well.
We consider OAK-2685 as a prerequisite to build the solution on top of it.
> Comparing node states for external changes is too slow
> ------------------------------------------------------
>
> Key: OAK-2829
> URL: https://issues.apache.org/jira/browse/OAK-2829
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core, mongomk
> Reporter: Marcel Reutegger
> Fix For: 1.3.0
>
>
> Comparing node states for local changes has been improved already with
> OAK-2669. But in a clustered setup generating events for external changes
> cannot make use of the introduced cache and is therefore slower. This can
> result in a growing observation queue, eventually reaching the configured
> limit. See also OAK-2683.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)