jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-4739) lease: immediate renew after long renew call
Date Mon, 05 Sep 2016 09:19:20 GMT

    [ 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
> # 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
> # 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

View raw message