Feedback renku version 1.0.0rc2: update does not recognize input file changes after workflow execution with new parameter

Hi all,

I tested the new renku workflow features using version 1.0.0rc2.dev39+g6780b590 (latest master).
Thanks a lot for this massive upgrade! The new features are very useful!

One thing I noticed was that renku update file.txt does not detect input changes after workflow execution with another set of parameter.

Of course I understand that this is a not yet released version and maybe this is intended or in development right now. If this is the case please feel free to ignore this comment or to point me to a better way/place to post feedback on version 1.0.0.

To be a bit more specific:
My goal was to test, if renku update would work on all activites with different parameter or if one had to explicitly re-execute a plan with all parameter combinations in situations when a common input file changed.

So I generated the following workflow:

Id: /plans/9ba5911ac1d643ed8115709de995432e
Name: param_3
Command: bash src/parameter_output.sh -h hello -w world
Success Codes: 
Inputs: 
        - input-1:
                Default Value: src/parameter_output.sh
                Position: 1
Outputs: 
        - output-e321:
                Default Value: data/file_param_hello_world.txt
                Position: None
Parameters: 
        - h-2:
                Default Value: hello
                Position: 2
                Prefix: -h 
        - w-3:
                Default Value: world
                Position: 3
                Prefix: -w 

Next I executed the workflow with a new set of parameter by running:

renku workflow execute --set h-2=hi --set output-e321=data/file_param_hi_world.txt param_3

To test renku update I edited input-1 (src/parameter_output.sh), which is input of data/file_param_hi_world.txt and data/file_param_hello_world.txt.

Afterwards I was not able to update the first workflow execution to include the changes:

  • renku update --all only updated the output of the last execution (data/file_param_hi_world.txt).
  • renku update data/file_param_hello_world.txt did not update anything.

Maybe there is a good reason for this behavior, but I found it a bit counterintuitive, because input-1 is defined as input for data/file_param_hello_world.txt.

Best,
Almut

2 Likes

Hello Almut,

thank you a lot for testing the new features, feedback is really valuable to us!

Just to make sure I understand correctly, what you did was something along the lines of

$ renku run --name param_3  bash src/parameter_output.sh -h hello -w world data/file_param_hello_world.txt
$ renku workflow execute --set h-2=hi --set output-e321=data/file_param_hi_world.txt param_3
$ echo "...new content..." > src/parameter_output.sh
$ renku update --all

and you expected it to update both data/file_param_hello_world.txt and data/file_param_hi_world.txt, as parameter_output.sh is an input to both workflow executions?

That should have worked, I think. Do you have this as a repository on renkulab or somewhere that we could take a look?

Thank you for raising this issue!

Hello Ralf,
thanks a lot for your fast answer. Yes this is a good summary of my example, but updating didn’t work. I will also double check, again.
The repository is here. All scripts are in the src folder.
Best,
Almut

Hi Ralf,
this is a screenshot of what happens when I edit the input script:

I’m not sure if I observe this correct, but interestingly it seems that, if I change the input script a second time - only the default parameter output will update.

Hi Almut,

thank you for the reply.

I can reproduce this and agree it is quite unintuitive.

We currently look at the latest execution of a Plan when doing an update, so if you did two separate renku runs instead of renku run && renku workflow execute, it’d work. I’m currently working on a potential fix that works in both those scenarios.

Hi Ralf,
thanks a lot! That is good to know and helps understanding.
Also as mentioned above the new features look really great and useful for us!
Best,
Almut

Hey Almut,

we have a fix that is ready to be merged in fix(core): make status and update consider all relevant activities by Panaetius · Pull Request #2479 · SwissDataScienceCenter/renku-python · GitHub which should be on master soon.

Regards,

Ralf

1 Like