Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1623

RELAY2: RPC calls fail on remote site members

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 3.2.9, 3.3
    • 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
      

              rhn-engineering-bban Bela Ban
              ammous Karim AMMOUS (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: