[
https://issues.apache.org/jira/browse/OAK-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jukka Zitting resolved OAK-1031.
--------------------------------
Resolution: Fixed
Fix Version/s: 0.11
Assignee: Jukka Zitting
Each Record instance now has a (lazily initialized) reference to the containing
segment, which has greatly reduced the number of segment lookups. Thus
resolving as fixed.
> SegmentMK: Fewer segment lookups
> --------------------------------
>
> Key: OAK-1031
> URL: https://issues.apache.org/jira/browse/OAK-1031
> Project: Jackrabbit Oak
> Issue Type: Sub-task
> Components: core
> Reporter: Jukka Zitting
> Assignee: Jukka Zitting
> Priority: Minor
> Fix For: 0.11
>
>
> The SegmentMK uses record references composed of a segment UUID and an offset
> within that segment. When accessing a record, the normal pattern is to first
> look up the segment using the UUID and then read the data from that segment.
> Unfortunately it looks like all those segment lookups take up a notable
> percentage of the time spent reading data in the SegmentMK, so it would be
> good if we could avoid at least some of those lookups.
> Given the locality of reference that the SegmentMK design tries to maximise,
> achieving that goal should be easy. In practice most record references point
> to other records in the same segment, so if we keep track of the segment
> we're currently accessing, we can in most cases avoid the extra lookups.
> Some of this work is already implemented, especially for accessing property
> values, but other pieces are still missing. This issue exist to track the
> remaining work.
--
This message was sent by Atlassian JIRA
(v6.1#6144)