Author: degenaro Date: Tue Feb 16 20:40:23 2016 New Revision: 1730746 URL: http://svn.apache.org/viewvc?rev=1730746&view=rev Log: UIMA-4799 DUCC Orchestrator (OR) Service Instance failures are not captured in any user viewable log
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/user/UserLogging.java Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java?rev=1730746&r1=1730745&r2=1730746&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java Tue Feb 16 20:40:23 2016 @@ -29,6 +29,7 @@ import org.apache.uima.ducc.common.utils import org.apache.uima.ducc.common.utils.DuccLoggerComponents; import org.apache.uima.ducc.common.utils.TimeStamp; import org.apache.uima.ducc.common.utils.id.DuccId; +import org.apache.uima.ducc.orchestrator.user.UserLogging; import org.apache.uima.ducc.orchestrator.utilities.TrackSync; import org.apache.uima.ducc.transport.agent.IUimaPipelineAEComponent; import org.apache.uima.ducc.transport.event.common.DuccWorkJob; @@ -423,6 +424,14 @@ public class ProcessAccounting { logger.debug(methodName, job.getDuccId(), process.getDuccId(), messages.fetchLabel("process state")+inventoryProcess.getProcessState()+" => "+messages.fetchLabel("resource state")+process.getResourceState()); break; } + switch(job.getDuccType()) { + case Service: + IDuccWorkJob service = job; + String userName = service.getStandardInfo().getUser(); + String userLogDir = service.getUserLogsDir(); + UserLogging.error(userName, userLogDir, process.getReasonForStoppingProcess()); + break; + } break; default: logger.debug(methodName, job.getDuccId(), process.getDuccId(), messages.fetchLabel("process state")+inventoryProcess.getProcessState()+" => "+messages.fetchLabel("resource state")+process.getResourceState()); Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java?rev=1730746&r1=1730745&r2=1730746&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateJobAccounting.java Tue Feb 16 20:40:23 2016 @@ -354,11 +354,10 @@ public class StateJobAccounting { jobid = job.getDuccId(); String userName = job.getStandardInfo().getUser(); String userLogDir = job.getUserLogsDir()+job.getDuccId().getFriendly()+File.separator; - UserLogging userLogging = new UserLogging(userName, userLogDir); JobState jobState = job.getJobState(); if(jobState != null) { text = jobState.toString(); - userLogging.toUserDuccLog(text); + UserLogging.record(userName, userLogDir, text); logger.debug(methodName, job.getDuccId(), text); } } @@ -375,17 +374,16 @@ public class StateJobAccounting { jobid = job.getDuccId(); String userName = job.getStandardInfo().getUser(); String userLogDir = job.getUserLogsDir()+job.getDuccId().getFriendly()+File.separator; - UserLogging userLogging = new UserLogging(userName, userLogDir); JobCompletionType jobCompletionType = job.getCompletionType(); if(jobCompletionType != null) { text = "completion type: "+jobCompletionType.toString(); - userLogging.toUserDuccLog(text); + UserLogging.record(userName, userLogDir, text); logger.debug(methodName, job.getDuccId(), text); } IRationale rationale = job.getCompletionRationale(); if(rationale != null) { text = "rationale: "+rationale.toString(); - userLogging.toUserDuccLog(text); + UserLogging.record(userName, userLogDir, text); logger.debug(methodName, job.getDuccId(), text); } } Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/user/UserLogging.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/user/UserLogging.java?rev=1730746&r1=1730745&r2=1730746&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/user/UserLogging.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/user/UserLogging.java Tue Feb 16 20:40:23 2016 @@ -25,48 +25,19 @@ import org.apache.uima.ducc.common.utils public class UserLogging { private static String ducc_log = "ducc.log"; + private static String ducc_error = "ducc.error"; - private String userName = null; - private String userLogDir = null; - private String userDuccLog = null; - - - public static void record(String userName, String userLogDir, String text) { - UserLogging userLogging = new UserLogging(userName, userLogDir); - userLogging.toUserDuccLog(text); - } - - public UserLogging(String userName, String userLogDir) { - setUserName(userName); - setUserLogDir(userLogDir); - setUserDuccLog(fpJoin(getUserLogDir(),ducc_log)); - } - - private void setUserName(String value) { - userName = value; - } - - private String getUserName() { - return userName; - } - - private void setUserLogDir(String value) { - userLogDir = value; - } - - private String getUserLogDir() { - return userLogDir; - } - - private void setUserDuccLog(String value) { - userDuccLog = value; + public static void record(String user, String userLogDir, String text) { + String file = fpJoin(userLogDir, ducc_log); + UserLogging.write(user, file, text); } - private String getUserDuccLog() { - return userDuccLog; + public static void error(String user, String userLogDir, String text) { + String file = fpJoin(userLogDir, ducc_error); + UserLogging.write(user, file, text); } - private String fpJoin(String dir, String fn) { + private static String fpJoin(String dir, String fn) { StringBuffer sb = new StringBuffer(); if(dir != null) { sb.append(dir); @@ -83,12 +54,10 @@ public class UserLogging { return retVal; } - public void toUserDuccLog(String text) { + static void write(String user, String file, String text) { if(text != null) { String millis = ""+System.currentTimeMillis(); String ts = TimeStamp.simpleFormat(millis); - String user = getUserName(); - String file = getUserDuccLog(); DuccAsUser.duckling(user, file, ts+" "+text); } }