Merge "On ARPHandler restart Threads are left dangling, very visible in the IT tests"
authorAlessandro Boch <aboch@cisco.com>
Tue, 27 Aug 2013 20:39:05 +0000 (20:39 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 27 Aug 2013 20:39:05 +0000 (20:39 +0000)
.gitignore
opendaylight/clustering/services_implementation/src/main/java/org/opendaylight/controller/clustering/services_implementation/internal/ClusterManager.java
opendaylight/distribution/opendaylight/src/main/resources/run.sh
opendaylight/routing/dijkstra_implementation/src/main/java/org/opendaylight/controller/routing/dijkstra_implementation/internal/DijkstraImplementation.java

index d1b82619fd423994f595239f7103389f1534a5eb..52881a35c0d72866673043a6ebb3cb2de75394c9 100644 (file)
@@ -13,3 +13,8 @@ target
 .settings
 MANIFEST.MF
 opendaylight/northbound/integrationtest/logs/*
+*.ipr
+*.iml
+*.iws
+.idea
+
index c3fd30ae9b65629c8e83bb7f789229b0b6bc5870..f5c655a4eae8fb52afcefad92507177ff1cc479a 100644 (file)
@@ -227,7 +227,8 @@ public class ClusterManager implements IClusterServices, IContainerAware {
         if (amIGossipRouter) {
             logger.info("I'm a GossipRouter will listen on port {}",
                     gossipRouterPort);
-            res = new GossipRouter(gossipRouterPort);
+            // Start a GossipRouter with JMX support
+            res = new GossipRouter(gossipRouterPort, null, true);
         }
         return res;
     }
index 2587a5d2ab54de060c4a258713352febf4c97725..2daa1f42e3da236d9b320bdad504cdf48eb67903 100755 (executable)
@@ -40,7 +40,7 @@ JVM at path ${JAVA_HOME}/bin/java check your JAVA_HOME" && exit -1;
 basedir=`dirname ${fullpath}`
 
 function usage {
-    echo "Usage: $0 [-debug] [-debugsuspend] [-debugport <num>] [-start [<console port>]] [-stop] [-status] [-console] [-help] [<other args will automatically be used for the JVM>]"
+    echo "Usage: $0 [-jmx] [-jmxport <num>] [-debug] [-debugsuspend] [-debugport <num>] [-start [<console port>]] [-stop] [-status] [-console] [-help] [<other args will automatically be used for the JVM>]"
     exit 1
 }
 
@@ -56,6 +56,9 @@ debugportread=""
 startdaemon=0
 daemonport=2400
 daemonportread=""
+jmxport=1088
+jmxportread=""
+startjmx=0
 stopdaemon=0
 statusdaemon=0
 consolestart=1
@@ -65,8 +68,10 @@ unknown_option=0
 while true ; do
     case "$1" in
         -debug) debug=1; shift ;;
+        -jmx) startjmx=1; shift ;;
         -debugsuspend) debugsuspend=1; shift ;;
         -debugport) shift; debugportread="$1"; if [[ "${debugportread}" =~ ^[0-9]+$ ]] ; then debugport=${debugportread}; shift; else echo "-debugport expects a number but was not found"; exit -1; fi;;
+        -jmxport) shift; jmxportread="$1"; if [[ "${jmxportread}" =~ ^[0-9]+$ ]] ; then jmxport=${jmxportread}; shift; else echo "-jmxport expects a number but was not found"; exit -1; fi;;
         -start) startdaemon=1; shift; daemonportread="$1"; if [[ "${daemonportread}" =~ ^[0-9]+$ ]] ; then daemonport=${daemonportread}; shift; fi;;
         -stop) stopdaemon=1; shift ;;
         -status) statusdaemon=1; shift ;;
@@ -100,6 +105,12 @@ if [[ "${daemonport}" -lt 1024 ]] || [[ "${daemonport}" -gt 65535 ]]; then
     exit -1
 fi
 
+# Validate jmx port
+if [[ "${jmxport}" -lt 1024 ]] || [[ "${jmxport}" -gt 65535 ]]; then
+    echo "JMX Port not in the range [1024,65535] value is ${jmxport}"
+    exit -1
+fi
+
 # Debug options
 if [ "${debugsuspend}" -eq 1 ]; then
     extraJVMOpts="${extraJVMOpts} -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${debugport}"
@@ -107,6 +118,11 @@ elif [ "${debug}" -eq 1 ]; then
     extraJVMOpts="${extraJVMOpts} -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=${debugport}"
 fi
 
+# Add JMX support
+if [ "${startjmx}" -eq 1 ]; then
+    extraJVMOpts="${extraJVMOpts} -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=${jmxport} -Dcom.sun.management.jmxremote"
+fi
+
 ########################################
 # Now add to classpath the OSGi JAR
 ########################################
index a8ef381528d5a9fc8f839e40427e4e7f9e9d27de..07f18ff6abfaefb616371fe99d787b95e997f813 100644 (file)
@@ -37,8 +37,6 @@ import edu.uci.ics.jung.graph.Graph;
 import edu.uci.ics.jung.graph.SparseMultigraph;
 import edu.uci.ics.jung.graph.util.EdgeType;
 
-import java.lang.Exception;
-import java.lang.IllegalArgumentException;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -234,7 +232,7 @@ public class DijkstraImplementation implements IRouting, ITopologyManagerCluster
     @Override
     public synchronized void clearMaxThroughput() {
         if (mtp != null) {
-            mtp.reset(); // reset maxthruput path
+            mtp.reset(); // reset max throughput path
         }
     }