jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vikas Saurabh (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (OAK-5337) LastRevRecoveryAgent should avoid recovering documents from its own cluster id if the instance is running
Date Thu, 22 Dec 2016 22:26:58 GMT

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

Vikas Saurabh resolved OAK-5337.
--------------------------------
       Resolution: Fixed
    Fix Version/s: 1.6
                   1.5.17

Done on trunk at [r1775757|https://svn.apache.org/r1775757]. Thanks [~mreutegg] for the review
and for fixing the issue with test that I was having. I've updated the javadoc.

[~chetanm], the fix failed {{LastRevSingleNodeRecoveryTest#testNodeRecoveryNeeded}} as it
was expecting self-node to be part of candidate list to be recovered (which is opposite of
the expectation in this issue). I've updated that test to validate that {{isRecoveryNeeded}}
is still true while recovery candidate list is empty.

> LastRevRecoveryAgent should avoid recovering documents from its own cluster id if the
instance is running
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: OAK-5337
>                 URL: https://issues.apache.org/jira/browse/OAK-5337
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: documentmk
>            Reporter: Vikas Saurabh
>            Assignee: Vikas Saurabh
>              Labels: candidate_oak_1_0, candidate_oak_1_2, candidate_oak_1_4
>             Fix For: 1.5.17, 1.6
>
>         Attachments: OAK-5337.patch
>
>
> In certain scenarios (mostly slow background write leading to lease timeout), last rev
recovery agent can kick in and start to recover documents from its own cluster id. The situation
is implicitly avoided in 1.4+ (OAK-3397) as the instance would kill itself on lease failure
(there are other safeguards too to avoid the situation). But, on older branches, especially
1.0 which has no safeguards, this can lead to loss of last revs.
> All that said, it's anyway reasonable that LRRA shouldn't try to recover its own instance
while it's running (startup still needs to be handled by LRRA though).



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

Mime
View raw message