With the recent move to Snakemake 8, we are not populating the JSON spec of the workflow, which makes the workflow scheduler to set workflow priorities to zero and required memory to zero.
Example for RooFit demo wokflow family:
$ k logs reana-server-7f476757c8-kljpx scheduler
...
2024-10-30 08:52:26,584 | root | MainThread | INFO | Received workflow: {'user': '00000000-0000-0000-0000-000000000000', 'workflow_id_or_name': '05bd4a63-9de5-4e54-afa1-6684b912e7a6', 'parameters': {'input_parameters': {}, 'operational_options': {}}, 'priority': 99, 'min_job_memory': 268435456.0}
2024-10-30 08:52:26,600 | root | MainThread | INFO | Starting queued workflow: 05bd4a63-9de5-4e54-afa1-6684b912e7a6
2024-10-30 08:52:26,630 | root | MainThread | INFO | Workflow 05bd4a63-9de5-4e54-afa1-6684b912e7a6 successfully started.
2024-10-30 08:52:28,809 | root | MainThread | INFO | Received workflow: {'user': '00000000-0000-0000-0000-000000000000', 'workflow_id_or_name': 'ffa6d4da-01d4-4a03-bddd-9479534c52b6', 'parameters': {'input_parameters': {}, 'operational_options': {}}, 'priority': 96, 'min_job_memory': 268435456.0}
2024-10-30 08:52:28,824 | root | MainThread | INFO | Starting queued workflow: ffa6d4da-01d4-4a03-bddd-9479534c52b6
2024-10-30 08:52:28,852 | root | MainThread | INFO | Workflow ffa6d4da-01d4-4a03-bddd-9479534c52b6 successfully started.
2024-10-30 08:52:31,332 | root | MainThread | INFO | Received workflow: {'user': '00000000-0000-0000-0000-000000000000', 'workflow_id_or_name': 'd5b8241c-a085-4feb-9f52-63bd27ec6705', 'parameters': {'input_parameters': {}, 'operational_options': {}}, 'priority': 0, 'min_job_memory': 0}
2024-10-30 08:52:31,333 | root | MainThread | INFO | Starting queued workflow: d5b8241c-a085-4feb-9f52-63bd27ec6705
2024-10-30 08:52:31,360 | root | MainThread | INFO | Workflow d5b8241c-a085-4feb-9f52-63bd27ec6705 successfully started.
2024-10-30 08:52:33,663 | root | MainThread | INFO | Received workflow: {'user': '00000000-0000-0000-0000-000000000000', 'workflow_id_or_name': '5d92cdae-ed8f-407a-80d1-6e0582cc73fa', 'parameters': {'input_parameters': {}, 'operational_options': {'accept_metadir': True}}, 'priority': 90, 'min_job_memory': 268435456.0}
2024-10-30 08:52:33,679 | root | MainThread | INFO | Starting queued workflow: 5d92cdae-ed8f-407a-80d1-6e0582cc73fa
2024-10-30 08:52:33,711 | root | MainThread | INFO | Workflow 5d92cdae-ed8f-407a-80d1-6e0582cc73fa successfully started.
The priority 0 and memory 0 workflow is the Snakemake one, the others are CWL, Serial, Yadage ones.
This is temporarily acceptable, because "nothing breaks", but we should definitely check how the workflow priorities are being calculated when moving the workflow creation and validation procedures to the server-side in order to address this issue.
P.S. Note that this issue is important only when the REANA deployment uses REANA_WORKFLOW_SCHEDULING_POLICY set to balanced.
With the recent move to Snakemake 8, we are not populating the JSON spec of the workflow, which makes the workflow scheduler to set workflow priorities to zero and required memory to zero.
Example for RooFit demo wokflow family:
The priority 0 and memory 0 workflow is the Snakemake one, the others are CWL, Serial, Yadage ones.
This is temporarily acceptable, because "nothing breaks", but we should definitely check how the workflow priorities are being calculated when moving the workflow creation and validation procedures to the server-side in order to address this issue.
P.S. Note that this issue is important only when the REANA deployment uses
REANA_WORKFLOW_SCHEDULING_POLICYset tobalanced.