Date Time Input's "Use execution time" ignored when a workflow calls another one

I’ve started elaborating nested workflows so I’ve introduced some Call Workflow, Container Input and Container Output Nodes to my workflows.

As many times before I’ve quickly run into some silly troubles. One of my workflows has started to behave strangely. I identified the problem and isolated surprising fact.

If I configure a Date&Time Input node to produce its value based on execution time it works as expected just until the time the workflow is configured as an inner workflow of another one.

Let’s simulate it together step by step.

Let’s create an Inner Workflow first. The workflow consists of three nodes as follows:

image

The Empty Table Creator creates a table of one row. The Constant Value Column node appends an output of Date&Time Input node to the table. Let’s have a look at how the Date&Time Input node is configured.


Note, the “Use execution time” is checked. Pay a special attention to the grayed date and time values that are set to some time yesterday. I guess it might be the time I started KNIME IDE last time but I’m not sure. It’s definitely not a time I created the workflow not even time I added the node to it.

OK, let’s carry on. Once invoked the workflow produces an output I’d expect.
image
14:01:57 was really the time of execution.

Next I added a pair of Container Input / Output nodes, reset and re-invoked the workflow. The behaviour of the Date&Time Node didn’t change.
image

After that I introduced an outer workflow which was supposed to call the inner one. I added three nodes and configured the Call Workflow (Table Based) one to use the workflow I created before.

Just after this I noticed this action reseted some nodes of the inner workflow. Those were the Container Input and Date&Time Input and their ancestors. Let’s have a look:
image

And now let’s have a look at what happened to the Date&Time Input.

Wow! The configuration dialog insists on that the value was ovewritten by a dialog. The time it displays just behind the message is the time the configuration dialog was opened. It refreshes when the dialog re-opens. Nevermind.

And now let’s execute the Date&Time Node. It produces the time we could see in grayed fields of configuration form. The time I consider to be the current time at the moment KNIME IDE started.

image

I don’t think this is really an intention.

Even more interesting thing is, the impact on the Date&Time Input is ireversible. Even after I step-by-step reset the workflow, removed Container Input and Output nodes, removed the Call Workflow node from the outer workflow and even removed the whole outer workflow, I couldn’t make it produce execution time anymore.

I’m fully convinced this is a bug. The only workaround I could come up with at the moment would be a replacement of Date&Time Iput nodes with a custom logic implemented in suitable snippet nodes (a Java Snippet node for instance).

Knime Analytics Platform 3.7.1, MacOS Mojave

1 Like

Hi jan_lender,

thanks for sharing your experience and sorry for the delayed reply.
I will try to reproduce your issue, check with our developers and come back to you!

Best,
Martyna

Hello @jan_lender,

the response comes late, sorry for that. Thank you for the detailed report, it helped a lot to investigate!
We were able to reproduce the issue. However, with the latest release, we revised the configuration nodes. The Date&Time Input node can still be used but is categorized as legacy since then. I recommend you using the new Date&Time Configuration node which should work fine. Let us know if you encounter any issues using this or any of the new configuration nodes.

Regards,
Simon

4 Likes

Hi @SimonS
Thank you for your reply.
I collected some experience and made some decisions in the period after I had created this topic.
More specifically, I moved the way I design my workflows a bit from nested workflows which means those workflows invoked by Call [Local] Workflow nodes placed in another (outer) workflows. This concept stopped suiting me after I had learnt an investigation of problems in these nested workflows is pretty inconvenient because nested workflows don’t produce output I could import to KNIME Analytics Platform IDE the way I could do it in case of directly (using batch mode) invoked workflows.
I created a topic Batch Mode & Call Local Workflow - where is nested workflow output? which deals with the issue I just described. Unfortunately, we started a slightly of-topic conversation in the issue shortly after I had created it, so my questlion I asked there is still open.
Regards, Jan

Hi there @jan_lender,

there is an answer to your question in this reply from linked topic. Maybe not direct enough :wink:

Br,
Ivan