[infinispan-issues] [JBoss JIRA] Created: (ISPN-369) InvalidateL1Command should not be invoked if the keys are local

Manik Surtani (JIRA) jira-events at lists.jboss.org
Wed Mar 10 12:09:38 EST 2010


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: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the infinispan-issues mailing list