]
Manik Surtani resolved ISPN-369.
--------------------------------
Resolution: Done
InvalidateL1Command should not be invoked if the keys are local
---------------------------------------------------------------
Key: ISPN-369
URL:
https://jira.jboss.org/jira/browse/ISPN-369
Project: Infinispan
Issue Type: Task
Components: Distributed Cache
Affects Versions: 4.0.0.Final
Reporter: Manik Surtani
Assignee: Manik Surtani
Fix For: 4.1.0.ALPHA1, 4.1.0.Final
InvalidateL1Command currently is broadcast cluster-wide (multicast) for the sake of
efficiency. This means that even other owners will receive this command. The
command's perform() method will prevent such owners from evicting the keys though, so
this does not affect correctness.
However it does affect performance since the command is still passed up the interceptor
stack and, crucially, locks are acquired for the keys in question.
A better solution would be for ReplicableCommand to expose a boolean shouldInvoke()
method. By default this always returns true, but in the case of the InvalidateL1Command,
the ownership of keys is checked here. The InboundInvocationHandler can then choose
whether to invoke the command or not.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: