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

RpcDispatcher.callRemoteMethods() hangs

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.4.2, 2.5.2, 2.6.1, 2.7
    • 2.5.1
    • None

    Description

      RpcDispatcher.callRemoteMethods() hangs, while there is a lot of member churn at the time (4 servers starting into a cluster of 4). 1 of the 4 server starting up is hung with the attached stack trace.

      -------------------------------------------------------------------
      channel=new JChannel(jgroups_config_file);
      channel.setOpt(Channel.AUTO_RECONNECT, Boolean.TRUE);
      channel.addChannelListener(this);

      //TODO: verify these startup params
      //NOTE: deadlock detection leaks memory as of 2.5b2, do not use
      disp=new RpcDispatcher(channel, null, this, this, false, true);

      //force connect
      channel.connect(clusterName);

      MethodCall mc = new MethodCall("remoteBroadcastAvailability", new Object[]

      {peer,sequence,serviceStatus,rotationStatus}

      , new Class[]

      {Address.class,Long.class,ServiceStatus.class,RotationStatus.class}

      );

      disp.callRemoteMethods(channel.getView().getMembers(), mc, GroupRequest.GET_ALL, 0);
      -------------------------------------------------------------------

      Name: main
      State: WAITING on java.util.HashMap@2d95bbec
      Total blocked: 53 Total waited: 12

      Stack trace:
      java.lang.Object.wait(Native Method)
      java.lang.Object.wait(Object.java:474)
      org.jgroups.blocks.GroupRequest.doExecute(GroupRequest.java:479)
      org.jgroups.blocks.GroupRequest.execute(GroupRequest.java:190)
      org.jgroups.blocks.MessageDispatcher.castMessage(MessageDispatcher.java:430)
      org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:199)
      org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:167)
      org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:163)
      utils.cluster.PeerClusterManager.broadcastAvailability(PeerClusterManager.java:1110)
      utils.cluster.PeerClusterManager.broadcastMyAvailability(PeerClusterManager.java:428)
      init.InitManager.ensureInitialized(InitManager.java:552)
      init.InitManager.__init(InitManager.java:409)
      init.InitManager.init(InitManager.java:300)
      init.ServletListener.contextInitialized(ServletListener.java:23)
      org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669)
      org.apache.catalina.core.StandardContext.start(StandardContext.java:4104)
      org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
      org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
      org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
      org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
      org.apache.catalina.core.StandardService.start(StandardService.java:450)
      org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
      org.apache.catalina.startup.Catalina.start(Catalina.java:537)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      java.lang.reflect.Method.invoke(Method.java:585)
      org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
      org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)

      Attachments

        1. bla.java
          2 kB
        2. stacktrace.txt
          2 kB
        3. tcp-config.xml
          3 kB

        Activity

          People

            rhn-engineering-bban Bela Ban
            pe123_jira P Eger (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: