[
https://issues.apache.org/jira/browse/OAK-4739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15455095#comment-15455095
]
Martin Böttcher commented on OAK-4739:
--------------------------------------
IMHO it would be a big help if we either introduce a new (very short) timeout
for the lease renew call or delegate the lease renew to a new thread and
observe the runtime of this thread (if the threads takes too much time we can
take care of it, log it, and start a well-defined retry). Both approaches can
eliminate the observed situation that renewing the lease takes so much time
that the DocumentStore gets closed.
> 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
>
> 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)