Skip to content

Commit 4172b9b

Browse files
committed
Fix AttributeError serializing implicit output collections during job prep
For map-over jobs, `io_dicts(exclude_implicit_outputs=True)` unconditionally included `output_dataset_collections` (JobToImplicitOutputDatasetCollectionAssociation). These are shared DatasetCollections with N precreated elements where only the current job's element has its HDA set. Serializing the full collection during metadata setup crashes on the N-1 unpopulated elements. Exclude these implicit output collections when `exclude_implicit_outputs=True`, consistent with the existing exclusion of output_dataset_collection_instances. Fixes #22015
1 parent 6c8fbd4 commit 4172b9b

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

lib/galaxy/model/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1838,7 +1838,8 @@ def io_dicts(self, exclude_implicit_outputs=False) -> IoDicts:
18381838
if obj.name not in out_data:
18391839
out_collections[obj.name] = obj.dataset_collection_instance
18401840
# else this is a mapped over output
1841-
out_collections.update([(obj.name, obj.dataset_collection) for obj in self.output_dataset_collections])
1841+
if not exclude_implicit_outputs:
1842+
out_collections.update([(obj.name, obj.dataset_collection) for obj in self.output_dataset_collections])
18421843
return IoDicts(inp_data, out_data, out_collections)
18431844

18441845
# TODO: Add accessors for members defined in SQL Alchemy for the Job table and

0 commit comments

Comments
 (0)