Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-8122

OpenIDM Cluster incorrectly shows ready and running

    Details

    • Sprint:
      OpenIDM Sprint 85

      Description

      This bug can be reproduced by following the steps for setting up openidm cluster on one machine: https://ea.forgerock.com/docs/openidm/doc/bootstrap/integrators-guide/index.html#cluster-config

      By following the directions and not changing the ports on either instance, on startup of the second instance you will get errors but after the errors are thrown it will show as ready

      Apr 19, 2017 1:16:06 PM org.ops4j.pax.web.service.internal.HttpServiceStarted registerServlet
      SEVERE: Could not start the servlet context for context path []
      MultiException[java.net.BindException: Address already in use, java.net.BindException: Address already in use, java.net.BindException: Address already in use]
      at org.eclipse.jetty.server.Server.doStart(Server.java:329)
      at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:281)
      at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:221)
      at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:195)
      at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:179)
      at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:64)
      at org.forgerock.openidm.ui.internal.service.ResourceServlet.init(ResourceServlet.java:192)
      at org.forgerock.openidm.ui.internal.service.ResourceServlet.activate(ResourceServlet.java:93)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
      at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
      at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
      at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
      at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)
      at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)
      at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:297)
      at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:108)
      at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)
      at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:748)
      at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1012)
      at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:968)
      at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1215)
      at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1136)
      at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:945)
      at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:881)
      at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1167)
      at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:127)
      at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:991)
      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:839)
      at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:546)
      at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557)
      at org.apache.felix.framework.Felix.registerService(Felix.java:3549)
      at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
      at org.ops4j.pax.web.service.internal.Activator.updateController(Activator.java:357)
      at org.ops4j.pax.web.service.internal.Activator$3.run(Activator.java:294)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
      Suppressed: java.net.BindException: Address already in use
      at sun.nio.ch.Net.bind0(Native Method)
      at sun.nio.ch.Net.bind(Net.java:433)
      at sun.nio.ch.Net.bind(Net.java:425)
      at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
      at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
      at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:321)
      at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
      at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
      at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      at org.eclipse.jetty.server.Server.doStart(Server.java:366)
      ... 44 more
      Suppressed: java.net.BindException: Address already in use
      at sun.nio.ch.Net.bind0(Native Method)
      at sun.nio.ch.Net.bind(Net.java:433)
      at sun.nio.ch.Net.bind(Net.java:425)
      at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
      at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
      at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:321)
      at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
      at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
      at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      at org.eclipse.jetty.server.Server.doStart(Server.java:366)
      ... 44 more
      Caused by: java.net.BindException: Address already in use
      at sun.nio.ch.Net.bind0(Native Method)
      at sun.nio.ch.Net.bind(Net.java:433)
      at sun.nio.ch.Net.bind(Net.java:425)
      at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
      at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
      at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:321)
      at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
      at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
      at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      at org.eclipse.jetty.server.Server.doStart(Server.java:366)
      ... 44 more

      OpenIDM ready

      Despite saying ready, the instance is not actually up and running.

      You can also see this behavior be calling: GET http://localhost:8081/openidm/cluster
      The response will show as:

      {
      "_id": "",
      "results": [

      Unknown macro: { "instanceId"}

      ,

      Unknown macro: { "instanceId"}

      ]
      }

      Both show up as running, however if you kill the node that started without errors, the api no longer works at all.

        Attachments

          Activity

            People

            • Assignee:
              krismy.alfaro Krismy Alfaro
              Reporter:
              krismy.alfaro Krismy Alfaro
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: