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/06/19 13:38:57 UTC
svn commit: r1833844 - in
/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher:
CommandExecutor.java DefunctProcessDetector.java DuccCommandExecutor.java
Author: cwiklik
Date: Tue Jun 19 13:38:57 2018
New Revision: 1833844
URL: http://svn.apache.org/viewvc?rev=1833844&view=rev
Log:
UIMA-5794 stop processes with status=FAILED_INITIALIZATION
Modified:
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DefunctProcessDetector.java
uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java
Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java?rev=1833844&r1=1833843&r2=1833844&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CommandExecutor.java Tue Jun 19 13:38:57 2018
@@ -90,6 +90,8 @@ public abstract class CommandExecutor im
if ( !((ManagedProcess) managedProcess).getDuccProcess()
.getProcessState().equals(ProcessState.Stopped) ||
!((ManagedProcess) managedProcess).getDuccProcess()
+ .getProcessState().equals(ProcessState.Stopping) ||
+ !((ManagedProcess) managedProcess).getDuccProcess()
.getProcessState().equals(ProcessState.Failed) ||
!((ManagedProcess) managedProcess).getDuccProcess()
.getProcessState().equals(ProcessState.FailedInitialization)
@@ -101,12 +103,7 @@ public abstract class CommandExecutor im
((ManagedProcess) managedProcess).setPid(String.valueOf(pid));
((ManagedProcess) managedProcess)
.getDuccProcess().setPID(String.valueOf(pid));
- logger.info(methodName, null,
- ">>>>>>>>> PID:"
- + String.valueOf(pid)
- + " Process State:"
- + ((ManagedProcess) managedProcess)
- .getDuccProcess().getProcessState());
+
try {
synchronized (this) {
// wait for 5 seconds before starting the camel route
@@ -115,6 +112,22 @@ public abstract class CommandExecutor im
// enough time for the process to start.
wait(5000);
}
+ logger.info(methodName, null,
+ ">>>>>>>>> PID:"
+ + String.valueOf(pid)
+ + " Process State:"
+ + ((ManagedProcess) managedProcess)
+ .getDuccProcess().getProcessState());
+
+ if ( !((ManagedProcess) managedProcess).getDuccProcess()
+ .getProcessState().equals(ProcessState.Stopped) &&
+ !((ManagedProcess) managedProcess).getDuccProcess()
+ .getProcessState().equals(ProcessState.Stopping) &&
+ !((ManagedProcess) managedProcess).getDuccProcess()
+ .getProcessState().equals(ProcessState.Failed) &&
+ !((ManagedProcess) managedProcess).getDuccProcess()
+ .getProcessState().equals(ProcessState.FailedInitialization)
+ ) {
RouteBuilder rb = agent.new ProcessMemoryUsageRoute(agent,
((ManagedProcess) managedProcess).getDuccProcess(),
(ManagedProcess) managedProcess);
@@ -135,6 +148,30 @@ public abstract class CommandExecutor im
"Started Process Metric Gathering Thread For PID:"
+ String.valueOf(pid));
+
+ }
+
+ /*
+ RouteBuilder rb = agent.new ProcessMemoryUsageRoute(agent,
+ ((ManagedProcess) managedProcess).getDuccProcess(),
+ (ManagedProcess) managedProcess);
+ agent.getContext().addRoutes(rb);
+ agent.getContext().startRoute(String.valueOf(pid));
+ logger.info(methodName, null,
+ "Started Process Metric Gathering Thread For PID:"
+ + String.valueOf(pid));
+
+ StringBuffer sb = new StringBuffer();
+ for (Route route : agent.getContext().getRoutes()) {
+ sb.append("Camel Context - RouteId:" + route.getId()
+ + "\n");
+ }
+ logger.info(methodName, null, sb.toString());
+
+ logger.info(methodName, null,
+ "Started Process Metric Gathering Thread For PID:"
+ + String.valueOf(pid));
+ */
} catch (Exception e) {
logger.error("postExecStep", null, e);
}
Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DefunctProcessDetector.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DefunctProcessDetector.java?rev=1833844&r1=1833843&r2=1833844&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DefunctProcessDetector.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DefunctProcessDetector.java Tue Jun 19 13:38:57 2018
@@ -58,7 +58,8 @@ public class DefunctProcessDetector impl
// process is a zombie
zombie = (line.indexOf("defunct") > 0);
if ( zombie ) {
- break;
+ logger.info("DefunctProcessDetector.isDefunctProcess", null, "Process with PID:"+pid+" Is Defunct - OS reports:"+line);
+ break;
}
}
} catch (Exception e) {
Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java?rev=1833844&r1=1833843&r2=1833844&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java Tue Jun 19 13:38:57 2018
@@ -291,7 +291,7 @@ public class DuccCommandExecutor extends
}
return managedProcess;
- } catch (Exception e) {
+ } catch (Throwable e) {
if (((ManagedProcess) super.managedProcess).getDuccProcess() != null) {
DuccId duccId = ((ManagedProcess) super.managedProcess)
.getDuccId();
@@ -300,6 +300,7 @@ public class DuccCommandExecutor extends
.getDuccProcess().getDuccId(), e,
new Object[] {});
}
+ logger.error(methodName, null, e);
throw e;
}
}
@@ -312,6 +313,8 @@ public class DuccCommandExecutor extends
((ManagedProcess) managedProcess).getDuccProcess().getProcessState()
.equals(ProcessState.Starting) ||
((ManagedProcess) managedProcess).getDuccProcess().getProcessState()
+ .equals(ProcessState.Stopping) ||
+ ((ManagedProcess) managedProcess).getDuccProcess().getProcessState()
.equals(ProcessState.Started)
);
}
@@ -746,6 +749,7 @@ public class DuccCommandExecutor extends
} else {
cmdLine.addOption("-Dducc.deploy.components=uima-as");
((JavaCommandLine)cmdLine).setClassName("org.apache.uima.ducc.common.main.DuccService");
+ // ((JavaCommandLine)cmdLine).setClassName("org.apache.uima.ducc.ps.service.main.ServiceWrapper");
}
break;
}