[infinispan-issues] [JBoss JIRA] (ISPN-1830) L1: On topology changes lose key requestors information
Dan Berindei (JIRA)
jira-events at lists.jboss.org
Fri Nov 2 10:18:18 EDT 2012
[ https://issues.jboss.org/browse/ISPN-1830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12731232#comment-12731232 ]
Dan Berindei commented on ISPN-1830:
------------------------------------
Yes, it's possible to get inconsistencies: in both cases, a put command will not invalidate some L1 copies, and those nodes will see stale values until their L1 entries expire.
For problem 1 (requestor information on old owners is lost) we have thought about actually transferring the requestor information with the transaction data, but that gets complicated really quickly. (It would most likely require forwarding get commands, which would negate the benefit of having an L1 in the first place.) Instead we are going to remove L1 entries that have lost owners on each topology update (which should be a small fraction of the total L1 entries).
For problem 2 (old owners are not added to requestor lists when they lose ownership), we can keep track of the consistent hashes in the last 10 minutes (or whatever the L1 lifespan is) and the time of the last invalidation sent for each key. When we need to send a new invalidation, we add the owners in all the consistent hashes since the last invalidation to the invalidation command recipients.
> L1: On topology changes lose key requestors information
> -------------------------------------------------------
>
> Key: ISPN-1830
> URL: https://issues.jboss.org/browse/ISPN-1830
> Project: Infinispan
> Issue Type: Bug
> Components: Distributed Cache
> Affects Versions: 5.1.0.FINAL
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Blocker
> Fix For: 5.2.0.CR1
>
>
> I think we are losing information about where a key needs to be invalidated when a node changes from owner to non-owner (e.g. because another node joined):
> * We lose the list of requestors stored on this node. Even if all ClusteredGetCommands reached all the current owners (which we are about to change with ISPN-825), once all the current owners leave the new owners will not know about this node's old requestors.
> * We don't add ourselves as a requestor for the key on the new owners when we invalidate the entry and move it to L1.
--
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