Description
As part of this https://htcondor-wiki.cs.wisc.edu/index.cgi/tktview?tn=5966 DAGMan stopped allowing . and + in the job names.
Since, Pegasus generated the condor submit file and DAG file, it would be good to silently ensure that the generated DAGNames don;t have . or + even if they are in the DAX somewhere.
Hi Alex,
The issue is that PyCBC is creating an entry in a dax for a sub-dax that looks like this:
<dax id="ID0021936" file="H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1186624818-687900.dax">
<argument>--basename H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1186624818-687900 -Dpegasus.dir.storage.mapper.replica.file=H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1186624818-687900.dax.map -Dpegasus.dir.storage.mapper.replica=File --output-site local --cleanup inplace --cluster label,horizontal -vvv --cache /home/dbrown/projects/aligo/o2/analysis-21/o2-c00-analysis-21-v1.7.9-vdf-5c09540-auto-dch-gates/output/_reuse.cache</argument>
<uses name="H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1186624818-687900.dax.map" link="input"/>
</dax>
So it's not a job name, but the dax name. Pegasus is taking that filename and prepending createdir_ and _0_local to make the dagman job name. I suppose that Pegasus could say "users cannot give DAX filenames that contain . or +" but I think it would be easier for Pegasus to just silently enforce this.
Since, Pegasus generated the condor submit file and DAG file, it would be good to silently ensure that the generated DAGNames don;t have . or + even if they are in the DAX somewhere.
Hi Alex,
The issue is that PyCBC is creating an entry in a dax for a sub-dax that looks like this:
<dax id="ID0021936" file="H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1186624818-687900.dax">
<argument>--basename H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1186624818-687900 -Dpegasus.dir.storage.mapper.replica.file=H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1186624818-687900.dax.map -Dpegasus.dir.storage.mapper.replica=File --output-site local --cleanup inplace --cluster label,horizontal -vvv --cache /home/dbrown/projects/aligo/o2/analysis-21/o2-c00-analysis-21-v1.7.9-vdf-5c09540-auto-dch-gates/output/_reuse.cache</argument>
<uses name="H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1186624818-687900.dax.map" link="input"/>
</dax>
So it's not a job name, but the dax name. Pegasus is taking that filename and prepending createdir_ and _0_local to make the dagman job name. I suppose that Pegasus could say "users cannot give DAX filenames that contain . or +" but I think it would be easier for Pegasus to just silently enforce this.