[infinispan-issues] [JBoss JIRA] (ISPN-9003) Clustered maxIdle expiration
Dan Berindei (JIRA)
issues at jboss.org
Tue Apr 3 10:04:02 EDT 2018
[ https://issues.jboss.org/browse/ISPN-9003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13555091#comment-13555091 ]
Dan Berindei commented on ISPN-9003:
------------------------------------
> We already have a timer task, the expiration reaper
You didn't mention it, so I wasn't 100% sure you'd want to keep running it, and whether it would do the same thing on all the owners.
> Also state transfer entities are not refreshed from an iterator invocation (they only refresh on a get or write operation).
I was thinking about the node where the entries are written. And I trust you about the iterator, but if there's a store on the source node, the state provider will call {{DataContainer.containsKey()}}, which may or may not refresh the entry (javadoc doesn't say anything about it).
> In regards to divergent clocks, this is not an issue as long as we don't send timestampes across nodes (which we don't). Every node uses the provided offset of its own current time to detect expiration. Thus since writes should occur somewhat close to each other in absolute time the expiration of various nodes would be done with only a time differential of just about the latency time between primary and backup. So this could cause an entry to be resurrected if someone read it between this time, but tbh this seems more than okay to me. Lifespan works in a similar fashion, but it actually errs on the other side in that if it expired on any node it assumes all are expired (which is much less costly network wise).
{{maxIdle}} works based on reads, not just writes, and the difference between reads on the primary and the backups can be just as big as {{maxIdle}} is. That's why I said we'd need to update the last-access timestamp on the primary after running the algorithm (and on the backups as well, if the backups can also trigger clustered {{maxIdle}} expiration).
> Clustered maxIdle expiration
> ----------------------------
>
> Key: ISPN-9003
> URL: https://issues.jboss.org/browse/ISPN-9003
> Project: Infinispan
> Issue Type: Enhancement
> Reporter: Tristan Tarrant
> Assignee: William Burns
> Fix For: 9.3.0.Beta1, 9.3.0.Final
>
>
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the infinispan-issues
mailing list