[
https://issues.apache.org/jira/browse/OAK-2752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14494219#comment-14494219
]
Michael Dürig commented on OAK-2752:
------------------------------------
Let's keep changes minimal for this issue as we need to back port it to 1.0.
As OAK-2654 greatly increased upgrade performance but introduced this
regression I suggest we re-evaluate performance with OAK-2752-v3.patch, which
fixes the regression. That patch is minimal in the sense that it just uses a
more exact condition to determine whether a refresh is actually required but
does not add any additional logic or refactorings on top of that.
> SegmentIdTable can sometimes hang when calling getSegmentId(msb, lsb)
> ---------------------------------------------------------------------
>
> Key: OAK-2752
> URL: https://issues.apache.org/jira/browse/OAK-2752
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: oak-core
> Affects Versions: 1.2
> Reporter: Will McGauley
> Assignee: Thomas Mueller
> Priority: Critical
> Fix For: 1.0.13, 1.2.1
>
> Attachments: OAK-2752-md.patch, OAK-2752-md2.patch,
> OAK-2752-tm1.patch, OAK-2752-v2.patch, OAK-2752-v3.patch, OAK-2752.patch
>
>
> The while loop getSegmentId(msb, lsb) loops forever in the situation where
> the segment id is not found.
> Looping occurs from 'first' and loops to the end of the SegmentId references,
> and then loops back to first. If the segmentid is not found in any of the
> referenced items then looping continues past 'first' again and loops for
> eternity through all the references.
> See attached patch for possible fix to break out of the loop after getting
> back to 'first' again.
> note: I have tested this patch on my system and it seems to work, but I do
> not know if the patch provides the best fix, I am a bit new to this code.
> The most important part of the patch would be the break condition from the
> loop so the loop does not continue after testing each reference
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)