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

Reply via email to