You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2018/08/27 13:31:17 UTC

svn commit: r1839320 [2/2] - in /uima/uima-ducc/trunk: uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/ uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/config/ uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/ uima-ducc-...

Modified: uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultServiceProtocolHandler.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultServiceProtocolHandler.java?rev=1839320&r1=1839319&r2=1839320&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultServiceProtocolHandler.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/protocol/builtin/DefaultServiceProtocolHandler.java Mon Aug 27 13:31:17 2018
@@ -43,6 +43,7 @@ import org.apache.uima.ducc.ps.service.p
 import org.apache.uima.ducc.ps.service.transport.IServiceTransport;
 import org.apache.uima.ducc.ps.service.transport.TransportException;
 import org.apache.uima.ducc.ps.service.transport.XStreamUtils;
+import org.apache.uima.ducc.ps.service.utils.Utils;
 import org.apache.uima.util.Level;
 import org.apache.uima.util.Logger;
 
@@ -291,10 +292,12 @@ public class DefaultServiceProtocolHandl
 				break;
 			}
 			catch (Exception e) {
+				
 				logger.log(Level.WARNING,"",e);
 			} 		
 		}
 		stopLatch.countDown();
+		System.out.println(Utils.getTimestamp()+">>>>>>> "+Utils.getShortClassname(this.getClass())+".call() >>>>>>>>>> Thread ["+Thread.currentThread().getId()+"] "+ " ProtocolHandler stopped requesting new tasks - Stopping processor");
 		logger.log(Level.INFO,"ProtocolHandler stopped requesting new tasks - Stopping processor");
 
 		if ( processor != null ) {
@@ -334,15 +337,23 @@ public class DefaultServiceProtocolHandl
 	}
 	@Override
 	public void quiesceAndStop() {
+		// Use System.out since the logger's ShutdownHook may have closed streams
+		System.out.println(Utils.getTimestamp()+">>>>>>> "+Utils.getShortClassname(this.getClass())+".queisceAndStop()");
+		logger.log(Level.INFO, this.getClass().getName()+" quiesceAndStop() called");
+		// change state of transport to not running but keep connection open
+		// so that other threads can quiesce (send results)
+		transport.stop(true);
+		
 		quiescing = true;
 		running = false;
-		logger.log(Level.INFO, this.getClass().getName()+" quiesceAndStop() called");
 		try {
 			// wait for process threads to terminate
 			stopLatch.await();
 		} catch( Exception e ) {
 
 		}
+		// Use System.out since the logger's ShutdownHook may have closed streams
+		System.out.println(Utils.getTimestamp()+">>>>>>> "+Utils.getShortClassname(this.getClass())+".queisceAndStop() All process threads completed quiesce");
 		logger.log(Level.INFO, this.getClass().getName()+" All process threads completed quiesce");
 	}
 	@Override

Modified: uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/IServiceTransport.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/IServiceTransport.java?rev=1839320&r1=1839319&r2=1839320&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/IServiceTransport.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/IServiceTransport.java Mon Aug 27 13:31:17 2018
@@ -29,6 +29,6 @@ public interface IServiceTransport exten
 	// initialize transport
 	public void initialize() throws ServiceInitializationException; 
 	// stop transport
-	public void stop(); 
+	public void stop(boolean quiesce); 
 	public void addRequestorInfo(IMetaTaskTransaction transaction);
 }

Modified: uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/http/HttpServiceTransport.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/http/HttpServiceTransport.java?rev=1839320&r1=1839319&r2=1839320&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/http/HttpServiceTransport.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/transport/http/HttpServiceTransport.java Mon Aug 27 13:31:17 2018
@@ -55,6 +55,7 @@ import org.apache.uima.ducc.ps.service.t
 import org.apache.uima.ducc.ps.service.transport.TransportStats;
 import org.apache.uima.ducc.ps.service.transport.target.NoOpTargetURI;
 import org.apache.uima.ducc.ps.service.transport.target.TargetURIFactory;
+import org.apache.uima.ducc.ps.service.utils.Utils;
 import org.apache.uima.util.Level;
 import org.apache.uima.util.Logger;
 
@@ -288,7 +289,7 @@ public class HttpServiceTransport implem
 
 		} catch (HttpHostConnectException | UnknownHostException ex ) {
 			if ( stopping ) {
-				System.out.println("Process Thread:"+Thread.currentThread().getId()+" HttpHostConnectException ");
+				System.out.println(this.getClass().getName()+".dispatch() Process Thread:"+Thread.currentThread().getId()+" HttpHostConnectException ");
 				
 				throw new TransportException(ex);
 			}
@@ -302,6 +303,7 @@ public class HttpServiceTransport implem
 					if ( log ) {
 						log = false;
 
+						System.out.println( this.getClass().getName()+".dispatch() >>>>>>>>>> Unable to connect to target:"+currentTargetUrl.asString()+" - retrying until successfull - with "+threadSleepTime/1000+" seconds wait between retries  ");
 						logger.log(Level.INFO, ">>>>>>>>>> Unable to connect to target:"+currentTargetUrl.asString()+" - retrying until successfull - with "+threadSleepTime/1000+" seconds wait between retries  ");
 					}
 					serializedResponse = retryUntilSuccessfull(serializedRequest, postMethod);
@@ -351,15 +353,19 @@ public class HttpServiceTransport implem
  		}
  		
  	}
-	public void stop() {
+	public void stop(boolean quiesce) {
 
 		stopping = true;
 		running = false;
+		// Use System.out since the logger's ShutdownHook may have closed streams
+		System.out.println(Utils.getTimestamp()+">>>>>>> "+Utils.getShortClassname(this.getClass())+" stop() called - mode:"+(quiesce==true?"quiesce":"stop"));
 		logger.log(Level.INFO,this.getClass().getName()+" stop() called");
-		if ( cMgr != null ) {
+		if ( !quiesce && cMgr != null ) {
 			cMgr.shutdown();
+			System.out.println(Utils.getTimestamp()+">>>>>>> "+Utils.getShortClassname(this.getClass())+" stopped connection mgr");
+			logger.log(Level.INFO,this.getClass().getName()+" stopped connection mgr");
+
 		}
-		logger.log(Level.INFO,this.getClass().getName()+" stopped connection mgr");
 	}
 	public static void main(String[] args) {
 

Modified: uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/utils/Utils.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/utils/Utils.java?rev=1839320&r1=1839319&r2=1839320&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/utils/Utils.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/utils/Utils.java Mon Aug 27 13:31:17 2018
@@ -23,13 +23,24 @@ import java.lang.management.ManagementFa
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.text.DateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Properties;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 public class Utils {
+	
+	public static String getTimestamp() {
+		Date now = new Date();
+		return DateFormat.getDateTimeInstance().format(now);
+	}
+	
+	public static String getShortClassname(Class clz) {
+		return clz.getName().substring(clz.getName().lastIndexOf(".")+1);
+	}
 	   /**
      * Create an array of parameters from a whitespace-delimited list (e.g. JVM args or environment assignments.)
      * Values containing whitespace must be single- or double-quoted:

Modified: uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IProcessState.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IProcessState.java?rev=1839320&r1=1839319&r2=1839320&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IProcessState.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IProcessState.java Mon Aug 27 13:31:17 2018
@@ -36,6 +36,7 @@ public interface IProcessState extends S
 		Killed,         		// Agent forcefully killed the process
 		KillProcess,        	// UIMA-AS Ducc Service Wrapper requesting agent to kill the process
 		Abandoned,				// Process abandoned
+		Rejected,	            // Agent is quiescing, rejects new process start request
 		Undefined,				// None of the above
 	};