Pass CWL content via env var to avoid ARG_MAX limit in input staging job#1735
Pass CWL content via env var to avoid ARG_MAX limit in input staging job#1735EmileSonneveld with Copilot wants to merge 5 commits into
Conversation
…n input staging job
|
@copilot Can you find a fix for when the input is larger than 2Mb? environment variables won't support that |
Good point. I've updated the approach: instead of passing the content via an environment variable, the driver now uploads the CWL content directly to S3 ( |
|
@copilot Can you add a unit test where a 2Mb file is created that gets passed like this? |
Done — added
|
When CWL workflows have many inputs, the base64-encoded content embedded directly in the
/bin/sh -cargument can exceed the kernel'sARG_MAXlimit, causing the input staging job to fail.Changes
calrissian.py: Replace inline embedding ofcwl_serializedin the shell command with aCWL_CONTENTKubernetes env var; reference it via$CWL_CONTENTin the scripttest_calrissian.py: Updatetest_create_input_staging_job_manifestassertions to expect the newenvfield and updatedargs