You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Davide Giannella (JIRA)" <ji...@apache.org> on 2014/11/28 17:05:13 UTC

[jira] [Resolved] (OAK-2077) Improve the resilence of the OrderedIndex for dangling links

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

Davide Giannella resolved OAK-2077.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: 1.1.3
                   1.2
                   1.0.9

* trunk @ http://svn.apache.org/r1642285
* 1.0 @ http://svn.apache.org/r1642315

h3. how it works

When walking the skiplist if it encounter a dangling link it will
track a warning like

{noformat}
09:17:03.836 [main] WARN  o.a.j.o.p.i.p.s.OrderedContentMirrorStoreStrategy - Dangling link to 'value0021' found on lane '0' for key 'value0003'. Trying to clean it up. You may consider a reindex
{noformat}

It will attempt to fix at most {{OrderedIndex.LANES+1}} times for each
{{seek()}}.

When encountering it while insert or pruning, that we have a
{{NodeBuilder}} it will reset the wrong property setting it to
empty. This will truncate the list at the interested lane.

Instead if it will be encountered while querying it will simply track
the warning message.



> Improve the resilence of the OrderedIndex for dangling links
> ------------------------------------------------------------
>
>                 Key: OAK-2077
>                 URL: https://issues.apache.org/jira/browse/OAK-2077
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>            Reporter: Davide Giannella
>            Assignee: Davide Giannella
>            Priority: Critical
>             Fix For: 1.0.9, 1.2, 1.1.3
>
>
> It could happens that along the various lanes of the SkipList
> implemented by the OrderedIndex we encounter dangling links to nodes
> that has been previously removed.
> While it's not clear yet how to reproduce it on the {{prune()}} side
> we could improve the {{seek()}} and maybe {{fetchKeyNode()}} method
> for considering the use case and optionally clean-up after it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)