[
https://issues.jboss.org/browse/ISPN-2172?page=com.atlassian.jira.plugin....
]
Galder Zamarreño edited comment on ISPN-2172 at 7/26/12 11:32 AM:
------------------------------------------------------------------
This is the problem:
Node A pushes k1 to node B, and node A stops being an owner. In theory, node A should
remove k1 from memory, but since L1 is enabled, it keeps it in memory, in the L1 (quite
possibly for efficiency). However, node B has not been told that node A is gonna actually
keep it (iow, node A has not been added as requestor for key k1 in node B's
L1ManagerImpl), so when a remove comes to node B, it doesn't realise that it needs to
remove from node A too.
The reason node B does not add node A as requestor for k1 is cos the put call being passed
up the stack when applying the state transfer is local, so the logic in
DistributionInterceptor.visitPutKeyValueCommand() to add k1 as being 'requested'
by node A does not kick in.
was (Author: galder.zamarreno):
This is the problem is this:
node A pushes k1 to node B, and node A stops being an owner. In theory, node A should
remove k1 from memory, but since L1 is enabled, it keeps it in memory, in the L1 (quite
possibly for efficiency). However, node A has not been told that node B is gonna actually
keep it (iow, k1 for node B has not been added to the L1ManagerImpl), so when a remove
comes to node A, it doesn't realise that it needs to remove.
Cache removals not removing L1 cached values in non-owners after
rehashing
--------------------------------------------------------------------------
Key: ISPN-2172
URL:
https://issues.jboss.org/browse/ISPN-2172
Project: Infinispan
Issue Type: Bug
Components: Distributed Cache
Affects Versions: 5.1.5.FINAL, 5.2.0.ALPHA2
Reporter: Galder Zamarreño
Assignee: Galder Zamarreño
Priority: Critical
Labels: jdg, jdg6
Fix For: 5.2.0.ALPHA3, 5.2.0.FINAL
There appears to be an issue L1 and removals.
Seems like on removal, non-owners are not invalidated and data is left in memory.
If using a Hot Rod server, it would appear as if the remote get operations don't
return anything after removal is cos it goes to an owner node, where data is indeed
removed.
However, if you try to build a test case with embedded cache, it clearly shows that after
removal, data is left in memory.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira