-
Bug
-
Resolution: Done
-
Major
-
3.2.8
-
None
Let's
Site LON : a (site master), b
Site NYC : x (site master), y
when b.callRemoteMethods(null, foo method, opts), no method invocation was handled on x and y.
Message that enclose MethodCall reached the remote site members (x and y), but it was interpreted as notification instead of request. Below stack trace of the exception triggered at NYC receivers.
Please find enclosed a unitary test.
4034 [ERROR] RELAY2: failed delivering message java.lang.RuntimeException: java.lang.ClassCastException: org.jgroups.blocks.MethodCall cannot be cast to java.lang.Integer at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:670) ~[classes/:?] at org.jgroups.JChannel.up(JChannel.java:719) ~[classes/:?] at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1008) ~[classes/:?] at org.jgroups.protocols.relay.RELAY2.deliver(RELAY2.java:608) [classes/:?] at org.jgroups.protocols.relay.RELAY2.up(RELAY2.java:452) [classes/:?] at org.jgroups.stack.Protocol.up(Protocol.java:406) [classes/:?] at org.jgroups.stack.Protocol.up(Protocol.java:406) [classes/:?] at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:419) [classes/:?] at org.jgroups.protocols.pbcast.NAKACK2.removeAndPassUp(NAKACK2.java:892) [classes/:?] at org.jgroups.protocols.pbcast.NAKACK2.handleMessages(NAKACK2.java:847) [classes/:?] at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:668) [classes/:?] at org.jgroups.stack.Protocol.up(Protocol.java:406) [classes/:?] at org.jgroups.protocols.TP.passBatchUp(TP.java:1383) [classes/:?] at org.jgroups.protocols.TP$BatchHandler.run(TP.java:1519) [classes/:?] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [?:1.6.0_43] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [?:1.6.0_43] at java.lang.Thread.run(Thread.java:662) [?:1.6.0_43] Caused by: java.lang.ClassCastException: org.jgroups.blocks.MethodCall cannot be cast to java.lang.Integer at com.etrali.karim.jgroups.relay.Relay2RpcDispatcherTest$MyReceiver.receive(Relay2RpcDispatcherTest.java:298) ~[bin/:?] at org.jgroups.blocks.MessageDispatcher.handleUpEvent(MessageDispatcher.java:552) ~[classes/:?] at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:667) ~[classes/:?] ... 16 more