Yes, this is a critical issue. Flags should be sent along with the
command. Create a jira, I'll take a look.
Sent from my iPhone
On 9 Feb 2011, at 11:33, Sanne Grinovero <sanne.grinovero(a)gmail.com> wrote:
> 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.
>
> This looks like to me a critical issue, or am I missing some design requirement?
>
> Regards,
> Sanne
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev