Skip to main content

If I create a component with a step that maps an expression as a parameter, and call that component from a workflow, I get a “Model is not valid” exception. The attached provides a minimal example of this behavior. The component, param_test.comp, uses a random record generator with a single column, the expression of which is mapped to a parameter named “param.” The parameter value is set to “param_value.” The workflow, param_test.ewf, calls the component, passing the parameter, “param,” with value “param_value.”

If the component is executed in isolation, execution completes successfully. If the component is executed from the workflow, the below error message is printed and execution halts. Is this a supported scenario? If not, how can I map a parameter value to a column within a component that is called from a workflow?

25.03.2024 01:20:25 >INFO]     Processor started
25.03.2024 01:20:26 >INFO] Task 'Run DQC' : IN_QUEUE
25.03.2024 01:20:26 >INFO] Task 'Run DQC' : RUNNING
25.03.2024 01:20:26 >INFO] Task 'Run DQC' : failed with exception: Model is not valid.
com.ataccama.adt.internal.core.runtime.EwfRuntimeException: Model is not valid.
at com.ataccama.adt.task.exec.EwfDqcTask$EwfDqcTaskExecutableInstance.run(EwfDqcTask.java:196)
at com.ataccama.adt.internal.core.runtime.EwfTaskProcessor$ThreadSlot.run(EwfTaskProcessor.java:371)
25.03.2024 01:20:26 >INFO] --- Stop initiated ---
25.03.2024 01:20:26 >INFO] --- Stop done : processor stopped with status : FINISHED_FAILURE---

 

Hi @jbrant 

 

Try putting it like “’param_value’”
The catch here is that Expression in the workflow step should evaluate to a valid expression in DQC plan.

When you put it like ‘param_value’, workflow evaluates it and pass the result (param_value) to the plan.
Then, the plan tries to start with expression param_value, which obviously is not valid, as there no such column or function.
 

 


Thank you, that fixed the problem I was having.


Reply