Resolving port conflicts

Problem

You have killed and restarted a FAILED/STARTING runnable several times but it still doesn't start up properly.

Solution

Port collisions are a common reason for runnables not starting up at all or not working properly. Beware of port conflicts, for example, web servers or programs like World Wide Web Publishing Service or Routing and Remote Access might use the ports 80 and 443 by default.

  1. Check the log files for messages indicating port conflicts.

  2. Find out the ports used by an ARIS runnable using the ACC command show instance <instanceId>:

    ARIS Cloud Controller can be used in multiple modes.

    To start ACC under a Windows operating system click Start > All Programs > ARIS > Administration > Start ARIS Cloud Controller. If you have changed agent user credentials you must enter the user name and/or the password.

    To start ACC under a Linux operating system, execute the acc10.sh shell script instead. To do so, enter: su -c acc10.sh aris10.

    Example:

    ACC+ localhost>show instance abs_m

    ID: abs_m state:STARTED type:com.aris.modeling.runnables.y-server-run-prod-9.0.

    0-RC108-Trunk-SNAPSHOT)

    Configuration parameters:

            JAVA_OPTS=-server -Xrunjdwp:transport=dt_socket,address=9704,server=y,suspend=n

            JAVA-Dcom.sun.management.jmxremote.port=9604

            JAVA-Dcom.sun.management.jmxremote.ssl=false

            CATALINA_PORT=10080

            JAVA-Dcom.sun.management.jmxremote.authenticate=false

            JAVA-XX\:MaxPermSize=256m

            JAVA-Dcom.sun.management.jmxremote=/enabled

            JAVA-Xmx=8g

            zookeeper.connect.retry.time.ms=30000

            zookeeper.bundle.type=abs

            zookeeper.session.timeout.ms=60000

            CATALINA_AJP_PORT=11080

    START command was issued at Jun 5, 2013 8:47:11 AM

    Average startup time: 192915msec

    Autostart: OFF

    Desired state: STARTED

    ACC+ localhost>

  3. Use the Windows netstat command to find ports used by other programs:

    netstat –ao |more

  4. Look for lines containing the port number(s) of the runnable that is not starting up properly and which have the state listening.

    Sometimes, two programs might startup and use the same port. Only the first program will be reachable via this port.

    Proto Local Address Foreign Address State PID

    TCP    0.0.0.0:9701  MCY137201:0      LISTENING   5524

    TCP    0.0.0.0:9702   MCY137201:0      LISTENING   4652

    TCP    0.0.0.0:9703   MCY137201:0      LISTENING   5968

    TCP    0.0.0.0:9704   MCY137201:0      LISTENING   3632

    TCP    0.0.0.0:9705   MCY137201:0      LISTENING   9740

    TCP    0.0.0.0:9706   MCY137201:0      LISTENING   6464

    TCP    0.0.0.0:9707   MCY137201:0      LISTENING   6836

    TCP    0.0.0.0:9708   MCY137201:0      LISTENING   6400

    TCP    0.0.0.0:9709   MCY137201:0      LISTENING   7156

    TCP    0.0.0.0:10080  MCY137201:0      LISTENING   2992

    TCP    0.0.0.0:10080  MCY137201:0      LISTENING   6836

    TCP    0.0.0.0:10081  MCY137201:0      LISTENING   3632

    TCP    0.0.0.0:10082  MCY137201:0      LISTENING   7922

    TCP    0.0.0.0:10083  MCY137201:0      LISTENING   4094

    ...

  5. Use Windows Task Manager to identify the program using its PID that is using that port.

After you have stopped the program causing the conflict or redirected ports (see ARIS Cloud Controller (ACC) Command-Line Tool), all ARIS runnables will start up properly.