[ 
https://issues.apache.org/jira/browse/OAK-2739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14699195#comment-14699195
 ] 

Marcel Reutegger commented on OAK-2739:
---------------------------------------

How does this affect a repository instance when I debug? I'd assume the process 
may just exit at some point because the new lease check kicks in when I suspend 
the JVM for a longer period of time. Another popular scenario you mentioned is 
putting a laptop to sleep. I think this can be quite annoying when the 
repository just exits when you wake up your computer.

I completely agree, we need a solution to the problem when a lease cannot be 
renewed in time, but can we make this a bit more developer friendly?  

You also write this is active by default, but this is only true for OSGi 
deployments with the DocumentNodeStoreService. I think it would be better to 
really enable it by default in the DocumentNodeStore. That way we get a lot 
more test coverage. 

> take appropriate action when lease cannot be renewed (in time)
> --------------------------------------------------------------
>
>                 Key: OAK-2739
>                 URL: https://issues.apache.org/jira/browse/OAK-2739
>             Project: Jackrabbit Oak
>          Issue Type: Task
>          Components: core
>    Affects Versions: 1.2
>            Reporter: Stefan Egli
>            Assignee: Stefan Egli
>              Labels: resilience
>             Fix For: 1.3.4
>
>         Attachments: OAK-2739.patch
>
>
> Currently, in an oak-cluster when (e.g.) one oak-client stops renewing its 
> lease (ClusterNodeInfo.renewLease()), this will be eventually noticed by the 
> others in the same oak-cluster. Those then mark this client as {{inactive}} 
> and start recoverying and subsequently removing that node from any further 
> merge etc operation.
> Now, whatever the reason was why that client stopped renewing the lease 
> (could be an exception, deadlock, whatever) - that client itself still 
> considers itself as {{active}} and continues to take part in the cluster 
> action.
> This will result in a unbalanced situation where that one client 'sees' 
> everybody as {{active}} while the others see this one as {{inactive}}.
> If this ClusterNodeInfo state should be something that can be built upon, and 
> to avoid any inconsistency due to unbalanced handling, the inactive node 
> should probably retire gracefully - or any other appropriate action should be 
> taken, other than just continuing as today.
> This ticket is to keep track of ideas and actions taken wrt this.



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

Reply via email to