Author: degenaro Date: Thu Feb 2 15:35:12 2017 New Revision: 1781407 URL: http://svn.apache.org/viewvc?rev=1781407&view=rev Log: UIMA-5292 DUCC Orchestrator (OR) does not propagate Reason/Extended Reason when log file is unwritable
Modified: uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java Modified: uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java?rev=1781407&r1=1781406&r2=1781407&view=diff ============================================================================== --- uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java (original) +++ uima/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java Thu Feb 2 15:35:12 2017 @@ -484,6 +484,24 @@ public class ProcessAccounting { logger.trace(methodName, job.getDuccId(), messages.fetch("exit")); } + private boolean changed(String s1, String s2) { + boolean retVal = false; + if((s1 == null) && (s2 == null)) { + } + else if((s1 == null) && (s2 != null)) { + retVal = true; + } + else if((s1 != null) && (s2 == null)) { + retVal = true; + } + else if(s1.equals(s2)) { + } + else { + retVal = true; + } + return retVal; + } + private void copyReasonForStoppingProcess(IDuccWorkJob job, IDuccProcess inventoryProcess, IDuccProcess process) { String methodName = "copyReasonForStoppingProcess"; logger.trace(methodName, job.getDuccId(), messages.fetch("enter")); @@ -496,26 +514,16 @@ public class ProcessAccounting { case Killed: String reasonNew = inventoryProcess.getReasonForStoppingProcess(); String reasonOld = process.getReasonForStoppingProcess(); + if(changed(reasonOld, reasonNew)) { + process.setReasonForStoppingProcess(reasonNew); + logger.info(methodName, job.getDuccId(), process.getDuccId(), messages.fetchLabel("process reason code")+reasonOld+"->"+reasonNew); + } String extendedReasonNew = inventoryProcess.getExtendedReasonForStoppingProcess(); - if(reasonNew != null) { - if(reasonOld == null) { - process.setReasonForStoppingProcess(reasonNew); - logger.info(methodName, job.getDuccId(), process.getDuccId(), messages.fetchLabel("process reason code")+process.getReasonForStoppingProcess()); - if(extendedReasonNew != null) { - process.setExtendedReasonForStoppingProcess(extendedReasonNew); - logger.info(methodName, job.getDuccId(), process.getDuccId(), messages.fetchLabel("process extended reason code")+process.getExtendedReasonForStoppingProcess()); - } - } - else if(!reasonNew.equals(reasonOld)) { - process.setReasonForStoppingProcess(reasonNew); - logger.info(methodName, job.getDuccId(), process.getDuccId(), messages.fetchLabel("process reason code")+process.getReasonForStoppingProcess()); - if(extendedReasonNew != null) { - process.setExtendedReasonForStoppingProcess(extendedReasonNew); - logger.info(methodName, job.getDuccId(), process.getDuccId(), messages.fetchLabel("process extended reason code")+process.getExtendedReasonForStoppingProcess()); - } - } + String extendedReasonOld = process.getExtendedReasonForStoppingProcess(); + if(changed(extendedReasonOld, extendedReasonNew)) { + process.setExtendedReasonForStoppingProcess(extendedReasonNew); + logger.info(methodName, job.getDuccId(), process.getDuccId(), messages.fetchLabel("process extended reason code")+extendedReasonOld+"->"+extendedReasonNew); } - break; default: break;