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

Reopening VT file after saving with bundled subworkflow won't offer subworkflow upgrade #1102

Open
remram44 opened this issue Jul 1, 2015 · 9 comments

Comments

@remram44
Copy link
Member

remram44 commented Jul 1, 2015

The bundled subworkflow is used, and the module is up to date with the bundled subworkflow, so the upgrade is not offered.

From #725 (comment)

@rexissimus
Copy link
Member

If this refers to upgrading to the latest local subworkflow version, this should be fixed by 9e0891a.

@remram44
Copy link
Member Author

remram44 commented Jul 6, 2015

So it will just select any subworkflow with the same name, if the version number is higher?

@rexissimus
Copy link
Member

Local subworkflows now registers old namespaces so that upgrades are detected. This only works if the local and bundled subworkflows have not deviated, like through a module upgrade. In this case there is no clear upgrade path. Is this what you are referring to?

@dakoop
Copy link
Member

dakoop commented Jul 7, 2015

What happens when the local and bundled subworkflows have deviated and there is no clear upgrade path?

@rexissimus
Copy link
Member

The upgrade is not offered because the bundled subworkflow namespace does not exist in the local subworkflow. I guess we could compare origin uuid:s, but it would be unclear which of them are newer.

Maybe we should just let users recreate the subworkflow at this point? Since we don't name subworkflow versions it is difficult to tell the current state anyway.

@dakoop
Copy link
Member

dakoop commented Jul 7, 2015

I agree with the decision not to try to offer an upgrade because this would be an ambiguous situation. Offering an option to "merge" the two may be possible, but this should be distinguished from the normal "update".

@remram44
Copy link
Member Author

remram44 commented Jul 7, 2015

I'm not sure I understand, the local subworkflow xml files store the namespaces?

Is this all documented somewhere in the code? These namespaces are not obvious at all.

@rexissimus
Copy link
Member

Unfortunately, the best documentation is in relevant commit messages like this one: 85b50d9

Basically, every time we save a subworkflow a new namespace is generated. Old namespaces are still stored. Old namespaces are loaded as hidden descriptors. The upgrade code checks for a matching namespace and then checks if the version number is newer. Then an upgrade can be performed.

@remram44
Copy link
Member Author

remram44 commented Jul 8, 2015

Fixing this is possible by turning the __abstraction_uuid__ annotations into action-annotations, so that the namespace UUID identified a specific version in the specific workflow. However this is a breaking change that will need an upgrade path, and then another upgrade for UUID identifiers (#1091); I say let's fix it once in #1091.

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

3 participants