[
https://issues.apache.org/jira/browse/OAK-2752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14494234#comment-14494234
]
Alex Parvulescu commented on OAK-2752:
--------------------------------------
bq. with OAK-2752-v3.patch
you probably meant OAK-2752-md2.patch :) I like the idea of keeping and entry
count and refreshing on the .75 threshold better. this was also captured in
Thomas's patch.
Fully agree with the idea that a minimal set of changes is to be desired, we
can save bigger refactoring endeavours for later on.
> 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)