Thanks for that. It clears some things up.

Im not sure if the doco is supposed to be suitable for nifi 1/2 or just nifi 2.

But you might want to clarify in the doco whether config files are just used by nifi 1. Just used by nifi 2. Or supported in nifi 2 for legacy. But not recommended.


Anyway, Ive put my code from a nifi 2.1.0 into minifi 2.1.0.

I get the following error

2025-01-08 13:16:09,065 ERROR [MiNiFi logging handler] org.apache.nifi.minifi.StdErr Failed to start flow service: Unable to load flow due to: org.apache.nifi.controller.serialization.FlowSynchronizationException: java.lang.IllegalArgumentException: Cannot set max number of threads to less than 1

I attach the converted flow file

I can't see any obvious parameter related to max number of threads.



On 7/1/2025 6:56 pm, Kedvessy Péter wrote:
[You don't often get email from pkedve...@gmail.com. Learn why this is 
important at https://aka.ms/LearnAboutSenderIdentification ]

Hi Robert,

Thanks for reporting the documentation issues. I filed a JIRA to fix them:
https://issues.apache.org/jira/browse/NIFI-14093

In terms of security configuration, you can follow the following guide:
https://github.com/apache/nifi/blob/main/minifi/minifi-docs/src/main/markdown/System_Admin_Guide.md#security-properties-in-bootstrapconf

About the different configuration files you mentioned:
- bootstrap.conf is the main configuration file what we should update
- minifi.properties is a generated properties file based on the
bootstrap.conf
- nifi.properties is the legacy configuration file of minifi
- config.yaml is the legacy flow configuration, now we have the json one
what you have tried to import previously

I hope it helps to set up your minfi agent.

Regards,
Peter

Robert Cohen <robert.co...@anu.edu.au.invalid> ezt írta (időpont: 2025.
jan. 7., K, 6:19):

I'm having a certain amount of trouble getting good info on
administration of minifi 2.

The README file says thats documentation can be found at

https://nifi.apache.org/minifi and
https://cwiki.apache.org/confluence/display/NIFI/MiNiFi

neither of which URL works.


Im assuming the real documentation is at


https://github.com/apache/nifi/blob/main/minifi/minifi-docs/src/main/markdown/System_Admin_Guide.md#config-file


But Im having some Im finding it a bit confusing.

I want to configure the keystore/truststore and sensitive prop passwords.

It appears I can configure them either in bootstrap.conf or
minifi.properties. Is either to be prefered over the other?

The documention mentions nifi.properties and config.yml. But doesnt
mention minifi.properties.

Im assuming the mentions of config.yml are leftover from minifi 1
documentation. Or does minifi 2 use it for backwards compatability.

And I assume nifi.properties has been renamed to minifi.properties and
the documentation hasnt caught up.


Actually dumping strings out of the jar files, I can find instances of
nifi.properties. But I cant find any references to minifi.properties.

However the tarball contains a minifi.properties file but not a
nifi.properties file.

So Im really not sure what is going on.




On 6/1/2025 4:40 pm, Robert Cohen wrote:
Ahh, it appears the functionality is there. Its just that the README
file hasnt been updated,

Theres now a transform-nifi command in addition to the transform-yml
command.


On 6/1/2025 2:59 pm, Robert Cohen wrote:
[You don't often get email from robert.co...@anu.edu.au.invalid.
Learn why this is important at
https://aka.ms/LearnAboutSenderIdentification ]

I had a look at the minifi toolkit.

However, it only appears to contain functionality for converting legacy
minifi config to minifi 2 config

Heres an excerpt from  the minifi-tookit 2.1.0 README file

       Valid commands include:
       transform-yml: Transforms legacy MiNiFi flow config YAML into
MiNiFi flow config JSON

## Example
- You have an older version of MiNiFi located in
<legacy_minifi_directory>.
- You would like upgrade to the latest version of MiNiFi. You downloaded
and extracted the latest MiNiFi into <latest_minifi_directory>.
- Run the following command to migrate the flow and the bootstrap config
```
./config.sh transform-yml <legacy_minifi_directory>/conf/config.yml
<legacy_minifi_directory>/conf/bootstrap.conf
<latest_minifi_directory>/conf/flow.json.raw
<latest_minifi_directory>/conf/bootstrap.conf
```


Is there functionality somewhere to convert a nifi 2.x flow file to a
minifi 2 flow file,


On 12/12/2024 6:48 pm, Kedvessy Péter wrote:
[You don't often get email from pkedve...@gmail.com. Learn why this
is important at https://aka.ms/LearnAboutSenderIdentification ]

Hi Robert,

Seems like the documentation has not been updated. I'm going to file
a JIRA
ticket to apply doc update about how we can import NiFi 2 exported flow
files into MiNiFi.
In a nutshell: before moving the json file into minifi, we should
convert
it with minifi toolkit. Related ticket for more details:
https://issues.apache.org/jira/browse/NIFI-12644


Regards,
Peter

Robert Cohen <robert.co...@anu.edu.au.invalid> ezt írta (időpont:
2024.
dec. 12., Cs, 2:11):

Im having trouble getting code into minifi 2 from nifi 2.

The documentation here


https://github.com/apache/nifi/blob/main/minifi/minifi-docs/src/main/markdown/minifi-java-agent-quick-start.md

says

# Export the dataflow in JSON format.
# Move your new .json file to |minifi/conf|.
# Rename your .json file /flow.json.raw/.


Im using the option in nifi to "download flow definition"

However when I load that into minifi, I get an error message.

java.lang.Exception: Unable to load flow due to:
org.apache.nifi.controller.serialization.FlowSerializationException:
Could not parse flow as a VersionedDataflow


When I compare the file to the dummy flow file that ships with minifi.

The file that ships with minifi starts with

{
     "encodingVersion": {
       "majorVersion": 2,
       "minorVersion": 0
     },


But the export from nifi has

{"flowContents":{"identifier":"a2ac574c-635d-3df5-baf0-6cbf4dd5bdec",


So the 2 files dont appear to be the same format.

Is there some other method of exporting code from nifi that Im
missing?

Attachment: dev_to_test_flow.json
Description: application/json

Reply via email to