if (ret) ret = enc_string(ret, stat->cream_endpoint);
if (ret) ret = enc_string(ret, stat->cream_jdl);
if (ret) ret = enc_string(ret, stat->cream_reason);
+ if (ret) ret = enc_string(ret, stat->cream_failure_reason);
if (ret) ret = enc_string(ret, stat->cream_lrms_id);
if (ret) ret = enc_string(ret, stat->cream_node);
if (ret) ret = enc_int(ret, stat->cream_done_code);
if (tmp_in != NULL) stat->cream_endpoint = dec_string(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->cream_jdl = dec_string(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->cream_reason = dec_string(tmp_in, &tmp_in);
+ if (tmp_in != NULL) stat->cream_failure_reason = dec_string(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->cream_lrms_id = dec_string(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->cream_node = dec_string(tmp_in, &tmp_in);
if (tmp_in != NULL) stat->cream_done_code = dec_int(tmp_in, &tmp_in);
free(creamstat);
TR("Owner", "%s", stat.cream_owner);
TR("Endpoint", "%s", stat.cream_endpoint);
+ TR("Worker node", "%s", stat.cream_node);
TR("Reason", "%s", stat.cream_reason);
+ TR("Failure reason", "%s", stat.cream_failure_reason);
if ( (stat.stateEnterTime.tv_sec) || (stat.stateEnterTime.tv_usec) ) {
time_t time = stat.stateEnterTime.tv_sec;
default:
break;
}
+ if (e->CREAMStore.reason){
+ if (js->pub.cream_reason)
+ free(js->pub.cream_reason);
+ js->pub.cream_reason = strdup(e->CREAMStore.reason);
+ }
}
if (USABLE_DATA(res)) {
}
// BLAH -> LRMS
js->pub.state = EDG_WLL_JOB_SCHEDULED;
js->pub.cream_state = EDG_WLL_STAT_IDLE;
+ if (e->CREAMStore.reason){
+ free(js->pub.cream_reason);
+ js->pub.cream_reason = strdup(e->CREAMStore.reason);
+ }
}
if (USABLE_DATA(res)) {
}
if (e->CREAMStatus.exit_code && strcmp(e->CREAMStatus.exit_code, "N/A"))
js->pub.cream_exit_code = atoi(e->CREAMStatus.exit_code);
- if (js->pub.cream_node) free(js->pub.cream_node);
- js->pub.cream_node = strdup(e->CREAMStatus.worker_node);
- if (js->pub.cream_lrms_id) free(js->pub.cream_lrms_id);
- js->pub.cream_lrms_id = strdup(e->CREAMStatus.LRMS_jobid);
+ if (e->CREAMStatus.worker_node){ /*XXX should never be false */
+ if (js->pub.cream_node)
+ free(js->pub.cream_node);
+ js->pub.cream_node = strdup(e->CREAMStatus.worker_node);
+ }
+ if (e->CREAMStatus.LRMS_jobid){ /*XXX should never be false */
+ if (js->pub.cream_lrms_id)
+ free(js->pub.cream_lrms_id);
+ js->pub.cream_lrms_id = strdup(e->CREAMStatus.LRMS_jobid);
+ }
+ if (e->CREAMStatus.failure_reason){
+ if (js->pub.cream_failure_reason)
+ free(js->pub.cream_failure_reason);
+ js->pub.cream_failure_reason = strdup(e->CREAMStatus.failure_reason);
+ }
}
break;