[ 
https://issues.apache.org/jira/browse/NIFI-7380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17107153#comment-17107153
 ] 

Pierre Villard commented on NIFI-7380:
--------------------------------------

I closed #4220 in favor of #4264, thanks for the pull request [~mcauffiez].

[~mark.weghorst], for the two other issues (Jolt and Confluent SR), I'd suggest 
to file 2 different JIRAs. It could be the same issue but better to track this 
appropriately.

> 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)

Reply via email to