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: