[
https://issues.apache.org/jira/browse/NIFI-6852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16969445#comment-16969445
]
Dmitry Lukyanov commented on NIFI-6852:
---------------------------------------
Details about this bug:
In {{ExecuteGroovyScript}} processor it's possible to define {{CTL.*}}
parameters with link to {{ControllerService}} by {{ControllerService.class}}
It means any controller service could be linked to this property.
Dynamic property definition in
ExecuteGroovyScript.java|https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-groovyx-bundle/nifi-groovyx-processors/src/main/java/org/apache/nifi/processors/groovyx/ExecuteGroovyScript.java#L427]:
{code:java}
if (property.getKey().getName().startsWith("CTL.")) {
//get controller service
ControllerService ctl =
context.getProperty(property.getKey()).asControllerService(ControllerService.class);
CTL.put(property.getKey().getName().substring(4), ctl);
} else ...
{code}
However, when you define any property with name {{CTL.*}} ( * - means any name
) then
there is an error message on nifi screen
!NIFI_CTL.png!
And seems the error raised in
[AbstractComponentNode.java|https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/AbstractComponentNode.java#L746]:
{code:java}
final boolean matchesApi = matchesApi(extensionManager,
controllerServiceBundle, controllerServiceApiCoordinate);
if (!matchesApi) {
final String controllerServiceType =
controllerServiceNode.getComponentType();
final String controllerServiceApiType =
controllerServiceApiClass.getSimpleName();
final String explanation = new StringBuilder()
.append(controllerServiceType).append(" -
").append(controllerServiceCoordinate.getVersion())
.append(" from
").append(controllerServiceCoordinate.getGroup()).append(" -
").append(controllerServiceCoordinate.getId())
.append(" is not compatible with
").append(controllerServiceApiType).append(" -
").append(controllerServiceApiCoordinate.getVersion())
.append(" from
").append(controllerServiceApiCoordinate.getGroup()).append(" -
").append(controllerServiceApiCoordinate.getId())
.toString();
return createInvalidResult(serviceId, propertyName, explanation);
{code}
Could somebody explain the validation above?
> CTL doesn't work in ExecuteGroovyScript processor with Apache NiFi 1.10.0
> -------------------------------------------------------------------------
>
> Key: NIFI-6852
> URL: https://issues.apache.org/jira/browse/NIFI-6852
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.10.0
> Reporter: Behrouz
> Priority: Major
> Attachments: NIFI_CTL.png
>
>
> more information is available in this stackoverflow question:
> [https://stackoverflow.com/questions/58731092/why-ctl-doesnt-work-in-executegroovyscript-processor-with-apache-nifi-1-10-0]
> according to daggett comment in stackoverflow the source of error seems to be
> [https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/AbstractComponentNode.java#L746|http://example.com/]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)