[infinispan-issues] [JBoss JIRA] (ISPN-2604) When accessing a Transient entry on one node of a cluster, make sure all copies are touched to avoid expiration
Ray Tsang (JIRA)
jira-events at lists.jboss.org
Thu Jan 10 15:22:08 EST 2013
[ https://issues.jboss.org/browse/ISPN-2604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745001#comment-12745001 ]
Ray Tsang commented on ISPN-2604:
---------------------------------
I feel that's true in a library mode perspective. But in terms of hotrod client/server, if remoteCache.get(key) occurs all in node-1 and then after expiry it accesses it from node-2, the entry would be unavailable on node-2 even though it's still on node-1. from remoteCache's perspective, the entry shouldn't have expired. In worst case scenario, max idle would behave just like lifespan in remote cache.
That being said, I think ISPN-2655 would prevent the above scenario from hotrod's perspective.
> When accessing a Transient entry on one node of a cluster, make sure all copies are touched to avoid expiration
> ---------------------------------------------------------------------------------------------------------------
>
> Key: ISPN-2604
> URL: https://issues.jboss.org/browse/ISPN-2604
> Project: Infinispan
> Issue Type: Enhancement
> Components: Distributed Cache
> Reporter: Ray Tsang
> Assignee: Mircea Markus
> Fix For: 8.0.0.Final
>
>
> Following up on this topic, this is what I have setup:
> 2 nodes in cluster (either lib mode or remote) - node-1 and node-2
> a cache setup as distributed, synchronous (dist_sync)
> cache.put("key", "value", -1, TimeUnit.MILLISECONDS, 2000, TimeUnit.MILLISECONDS);
> for (i = 0; i < 10; i++) {
> sleep(1000) // sleep 1 second
> cache.get("key");
> }
> Here is the weird thing, after a few gets, I'm starting to get null results. This doesn't occur when there is only 1 node in the cluster.
> I'm suspecting that, w/ when accessing the data, it could be accessing 1 of the 2 nodes based on load balancing.
> cache.get("key") -> node-1 // 1s
> cache.get("key") -> node-1 // 2s
> cache.get("key") -> node-1 // 3s
> cache.get("key") -> node-2 // oops, this is already expired on node-2
> It would be nice to be able to make sure when accessing an entry from one node, the entry copies on other nodes are also "touched".
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list