{"action":"created","issue":{"url":"https://api.github.com/repos/ligo-cbc/pycbc/issues/1451","repository_url":"https://api.github.com/repos/ligo-cbc/pycbc","labels_url":"https://api.github.com/repos/ligo-cbc/pycbc/issues/1451/labels{/name}","comments_url":"https://api.github.com/repos/ligo-cbc/pycbc/issues/1451/comments","events_url":"https://api.github.com/repos/ligo-cbc/pycbc/issues/1451/events","html_url":"https://github.com/ligo-cbc/pycbc/pull/1451","id":208140036,"number":1451,"title":"Tell pegasus about output map files in the dax","user":{"login":"duncan-brown","id":11262902,"avatar_url":"https://avatars.githubusercontent.com/u/11262902?v=3","gravatar_id":"","url":"https://api.github.com/users/duncan-brown","html_url":"https://github.com/duncan-brown","followers_url":"https://api.github.com/users/duncan-brown/followers","following_url":"https://api.github.com/users/duncan-brown/following{/other_user}","gists_url":"https://api.github.com/users/duncan-brown/gists{/gist_id}","starred_url":"https://api.github.com/users/duncan-brown/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duncan-brown/subscriptions","organizations_url":"https://api.github.com/users/duncan-brown/orgs","repos_url":"https://api.github.com/users/duncan-brown/repos","events_url":"https://api.github.com/users/duncan-brown/events{/privacy}","received_events_url":"https://api.github.com/users/duncan-brown/received_events","type":"User","site_admin":false},"labels":[{"id":182748232,"url":"https://api.github.com/repos/ligo-cbc/pycbc/labels/bug","name":"bug","color":"fc2929","default":true}],"state":"open","locked":false,"assignee":{"login":"duncan-brown","id":11262902,"avatar_url":"https://avatars.githubusercontent.com/u/11262902?v=3","gravatar_id":"","url":"https://api.github.com/users/duncan-brown","html_url":"https://github.com/duncan-brown","followers_url":"https://api.github.com/users/duncan-brown/followers","following_url":"https://api.github.com/users/duncan-brown/following{/other_user}","gists_url":"https://api.github.com/users/duncan-brown/gists{/gist_id}","starred_url":"https://api.github.com/users/duncan-brown/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duncan-brown/subscriptions","organizations_url":"https://api.github.com/users/duncan-brown/orgs","repos_url":"https://api.github.com/users/duncan-brown/repos","events_url":"https://api.github.com/users/duncan-brown/events{/privacy}","received_events_url":"https://api.github.com/users/duncan-brown/received_events","type":"User","site_admin":false},"assignees":[{"login":"duncan-brown","id":11262902,"avatar_url":"https://avatars.githubusercontent.com/u/11262902?v=3","gravatar_id":"","url":"https://api.github.com/users/duncan-brown","html_url":"https://github.com/duncan-brown","followers_url":"https://api.github.com/users/duncan-brown/followers","following_url":"https://api.github.com/users/duncan-brown/following{/other_user}","gists_url":"https://api.github.com/users/duncan-brown/gists{/gist_id}","starred_url":"https://api.github.com/users/duncan-brown/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duncan-brown/subscriptions","organizations_url":"https://api.github.com/users/duncan-brown/orgs","repos_url":"https://api.github.com/users/duncan-brown/repos","events_url":"https://api.github.com/users/duncan-brown/events{/privacy}","received_events_url":"https://api.github.com/users/duncan-brown/received_events","type":"User","site_admin":false}],"milestone":null,"comments":6,"created_at":"2017-02-16T14:41:26Z","updated_at":"2017-02-16T16:10:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ligo-cbc/pycbc/pulls/1451","html_url":"https://github.com/ligo-cbc/pycbc/pull/1451","diff_url":"https://github.com/ligo-cbc/pycbc/pull/1451.diff","patch_url":"https://github.com/ligo-cbc/pycbc/pull/1451.patch"},"body":"Pegasus 4.7.3 and above run ``pegasus-plan`` for sub-daxes under the kickstart script for better job management. This means that pegasus needs to be told about output map files in the DAX so that it can manage them. This is implemented by this patch. This should also fix @tdent's observation that data-reuse never seems to work if the reuse cache contains a ``.dax`` or ``.map`` file.\r\n\r\nThis is a fix for https://github.com/ligo-cbc/pycbc/issues/1448\r\n\r\nFor top-level workflows, the output map is tagged as a file needed by any sub-dax job and *also* added to the list of PFNs (since it is created by the workflow generation script not within the DAX):\r\n```\r\n<adag xmlns=\"http://pegasus.isi.edu/schema/DAX\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://pegasus.isi.edu/schema/DAX http://pegasus.isi.edu/schema/dax-3.6.xsd\" version=\"3.6\" name=\"o2-analysis-3-vdf_c37d16-p3\">\r\n        <file name=\"o2-analysis-3-vdf_c37d16-p3-finalization.dax\">\r\n                <pfn url=\"/home/dbrown/projects/aligo/o2/analysis-3/o2-analysis-3-vdf_c37d16-p3/output/o2-analysis-3-vdf_c37d16-p3-finalization.dax\" site=\"local\"/>\r\n        </file>\r\n        <file name=\"o2-analysis-3-vdf_c37d16-p3-main.map\">\r\n                <pfn url=\"/home/dbrown/projects/aligo/o2/analysis-3/o2-analysis-3-vdf_c37d16-p3/output/o2-analysis-3-vdf_c37d16-p3-main.map\" site=\"local\"/>\r\n        </file>\r\n        <file name=\"o2-analysis-3-vdf_c37d16-p3-finalization.map\">\r\n                <pfn url=\"/home/dbrown/projects/aligo/o2/analysis-3/o2-analysis-3-vdf_c37d16-p3/output/o2-analysis-3-vdf_c37d16-p3-finalization.map\" site=\"local\"/>\r\n        </file>\r\n        <file name=\"o2-analysis-3-vdf_c37d16-p3-main.dax\">\r\n                <pfn url=\"/home/dbrown/projects/aligo/o2/analysis-3/o2-analysis-3-vdf_c37d16-p3/output/o2-analysis-3-vdf_c37d16-p3-main.dax\" site=\"local\"/>\r\n        </file>\r\n        <dax id=\"ID0000001\" file=\"o2-analysis-3-vdf_c37d16-p3-main.dax\">\r\n                <argument>-Dpegasus.dir.storage.mapper.replica.file=o2-analysis-3-vdf_c37d16-p3-main.map -Dpegasus.dir.storage.mapper.replica=File --output-site local --cleanup inplace --cluster label,horizontal -vvv --cache /home/dbrown/projects/aligo/o2/analysis-3/o2-analysis-3-vdf_c37d16-p3/output/_reuse.cache</argument>\r\n                <uses name=\"o2-analysis-3-vdf_c37d16-p3-main.map\" link=\"input\"/>\r\n        </dax>\r\n        <dax id=\"ID0000002\" file=\"o2-analysis-3-vdf_c37d16-p3-finalization.dax\">\r\n                <argument>-Dpegasus.dir.storage.mapper.replica.file=o2-analysis-3-vdf_c37d16-p3-finalization.map -Dpegasus.dir.storage.mapper.replica=File --output-site local --cleanup inplace --cluster label,horizontal -vvv --cache /home/dbrown/projects/aligo/o2/analysis-3/o2-analysis-3-vdf_c37d16-p3/output/_reuse.cache</argument>\r\n                <uses name=\"o2-analysis-3-vdf_c37d16-p3-finalization.map\" link=\"input\"/>\r\n        </dax>\r\n        <child ref=\"ID0000002\">\r\n                <parent ref=\"ID0000001\"/>\r\n        </child>\r\n</adag>\r\n```\r\n\r\nFor sub-DAXes that are generated within the DAX, the output map is just added to the sub-dax planning job and not included as a PFN, since Pegasus knows which job made it and from whence it came:\r\n```\r\n        <job id=\"ID0008744\" name=\"foreground_minifollowup-H1L1_ID92\">\r\n                <argument>--config-files <file name=\"FULL_DATA_FULL_CUMULATIVE_CAT_12H_FULL_DATA_FULLforeground_minifollowup.ini\"/> --bank-file <file name=\"H1L1-BANK2HDF-1166486417-2620801.hdf\"/> --statmap-file <file name=\"H1L1-STATMAP_FULL_DATA_FULL_CUMULATIVE_CAT_12H_FULL_DATA_FULL-1166486417-2620801.hdf\"/> --inspiral-segments <file name=\"H1L1-INSP_SEGMENTS-1166486417-2620801.xml\"/> --inspiral-data-read-name DATA_ANALYSED --inspiral-data-analyzed-name TRIGGERS_GENERATED --output-file <file name=\"H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1166486417-2620801.dax\"/> --output-map <file name=\"H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1166486417-2620801.dax.map\"/> --workflow-name H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1166486417-2620801.dax --output-dir /home/dbrown/projects/aligo/o2/analysis-3/o2-analysis-3-vdf_c37d16-p3/output/results/7._open_box_result/7.02_loudest_event_followup --single-detector-triggers H1:H1-HDF_TRIGGER_MERGE_FULL_DATA-1166486417-2620801.hdf L1:L1-HDF_TRIGGER_MERGE_FULL_DATA-1166486417-2620801.hdf </argument>\r\n                <profile namespace=\"dagman\" key=\"category\">foreground_minifollowup</profile>\r\n                <profile namespace=\"hints\" key=\"execution.site\">local</profile>\r\n                <profile namespace=\"condor\" key=\"getenv\">True</profile>\r\n                <uses name=\"H1L1-INSP_SEGMENTS-1166486417-2620801.xml\" link=\"input\" register=\"false\" transfer=\"true\"/>\r\n                <uses name=\"H1L1-BANK2HDF-1166486417-2620801.hdf\" link=\"input\" register=\"false\" transfer=\"true\"/>\r\n                <uses name=\"H1L1-STATMAP_FULL_DATA_FULL_CUMULATIVE_CAT_12H_FULL_DATA_FULL-1166486417-2620801.hdf\" link=\"input\" register=\"false\" transfer=\"true\"/>\r\n                <uses name=\"FULL_DATA_FULL_CUMULATIVE_CAT_12H_FULL_DATA_FULLforeground_minifollowup.ini\" link=\"input\" register=\"false\" transfer=\"true\"/>\r\n                <uses name=\"L1-HDF_TRIGGER_MERGE_FULL_DATA-1166486417-2620801.hdf\" link=\"input\" register=\"false\" transfer=\"true\"/>\r\n                <uses name=\"H1-HDF_TRIGGER_MERGE_FULL_DATA-1166486417-2620801.hdf\" link=\"input\" register=\"false\" transfer=\"true\"/>\r\n                <uses name=\"H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1166486417-2620801.dax\" link=\"output\" register=\"true\" transfer=\"true\"/>\r\n                <uses name=\"H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1166486417-2620801.dax.map\" link=\"output\" register=\"true\" transfer=\"true\"/>\r\n        </job>\r\n        <dax id=\"ID0008745\" file=\"H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1166486417-2620801.dax\">\r\n                <argument>--basename H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1166486417-2620801 -Dpegasus.dir.storage.mapper.replica.file=H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1166486417-2620801.dax.map -Dpegasus.dir.storage.mapper.replica=File --output-site local --cleanup inplace --cluster label,horizontal -vvv --cache /home/dbrown/projects/aligo/o2/analysis-3/o2-analysis-3-vdf_c37d16-p3/output/_reuse.cache</argument>\r\n                <uses name=\"H1L1-FOREGROUND_MINIFOLLOWUP_FULL_DATA_FULL_CUMULATIVE_CAT_12H-1166486417-2620801.dax.map\" link=\"input\"/>\r\n        </dax>\r\n```"},"comment":{"url":"https://api.github.com/repos/ligo-cbc/pycbc/issues/comments/280375670","html_url":"https://github.com/ligo-cbc/pycbc/pull/1451#issuecomment-280375670","issue_url":"https://api.github.com/repos/ligo-cbc/pycbc/issues/1451","id":280375670,"user":{"login":"duncan-brown","id":11262902,"avatar_url":"https://avatars.githubusercontent.com/u/11262902?v=3","gravatar_id":"","url":"https://api.github.com/users/duncan-brown","html_url":"https://github.com/duncan-brown","followers_url":"https://api.github.com/users/duncan-brown/followers","following_url":"https://api.github.com/users/duncan-brown/following{/other_user}","gists_url":"https://api.github.com/users/duncan-brown/gists{/gist_id}","starred_url":"https://api.github.com/users/duncan-brown/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duncan-brown/subscriptions","organizations_url":"https://api.github.com/users/duncan-brown/orgs","repos_url":"https://api.github.com/users/duncan-brown/repos","events_url":"https://api.github.com/users/duncan-brown/events{/privacy}","received_events_url":"https://api.github.com/users/duncan-brown/received_events","type":"User","site_admin":false},"created_at":"2017-02-16T16:10:51Z","updated_at":"2017-02-16T16:10:51Z","body":"@ahnitz I saw a comment over email that I don't see in the page. The connection comes from the way that the sub-dax is set up. The DAX fragments above demonstrate that this works."}}
{"actor":{"display_login":"duncan-brown"}}