Hi Jeremy,

1. No, there is no "closest" NiFi version. MiNiFi C++ is an approximate reimplementation of some of the concepts and features of NiFi, but only some of the components are available, and there are differences in the available properties of the processors and controller services, and occasionally small behavior differences. It's mostly a subset of NiFi features, with a handful exceptions that are not available in NiFi (e.g. extra ConsumeWindowsEventLog features, AppendHostInfo), therefore NiFi flow definitions are not reusable without extensive changes.

Since the source codebase is independent of the NiFi codebase, and the feature set doesn't closely track any NiFi version, there is no "closest" corresponding NiFi version.

I think your best bet is to hand-write a new flow definition, based on the available components. The NiFi flow definition format works, but a simpler JSON and YAML flow definition syntax is also supported.

The list of available processors and their properties, relationships in MiNiFi C++: https://github.com/apache/nifi-minifi-cpp/blob/main/PROCESSORS.md Example flow definitions (examples available in all 3 formats): https://github.com/apache/nifi-minifi-cpp/tree/main/examples

Alternatively, there is a C2 server available, with a graphical flow designer, recently open sourced by Adam Debreceni, you can give it a try here: https://github.com/adamdebreceni/c2-server
This is an early version, and is not under the NiFi umbrella.

2. The problem there is that the success relationship of ExtractText doesn't have an outgoing connection. It may be a typo in the UUIDs or source relationship name in the connection definition between ExtractText and AttributesToJSON. There is no EvaluateJsonPath implementation in MiNiFi C++ at the moment.

Marton

On 8/6/24 19:49, Jeremy Pemberton-Pigott wrote:
I'm using the MiNiFi C++ as a lightweight service.

#1. Is there a version of NiFi that the Windows MiNiFi C++ version 0.99.0
is closest to?  I am saving the json from NiFi 1.25.0 (manually modifying
it to be compatible with the flow.json.raw) and I noticed that some
processor settings are not part of the C++ version based on the warnings
reported in the minifi-app.log.

#2. Is there an alternative to the EvaluateJsonPath processor in C++
MiNiFi?  I have tried using the ExtractText with an expression but it is
giving me the below error even though it does test correctly in the NiFi
1.25.0 flow.  The next processor in the flow is AttributesToJSON after this
ExtractText.

I have 2 attributes that the ExtractText "Extract Request Values" is
extracting from json content (180 bytes):
request = \"request\":\"(.*?)\"
serial = \"serial\":\"(.*?)\"

[2024-08-05 23:28:11.688] [org::apache::nifi::minifi::core::Processor]
[warning] Caught "Process Session Operation: Connect empty for non auto
terminated relationship success" (struct
org::apache::nifi::minifi::Exception) during Processor::onTrigger of
processor: cbb84d6f-970a-34fa-afe5-d99444480151 (Extract Request Values)
(cbb84d6f-970a-34fa-afe5-d99444480151)
[2024-08-05 23:28:11.688] [org::apache::nifi::minifi::core::ProcessSession]
[info] Penalizing ab4bf63e-53b4-11ef-93fe-bcf171a5bb0c for 30000ms at
Extract Request Values
[2024-08-05 23:28:11.688] [org::apache::nifi::minifi::core::ProcessSession]
[warning] ProcessSession rollback for Extract Request Values executed

Jeremy

Reply via email to