[
https://issues.apache.org/jira/browse/NIFI-7380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17108394#comment-17108394
]
Matthieu Cauffiez commented on NIFI-7380:
-----------------------------------------
You are welcome [~pvillard]
PR 4264 is a quick fix. I recommend to refactor of the cs instantiation part
in order to have consistency, If I am finding some time I will push another PR
with the code refactored.
> NiFi Stateless does not validate CS correctly
> ---------------------------------------------
>
> Key: NIFI-7380
> URL: https://issues.apache.org/jira/browse/NIFI-7380
> Project: Apache NiFi
> Issue Type: Bug
> Components: NiFi Stateless
> Reporter: Pierre Villard
> Assignee: Pierre Villard
> Priority: Critical
> Labels: nifi-stateless, stateless
> Attachments: nifi-7380-confluent-schema-registry-exception.txt,
> nifi-7380-exception.txt, nifi-7380-flow-config.json,
> nifi-7380-jolt-exception.txt, stateless.json
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> When the flow executed with the NiFi Stateless running mode contains a
> Controller Service with required properties, it'll fail as it does not take
> into account the configuration when performing the validation of the
> component.
> In *StatelessControllerServiceLookup*, the method
> {code:java}
> public void enableControllerServices(final VariableRegistry variableRegistry)
> {code}
> first validates the configured controller services and calls
> {code:java}
> public Collection<ValidationResult> validate(...){code}
> This will create a *StatelessProcessContext* object and a
> *StatelessValidationContext* object. Then the method *validate* is called on
> the controller service and pass the validation context as argument. It will
> go through the properties of the controller service and will retrieve the
> configured value of the properties as set in the *StatelessProcessContext*
> object. The problem is that the *properties* map in the Stateless Process
> Context supposed to contain the configured values is never set. As such, any
> required property in a Controller Service is considered as configured with a
> null value if there is no default value. This will cause the component
> validation to fail and the flow won't be executed.
> I opened a PR with a solution that does solve this issue. However I'm not
> sure this issue does not affect other scenarios and a better approach could
> be necessary (more in line with what is done in NiFi core).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)