Hi to all,

I am using MiNiFi C2 server version 0.5.0 and MiNiFi version 1.14.0.
C2 server is configured to pull templates from localhost NiFi installation
and MiNiFi is configured with configuration change ingestor to pull config from 
C2 server.

After I created MiNiFi flow on NiFi canvas including Remote Process Group 
pointed to the same
NiFi installation (IP and port configured and the flow tested on localhost, 
flowfiles are coming
on input port) I saved the flow as template.

The template has the following ID's for the input port:

                <inputPorts>
                    <batchSettings/>
                    <comments></comments>
                    
<concurrentlySchedulableTaskCount>1</concurrentlySchedulableTaskCount>
                    <connected>true</connected>
                    <exists>true</exists>
                    <groupId>f43fd60b-017b-1000-ad38-01d2ac321927</groupId>
                    <id>b4fbf2a8-46d0-3ac7-b833-21533794f7a7</id>
                    <name>DataFromSensors</name>
                    <targetId>f43dd13c-017b-1000-df9a-acf01964ae4f</targetId>

When C2 server pulls the template, it apparently sets wrong ID in config.yml 
file, instead of putting input port <id>,
it sets <targetId> into config.yml file, causing MiNiFi agent is unable to 
accept that configuration and denies it, it is simply wrong.

This is the Exception from MiNiFi log:

Caused by: 
org.apache.nifi.minifi.bootstrap.exception.InvalidConfigurationException: 
Failed to transform config file due to:[Connection with id 
8f6c9b69-5b31-313e-0000-000000000000 has invalid destination id 
b4fbf2a8-46d0-3ac7-b833-21533794f7a7]
               at 
org.apache.nifi.minifi.bootstrap.util.ConfigTransformer.throwIfInvalid(ConfigTransformer.java:131)
               at 
org.apache.nifi.minifi.bootstrap.util.ConfigTransformer.transformConfigFile(ConfigTransformer.java:94)
               at 
org.apache.nifi.minifi.bootstrap.RunMiNiFi.performTransformation(RunMiNiFi.java:1693)

To fix it, I need to go  to cached config file in ./cache folder of C2 server, 
and set the right ID of the input port manually.

NOTE: I tried to convert template file manually using minifi tookit 1.14.0 and 
it sets correct <id> of the input port.

Is this a bug in C2 server or behaviour with purpose? I found the same case for 
minifi toolkit, but apparently it was fixed:
https://stackoverflow.com/questions/59214373/failing-in-minifi-tutorial-toolkit-error-connection-with-id-has-invalid-de

Thanks,
Tom

Reply via email to