Description
Long Story Short
In a cloned study, output of the JSONIFIER service do not change upon input parameter change (even if in the logs, it is seen that the service is receiving the updated inputs). @wvangeit hypothesis is that the clone keeps polling the original node for output, instead of the one in the cloned study.
Expected Behavior
A cloned study behaves fully independently of the original one, and changing the parameters produces different outputs as expected.
Actual behaviour
There seems to be some "leakage" of information between the original and the clone, or even between different clones of the same study.
Steps to reproduce
Create a study as seen in the screenshot, and a main.py with this code:
import pathlib as pl
import json
import os
if __name__ == "__main__":
input_values_path = pl.Path(os.environ["INPUT_FOLDER"]) / "values.json"
input_values = json.loads(input_values_path.read_text())
X = input_values["number_1"]
Y = input_values["number_2"]
output_values = {"number_1": X + Y, "number_2": X - Y}
output_values_path = (
pl.Path(os.environ["OUTPUT_FOLDER"]) / "output_1" / "values.json"
)
output_values_path.write_text(json.dumps(output_values))
Run - it should behave as-expected (changing the inputs changes the outputs).
Create a clone of the study, go in, and change the parameters. You will see that upon running it again, results are still the same as before - even though the input JSONIFIER is getting the updated inputs.
Environment
osparc-master.speag.com
Additional context
This is generating always the same result for MetaModeling (if the study is a clone of previous study) - which would be a major bug for users.