Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collection jobs record dataset collection elements instead of HDAs #15729

Closed
wm75 opened this issue Mar 7, 2023 · 23 comments
Closed

Collection jobs record dataset collection elements instead of HDAs #15729

wm75 opened this issue Mar 7, 2023 · 23 comments

Comments

@wm75
Copy link
Contributor

wm75 commented Mar 7, 2023

Edit by @mvdbeek

Nothing is wrong here, we've improved the provenance tracking, but the UI and job rerun routes don't know how to deal with dataset collection elements, these are minor tweaks, not severe bugs.

Describe the bug
When you're running any workflow that is mapping over collections, Galaxy records as input for any collection element not the dataset ID, but a malformed version of the element identifier. With that the possibility to rerun jobs is completely lost!!

Galaxy Version and/or server at which you observed the bug
Galaxy Version: 23.0rc1 on .org and .eu

To Reproduce
Steps to reproduce the behavior:

  1. Run any workflow that involves a mapping over a collection
  2. Open the output collection and inspect any of the elements

Expected behavior
Each element should have its input dataset from the input collection recorded, but in reality what gets recorded is what's shown below

Screenshots

image

@mvdbeek
Copy link
Member

mvdbeek commented Mar 7, 2023

Nah, we just don't know how to display non-dataset elements in the UI. I don't think that's why you can't rerun, but if you can share a history that'd be helpful.

@wm75
Copy link
Contributor Author

wm75 commented Mar 7, 2023

What do you mean. It is supposed to be a dataset element - that's kind of the point.

@mvdbeek
Copy link
Member

mvdbeek commented Mar 7, 2023

SRRblabla is a dataset collection element, this has been that way ever since we've shown input datasets in the job info page. But if you can share a history that'd be great.

@wm75
Copy link
Contributor Author

wm75 commented Mar 7, 2023

@wm75
Copy link
Contributor Author

wm75 commented Mar 7, 2023

and here's what a collection element as input looked before the update:
image

@mvdbeek
Copy link
Member

mvdbeek commented Mar 7, 2023

which element in that history should I look at ?

@wm75
Copy link
Contributor Author

wm75 commented Mar 7, 2023

any from any simple list. They are all broken.

@mvdbeek
Copy link
Member

mvdbeek commented Mar 7, 2023

None of it is broken:

Screenshot 2023-03-07 at 18 21 54

the UI just doesn't know how to display DCEs. We'd previously track HDAs, which was not quite correct.

@mvdbeek mvdbeek changed the title Workflow invocations record wrong step inputs for collection elements (at least)!! Collection jobs record dataset collection elements instead of HDAs Mar 7, 2023
@wm75
Copy link
Contributor Author

wm75 commented Mar 7, 2023

That's better of course, puh. So just an annoying bug then.

@wm75
Copy link
Contributor Author

wm75 commented Mar 7, 2023

Why is this only happening for WFs then, and not for regular job runs on collections?
Why mix things?

@mvdbeek
Copy link
Member

mvdbeek commented Mar 7, 2023

It also happens (and has been happening) for normal jobs, just less frequently.

@wm75
Copy link
Contributor Author

wm75 commented Mar 7, 2023

It also happens (and has been happening) for normal jobs, just less frequently.

I don't follow I'm afraid why is this about frequencies? Shouldn't it be either/or?

@mvdbeek
Copy link
Member

mvdbeek commented Mar 7, 2023

We used to track the HDA associated associated with a DCE. You've probably noticed that if you re-run a job from a list you'd re-run on the hda, because the element identifier of the element you consume is gone. This change fixes that (among other things).

We've always tracked DCEs when the input parameter was a collection, and the actual input was a nested collection (e.g. a list input on a list:list HDCA). We have now removed the special casing for HDAs and pass through the element instead. So now you see this more often.

@wm75
Copy link
Contributor Author

wm75 commented Mar 7, 2023

I see, but I thought I had tested earlier today that if you manually run a tool over a collection (not an individual job), the UI has no issue with showing the provenance correctly (that's actually why I thought it can't be the UI in the first place). On my phone now so hard to check again, but that's what I think I remember.

@mvdbeek
Copy link
Member

mvdbeek commented Mar 7, 2023

I'll check that, but this should be all the same.

mvdbeek added a commit to mvdbeek/galaxy that referenced this issue Mar 8, 2023
mvdbeek added a commit to mvdbeek/galaxy that referenced this issue Mar 8, 2023
@wm75
Copy link
Contributor Author

wm75 commented Apr 24, 2023

Any chance that this can still get fixed before Smorgasbord 3?
The public health track of the training at least will include several tutorials that involve running WFs that produce collections, and in the current state it will be next to impossible for participants to rerun any failed jobs inside these collections.

@mvdbeek
Copy link
Member

mvdbeek commented Apr 24, 2023

Yeah, I'll pick this back up.

mvdbeek added a commit to mvdbeek/galaxy that referenced this issue Apr 24, 2023
mvdbeek added a commit to mvdbeek/galaxy that referenced this issue Apr 24, 2023
mvdbeek added a commit to mvdbeek/galaxy that referenced this issue Apr 24, 2023
mvdbeek added a commit to mvdbeek/galaxy that referenced this issue Apr 24, 2023
@mvdbeek
Copy link
Member

mvdbeek commented Apr 24, 2023

With that the possibility to rerun jobs is completely lost!!

So I think I fixed the job info page now. Is rerunning these jobs really broken, or did it just seem that way because of the text where you'd expect a dataset ? The import of your example history takes forever, but checking on my instance that all seems to work correctly.

@wm75
Copy link
Contributor Author

wm75 commented Apr 24, 2023

It is really broken on .eu. I can create a minimal example there for you I guess.

@mvdbeek
Copy link
Member

mvdbeek commented Apr 24, 2023

That would be helpful, thanks!

@wm75
Copy link
Contributor Author

wm75 commented Apr 24, 2023

Ok,

WF to reproduce the issue:
https://usegalaxy.eu/u/wolfgang-maier/w/minimal-collections-wf

history created with it:
https://usegalaxy.eu/u/wolfgang-maier/h/minimal-collections-wf-1

You should be able to observe the following:

  • try to rerun any of the jobs in the 6: Add column or 10: Add column collections.
    These will claim that they've been generated with 14: Add column as input.
  • try to hit Run Tool despite the nonsense, and the rerun job will actually use 14 as input (you can confirm it's really happening through the contents of the results).
  • try to rerun anything in 14: Add column.
    This should work just fine because that collection was not produced through the WF, but via a manual tool run.

@mvdbeek
Copy link
Member

mvdbeek commented Apr 24, 2023

Well that's unfortunate, the API returns the right values but I guess the frontend doesn't know about dces ...
Screenshot 2023-04-24 at 17 47 27

mvdbeek added a commit to mvdbeek/galaxy that referenced this issue May 8, 2023
mvdbeek added a commit to mvdbeek/galaxy that referenced this issue May 9, 2023
@mvdbeek
Copy link
Member

mvdbeek commented May 12, 2023

Should be fixed by #15744, I'll probably update .org later today

@mvdbeek mvdbeek closed this as completed May 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants