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/08 17:31:43 UTC
svn commit: r1837665 -
/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java
Author: cwiklik
Date: Wed Aug 8 17:31:43 2018
New Revision: 1837665
URL: http://svn.apache.org/viewvc?rev=1837665&view=rev
Log:
UIMA-5852 Modify to stop process metrics collector if process is no longer running
Modified:
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java
Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java?rev=1837665&r1=1837664&r2=1837665&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/LinuxProcessMetricsProcessor.java Wed Aug 8 17:31:43 2018
@@ -353,7 +353,18 @@ public class LinuxProcessMetricsProcesso
// if process is stopping or already dead dont collect metrics. The
// Camel route has just been stopped.
if (closed || !processIsActive()) {
- logger.info("LinuxProcessMetricsProcessor.process", null,"Process with PID:"+process.getPID() +" not in Running or Initializing state. Returning");
+ logger.info("LinuxProcessMetricsProcessor.process", null,"Process with PID:"+process.getPID() +" not in Running or Initializing state. Terminating Process Metrics Collector");
+ // Spin a thread to terminate Camel route which called this processor.
+ // This thread will stop the route since the process for which metrics
+ // collection was started is no longer running. This is a defensive
+ // measure in cases when a route is not stopped as part of process
+ // deallocation.
+ Thread t = new Thread( new Runnable() {
+ public void run() {
+ agent.onProcessExit(process);
+ }
+ });
+ t.start();
return;
}
try {