[ 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)