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

RELAY2: RPC calls fail on remote site members

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 3.2.9, 3.3
    • 3.2.8
    • None

    Description

      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
      

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: