[
https://issues.apache.org/jira/browse/OAK-1866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jukka Zitting resolved OAK-1866.
--------------------------------
Resolution: Fixed
Fix Version/s: 1.1
Fixed in revision 1598797.
> SegmentMK: Inefficient flat node comparisons
> --------------------------------------------
>
> Key: OAK-1866
> URL: https://issues.apache.org/jira/browse/OAK-1866
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core, segmentmk
> Affects Versions: 1.0
> Reporter: Jukka Zitting
> Assignee: Jukka Zitting
> Labels: performance
> Fix For: 1.0.1, 1.1
>
>
> The SegmentMK has an optimization for the common case where only a single
> child node among many has been updated. For the most part this code works
> very well, but there's one code path where this optimization is currently not
> applied and as a result a node comparison ends up traversing the full list of
> child nodes.
> The troublesome code path gets triggered when a single child node is updated
> in one commit and then another commit does some more complex changes (adds or
> removes a node and/or modifies more than a single node).
> Usually this isn't too big an issue since traversing even thousands of child
> node entries is very fast with the SegmentMK, but things slow down a lot when
> there are millions of children. Unfortunately that is exactly what happens
> with the UUID index in a large repository with millions of referenceable
> nodes...
--
This message was sent by Atlassian JIRA
(v6.2#6252)