Skip to content

[26.0] Fix AttributeError serializing implicit output collections during job prep#22034

Merged
mvdbeek merged 2 commits intogalaxyproject:release_26.0from
mvdbeek:fix_22015_implicit_output_collections_serialization
Mar 10, 2026
Merged

[26.0] Fix AttributeError serializing implicit output collections during job prep#22034
mvdbeek merged 2 commits intogalaxyproject:release_26.0from
mvdbeek:fix_22015_implicit_output_collections_serialization

Conversation

@mvdbeek
Copy link
Copy Markdown
Member

@mvdbeek mvdbeek commented Mar 10, 2026

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

Don't love the test but it's tricky to test in a real workflow, I think you'd have to be able to have discovered outputs be ready at different points. The unit test though make it really clear that we're dealing with an implicit output collection and that the change is correct.

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

… 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 galaxyproject#22015
@github-actions github-actions Bot added the area/database Galaxy's database or data access layer label Mar 10, 2026
@mvdbeek mvdbeek marked this pull request as ready for review March 10, 2026 15:21
@github-actions github-actions Bot added this to the 26.1 milestone Mar 10, 2026
@mvdbeek mvdbeek merged commit 71b4aff into galaxyproject:release_26.0 Mar 10, 2026
49 of 59 checks passed
@github-project-automation github-project-automation Bot moved this from Needs Review to Done in Galaxy Dev - weeklies Mar 10, 2026
Copy link
Copy Markdown
Member

@dannon dannon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Retroactive LGTM

@nsoranzo nsoranzo deleted the fix_22015_implicit_output_collections_serialization branch March 10, 2026 19:15
@nsoranzo nsoranzo changed the title [26.0] Fix AttributeError serializing implicit output collections during job… [26.0] Fix AttributeError serializing implicit output collections during job prep Mar 10, 2026
@ahmedhamidawan ahmedhamidawan modified the milestones: 26.1, 26.0 Mar 10, 2026
@galaxyproject galaxyproject deleted a comment from github-actions Bot Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/database Galaxy's database or data access layer kind/bug

Projects

Development

Successfully merging this pull request may close these issues.

4 participants