String.format("Process %5s", p.getPID()),
"Completion:", s.toString());
}
for( DuccMapValueDifference<IDuccProcess> pd: diffmap ) {
IDuccProcess pl = pd.getLeft();
IDuccProcess pr = pd.getRight();
Share sl = scheduler.getShare(pl.getDuccId());
Share sr = scheduler.getShare(pr.getDuccId());
String shareL = ( sl == null ) ? "<none>" : sl.toString();
String shareR = ( sr == null ) ? "<none>" : sr.toString();
ITimeWindow initL = pl.getTimeWindowInit();
ITimeWindow initR = pr.getTimeWindowInit();
long init_timeL = (initL == null) ? 0 : initL.getElapsedMillis();
long init_timeR = (initR == null) ? 0 : initR.getElapsedMillis();
/** extreme debugging only*/
if ( logger.isTrace() ) {
logger.trace(methodName, jobid,
"\n\tReconciling. incoming.(pid, mem, state, share, initTime)",
pl.getPID(),
pl.getResidentMemory(),
pl.getProcessState(),
shareL,
init_timeL,
"\n\tReconciling. existing.(pid, mem, state, share, initTime)",
pr.getPID(),
pr.getResidentMemory(),
pr.getProcessState(),
shareR,
init_timeR
);
} else {
if ( (pr.getPID() == null) && (pl.getPID() != null) ) {
logger.trace(methodName, jobid,
String.format("Process %5s", pl.getPID()),
"PID assignement for share", shareL);
}
if ( pl.getProcessState() != pr.getProcessState() ) {
logger.info(methodName, jobid,
String.format("Process %5s", pl.getPID()), sl.toString(),
"State:", pr.getProcessState(), "->", pl.getProcessState(),
getElapsedTime(pr.getTimeWindowInit()), getElapsedTime(pr.getTimeWindowRun()));
}
}
long mem = pl.getResidentMemory();
ProcessState state = pl.getProcessState();