[
https://issues.apache.org/jira/browse/OAK-2829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14580534#comment-14580534
]
Marcel Reutegger commented on OAK-2829:
---------------------------------------
Thanks a lot for your help. Looks good.
Some remarks:
- READ_CHUNK_SIZE is quite high. I would rather use 100 (MongoDB batch size is
101) or even less.
- JournalEntry.fillExternalChanges(): "partialResult == null" is unnecessary
because an implementation must return a non-null List.
- Exception handling in backgroundRead(): should the background read fail when
external changes cannot be pulled in? Not sure about this one...
- Avoid path in TreeNode, otherwise the data structure would use quite a lot of
memory when each TreeNode keeps the path.
I'll pull in your changes and run tests. If they look OK, I will commit the
current state and we can work on the remaining items.
> 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
> Assignee: Marcel Reutegger
> Priority: Blocker
> Labels: scalability
> Fix For: 1.3.1, 1.2.3
>
> Attachments: CompareAgainstBaseStateTest.java, graph-1.png, graph.png
>
>
> 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)