[infinispan-issues] [JBoss JIRA] Created: (ISPN-922) Flags not being sent along with RpcCommands fail to affect remote InvocationContext

Sanne Grinovero (JIRA) jira-events at lists.jboss.org
Wed Feb 9 09:24:46 EST 2011


Flags not being sent along with RpcCommands fail to affect remote InvocationContext
-----------------------------------------------------------------------------------

                 Key: ISPN-922
                 URL: https://issues.jboss.org/browse/ISPN-922
             Project: Infinispan
          Issue Type: Bug
          Components: Locking and Concurrency, RPC
    Affects Versions: 4.2.0.Final, 4.1.0.Final, 4.0.0.Final
            Reporter: Sanne Grinovero
            Assignee: Manik Surtani
             Fix For: 4.2.1.Final, 5.0.0.ALPHA3


Using the following sequence, using REPL_SYNC:

[thread-A] nodeOne.put(K1, V1);
[thread-B] nodeTwo.startBatch();
[thread-B] nodeTwo.remove(K1);
[thread-A] nodeOne.withFlags(Flag.SKIP_LOCKING).remove(K1);

At the last line, thread-B is blocked waiting to end the batch to
after thread-A finished. This results in thread-A to throw a

"org.infinispan.util.concurrent.TimeoutException: Unable to acquire
lock after [500 milliseconds] on key"

Still if I run the same sequence of operation on two different threads
on the same node, this will work just fine and not throw any error:

[thread-A] nodeOne.put(K1, V1);
[thread-B] nodeOne.startBatch();
[thread-B] nodeOne.remove(K1);
[thread-A] nodeOne.withFlags(Flag.SKIP_LOCKING).remove(K1);

Looking into org.infinispan.interceptors.ReplicationInterceptor.handleCrudMethod(InvocationContext,
WriteCommand), it seems that any Flag is not sent to remove nodes.
Actually the whole org.infinispan.remoting.rpc.RpcManager interface is
not interested in Flags.

Test being send soon to GitHub.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the infinispan-issues mailing list