Hi Alan and Ilari.
Ilari, thanks for the additional information. I'll take a look.
Alan, when I list the key-value pairs of the serialized dataObjInp_t structure from within a rule attached to pep_api_data_obj_put_post, openType is present.
pep_api_data_obj_put_post(*INSTANCE, *COMM, *DATA_OBJ_INP, *_, *_) {
writeLine('serverLog', 'pep_api_data_obj_put_post called');
foreach(*kv in *DATA_OBJ_INP) {
writeLine('serverLog', '\*DATA_OBJ_INP.*kv = ' ++ *DATA_OBJ_INP.'*kv');
}
}
Here's the logged output.
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = pep_api_data_obj_put_post called
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.create_mode = 0
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.dataIncluded =
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.dataType = generic
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.data_size = 6536
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.noOpenFlag =
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.num_threads = 0
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.obj_path = /cyverse/home/tedgin/count-sessions
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.offset = 0
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.openType = 1
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.open_flags = 2
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.opr_type = 1
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.resc_hier = mainIngestRes;mainIngest
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.selObjType = dataObj
Apr 8 13:50:18 pid:50304 NOTICE: writeLine: inString = *DATA_OBJ_INP.translatedPath =
I guess I can't rely on openType always being there. I'll use the suggestion Terrell and you made.
Cheers,
Tony