[ 
https://issues.apache.org/jira/browse/OAK-1417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jukka Zitting updated OAK-1417:
-------------------------------

    Attachment: 0001-OAK-1417-Processing-pending-observation-events-does-.patch

The {{O\(n log n)}} assumption indeed seems to be the case here. The 
{{Event.getPath()}} call in the test case is proportional to path length, which 
in the test setup grows as a logarithm of the total number of nodes. With {{n}} 
{{getPath()}} calls, the combined time becomes {{O\(n log n)}}.

The attached patch shortcuts the path mapping to a no-op for this test scenario 
where there are no local namespace remappings. This brings the observed 
performance scaling closer to {{O\(n)}} for the SegmentMK.

> Processing pending observation events does not scale linearly with the number 
> of events
> ---------------------------------------------------------------------------------------
>
>                 Key: OAK-1417
>                 URL: https://issues.apache.org/jira/browse/OAK-1417
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mongomk, segmentmk
>            Reporter: Michael Dürig
>         Attachments: 
> 0001-OAK-1417-Processing-pending-observation-events-does-.patch
>
>
> {{org.apache.jackrabbit.oak.jcr.LargeOperationIT#largeNumberOfPendingEvents}} 
> does not scale linearly. Neither on a segment nor on a document node store. 
> This test asserts that the number of pending observation events (e.g. due to  
> a large commit or cluster sync) has a linear processing time. That is the 
> time it takes to process one such event is independent of the total number of 
> events.
> {code}
> seg quotients: 0.24215928530697586, 0.4065934065934066, 1.7548262548262548, 
> 0.6892189218921893, 1.2083000798084598
> doc quotients: 0.2990824434780629, 0.14113885505481122, 0.587378640776699, 
> 1.3122130394857667, 142.65850244926523
> {code}
> While in the case of the segment node store the numbers do not seem too 
> worrisome, the document node store seems to start lagging behind badly as 
> soon as there are more than 32768 pending events. 
> See OAK-1413 for how to read those numbers. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to