[
https://issues.apache.org/jira/browse/NIFI-7380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17104550#comment-17104550
]
Matthieu Cauffiez commented on NIFI-7380:
-----------------------------------------
Hi [~pvillard] and [~mark.weghorst],
The main issue is, parameters from the json are not passed to any controller
services. Process has a way to pass parameters in the ComponentFactory(line
108) that controller service is not doing.
[https://github.com/apache/nifi/pull/4264] fix this issue by keeping the actual
controller service architecture.
> 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-exception.txt, nifi-7380-flow-config.json,
> stateless.json
>
> Time Spent: 10m
> 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)