QC PostProcessing : No MD5 of the file '...' in the db 'ccdb-test.cern.ch:8080', probably the file is missing

Hi there,

Let’s say I have a (wip) QC task that produces two histograms (later on I’d expect to have two tasks producing the same type of histogram) and I’d like to build a plot that compares the two histograms. I’m trying to use postprocessing for that :

{
  "qc": {
    "config": {
      "database": {
        "implementation": "CCDB",
        "host": "ccdb-test.cern.ch:8080",
        "username": "not_applicable",
        "password": "not_applicable",
        "name": "not_applicable"
      },
      "Activity": {
        "number": "42",
        "type": "2"
      }
    },
    "tasks": {
      "Rofs": {
        "active": "true",
        "className": "o2::quality_control_modules::muonchambers::PhysicsTaskRofs",
        "moduleName": "QcMuonChambers",
        "detectorName": "MCH",
        "cycleDurationSeconds": "10",
        "maxNumberCycles": "-1",
        "dataSource": {
          "type": "direct",
          "query": "digits:MCH/DIGITS;rofs:MCH/DIGITROFS;fdigits:MCH/F-DIGITS;frofs:MCH/TC-F-DIGITROFS"
        },
        "taskParameters": {
          "SaveToRootFile": "false"
        },
        "location": "remote"
      }
    },
    "checks": {},
    "postprocessing": {
      "RofFiltering": {
        "active": "true",
        "className": "o2::quality_control_modules::muonchambers::RofPostProcessing",
        "moduleName": "QcMuonChambers",
        "detectorName": "MCH",
        "initTrigger": [
          "once"
        ],
        "updateTrigger": [
          "newobject:qcdb:MCH/MO/Rofs/BC"
        ],
        "stopTrigger": [
          "once"
        ]
      }
    }
  },
  "dataSamplingPolicies": []
}

when running I see :

[7023:PP-TASK-RUNNER-RofFiltering]: 2022-05-17 14:49:17.491009  !  e[1;33mWarning - No MD5 of the file 'qc/MCH/MO/Rofs/BC' in the db 'ccdb-test.cern.ch:8080', probably the file is missing.e[0m
[7023:PP-TASK-RUNNER-RofFiltering]: 2022-05-17 14:49:17.529341  !  e[1;33mWarning - No MD5 of the file 'qc/MCH/MO/Rofs/BC' in the db 'ccdb-test.cern.ch:8080', probably the file is missing.e[0m

and nothing is produced by my post processing. But if I look in the ccdb the qc/MCH/MO/Rofs/BC is actually there…

Any clue of what could be wrong here ?

Thanks,

I will explain myself later, but could you try removing "type": "2"? This could be a bug on the framework side.

Removing "type":"2" made the MD5 error disappeared, but still nothing is produced by my postprocessing (which is for the moment nothing more than the SkeletongPostProcessing with a cout “TOTO” in initialise and finalise…). Is the rest of my configuration ok ?

Thanks,

0391:PP-TASK-RUNNER-RofFiltering]: 2022-05-17 17:00:22.418110     Checking triggers of the task 'RofFiltering'
[30391:PP-TASK-RUNNER-RofFiltering]: 2022-05-17 17:00:22.419070     Initializing the user task due to trigger 'triggerType: 1, timestamp: 1652799622419'
[30391:PP-TASK-RUNNER-RofFiltering]: 2022-05-17 17:00:22.419093     TOTO initialize
[30391:PP-TASK-RUNNER-RofFiltering]: [17:00:22][INFO] Init CcdApi with UserAgentID: nanpc707.in2p3.fr-1652799622-Q9wQj9, Host: localhost:6464, alien-token: true
[30391:PP-TASK-RUNNER-RofFiltering]: 2022-05-17 17:00:22.430743     Finalizing the user task due to trigger 'triggerType: 1, timestamp: 1652799622430'
[30391:PP-TASK-RUNNER-RofFiltering]: 2022-05-17 17:00:22.430769     TOTO finalize
[30391:PP-TASK-RUNNER-RofFiltering]: 2022-05-17 17:00:22.432517     The user task finished.

Good, this is because apparently we do not store RunType of objects to QCDB, but when you were trying to trigger on NewObjects, RunType=2 was actually required. I am going to fix this (Cern Authentication)

Actually "once" as a stop trigger might not be what you need. This essentially makes the Postprocessing framework stop your task as soon as it starts it. Probably you need "userorcontrol", or "x mins" instead.