[
https://issues.apache.org/jira/browse/OAK-4739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15464549#comment-15464549
]
Marcel Reutegger commented on OAK-4739:
---------------------------------------
bq. do a retry in case the lease fails but the recovery lock has not yet been
acquired
I'm a bit sceptical how much we buy with this. Other cluster nodes perform
recovery checks in the cluster every 10 seconds. This means already in a two
node cluster the recovery will kick in on average 5 seconds after a lease
expires.
bq. introduce a new (very short) timeout
I'm also in favour of this proposal. For the lease update use case it is better
to fail early and allow a client to perform a retry if necessary. For ease of
backporting we could initially hard code it for the {{clusterNodes}} collection
calls and later introduce a user defined timeout in a redesigned DocumentStore
API as proposed in OAK-3213.
> lease: immediate renew after long renew call
> --------------------------------------------
>
> Key: OAK-4739
> URL: https://issues.apache.org/jira/browse/OAK-4739
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: documentmk
> Affects Versions: 1.5.8
> Reporter: Martin Böttcher
> Labels: resilience
>
> A single temporary network issue can shut down the DocumentStore. We observed
> the following situation:
> # org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfo.renewLease was
> called (this is done regularly and completely normal)
> # the network had a temporary issue (whatsoever)
> # the database call terminated after a lot of time (the default db
> maxWaitTime is 120 seconds).
> # org.apache.jackrabbit.oak.plugins.document.ClusterNodeInfo.renewLease
> decides that the current lease is too old (>120 seconds thats the default for
> the oak.documentMK.leaseDurationSeconds property), sets a leaseCheckFailed
> variable and throws an Exception
> # because leaseCheckFailed is set all following tries (if any) will
> immediately throw an Exception, too.
> I'd recommend to make the ClusterNodeInfo code more robust so that at least
> one retry will be made.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)