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

Reply via email to