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