You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by lu...@apache.org on 2015/07/11 00:47:08 UTC

svn commit: r1690317 - in /directory/apacheds/trunk: installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh service/src/main/java/org/apache/directory/server/UberjarMain.java

Author: lucastheisen
Date: Fri Jul 10 22:47:08 2015
New Revision: 1690317

URL: http://svn.apache.org/r1690317
Log:
DIRSERVER-2081: ApacheDS taking up to 30 seconds stop stop politely

Modified:
    directory/apacheds/trunk/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh
    directory/apacheds/trunk/service/src/main/java/org/apache/directory/server/UberjarMain.java

Modified: directory/apacheds/trunk/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh?rev=1690317&r1=1690316&r2=1690317&view=diff
==============================================================================
--- directory/apacheds/trunk/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh (original)
+++ directory/apacheds/trunk/installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/archive/apacheds.sh Fri Jul 10 22:47:08 2015
@@ -198,17 +198,20 @@ elif [ "$ADS_ACTION" = "stop" ]; then
             kill -15 $PID > /dev/null 2>&1
         fi
 
-        ATTEMPTS_REMAINING=10
+        ATTEMPTS_REMAINING=60
         while [ $ATTEMPTS_REMAINING -gt 0 ]; do
             kill -0 $PID > /dev/null 2>&1
-            if [ $? -gt 0 ]; then
+            EXIT_CODE=$?
+            if [ $EXIT_CODE -gt 0 ]; then
                 rm -f $ADS_PID > /dev/null 2>&1
                 [ $HAVE_TTY -eq 1 ] && echo "ApacheDS instance '$ADS_INSTANCE_NAME' stopped successfully"
-                break
+                exit 0
             fi
             sleep 1
+            [ $HAVE_TTY -eq 1 ] && echo "ApacheDS stopping $PID: $EXIT_CODE, $ATTEMPTS_REMAINING attempts remaining"
             ATTEMPTS_REMAINING=`expr $ATTEMPTS_REMAINING - 1`
         done
+        exit 1 # failed to exit successfully
     else
         [ $HAVE_TTY -eq 1 ] && echo "ApacheDS is not running, $ADS_PID does not exist"
     fi

Modified: directory/apacheds/trunk/service/src/main/java/org/apache/directory/server/UberjarMain.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/service/src/main/java/org/apache/directory/server/UberjarMain.java?rev=1690317&r1=1690316&r2=1690317&view=diff
==============================================================================
--- directory/apacheds/trunk/service/src/main/java/org/apache/directory/server/UberjarMain.java (original)
+++ directory/apacheds/trunk/service/src/main/java/org/apache/directory/server/UberjarMain.java Fri Jul 10 22:47:08 2015
@@ -133,7 +133,10 @@ public class UberjarMain
                     LOG.error( "Failed to start the service.", e );
                     System.exit( 1 );
                 }
+
                 instance.start( instanceDirectory );
+
+                LOG.debug( "Runtime stopped" );
                 break;
             case STOP:
                 LOG.debug( "Stopping runtime" );
@@ -144,6 +147,8 @@ public class UberjarMain
                 }
                 break;
         }
+
+        LOG.trace( "Exiting main" );
     }
 
     private static int getShutdownPort()
@@ -177,14 +182,11 @@ public class UberjarMain
         // Creating ApacheDS service
         service = new ApacheDsService();
 
-        // Creating instance layouts from the argument
-        InstanceLayout instanceLayout = new InstanceLayout( args[0] );
-
         // Initializing the service
         try
         {
             LOG.info( "Starting the service." );
-            service.start( instanceLayout );
+            service.start( new InstanceLayout( args[0] ) );
         }
         catch ( Exception e )
         {
@@ -202,6 +204,7 @@ public class UberjarMain
             {
                 LOG.info( "Stopping the service." );
                 service.stop();
+                LOG.info( "Service stopped successfully." );
             }
             catch ( Exception e )
             {