[jira] [Assigned] (MINIFICPP-2351) MultipartUploadStateStorageTest transiently fails
[ https://issues.apache.org/jira/browse/MINIFICPP-2351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits reassigned MINIFICPP-2351: - Assignee: Ferenc Gerlits > MultipartUploadStateStorageTest transiently fails > - > > Key: MINIFICPP-2351 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2351 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > Time Spent: 10m > Remaining Estimate: 0h > > Failing centos CI job: > [https://github.com/fgerlits/nifi-minifi-cpp/actions/runs/8891797372/job/24414499850] > {noformat} > --- > Remove aged off state > --- > /opt/minifi/extensions/aws/tests/MultipartUploadStateStorageTest.cpp:138 > ... > /opt/minifi/extensions/aws/tests/MultipartUploadStateStorageTest.cpp:159: > FAILED: > REQUIRE( upload_storage_->getState("test_bucket", "key2") == state2 ) > with expansion: > std::nullopt == {?} > === > test cases: 4 | 3 passed | 1 failed > assertions: 13 | 12 passed | 1 failed > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2384) Update version number to 0.99.1
Ferenc Gerlits created MINIFICPP-2384: - Summary: Update version number to 0.99.1 Key: MINIFICPP-2384 URL: https://issues.apache.org/jira/browse/MINIFICPP-2384 Project: Apache NiFi MiNiFi C++ Issue Type: Task Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2375) ExecuteScript with lua throws
Ferenc Gerlits created MINIFICPP-2375: - Summary: ExecuteScript with lua throws Key: MINIFICPP-2375 URL: https://issues.apache.org/jira/browse/MINIFICPP-2375 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits When running ExecuteScript with {noformat} Properties: Script Engine: python Script Body: print("hello world!") {noformat} onTrigger throws an exception, and the flow file gets penalized, although the script gets called: "hello world!" is printed to the console. The log file has {noformat} [2024-05-15 15:11:29.108] [org::apache::nifi::minifi::core::Processor] [warning] Caught "attempt to call a nil value stack traceback:" (N3org6apache4nifi6minifi10extensions3lua18LuaScriptExceptionE) during Processor::onTrigger of processor: 2cc9c0d6-6ea2-473e-a30d-5debb0b3b2c5 (Execute script) (2cc9c0d6-6ea2-473e-a30d-5debb0b3b2c5) [2024-05-15 15:11:29.108] [org::apache::nifi::minifi::core::ProcessSession] [warning] ProcessSession rollback for Execute script executed [2024-05-15 15:11:29.108] [org::apache::nifi::minifi::SchedulingAgent] [warning] Caught Exception during SchedulingAgent::onTrigger of processor Execute script (uuid: 2cc9c0d6-6ea2-473e-a30d-5debb0b3b2c5), type: N3org6apache4nifi6minifi10extensions3lua18LuaScriptExceptionE, what: attempt to call a nil value stack traceback: {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2374) Support more distros in the python bootstrapper
Ferenc Gerlits created MINIFICPP-2374: - Summary: Support more distros in the python bootstrapper Key: MINIFICPP-2374 URL: https://issues.apache.org/jira/browse/MINIFICPP-2374 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits The python bootstrapper supports these Linux distros: ubuntu, arch, manjaro and rocky (see [package_manager.py|https://github.com/apache/nifi-minifi-cpp/blob/main/bootstrap/package_manager.py#L303]). I think it should support a few more, eg. fedora and debian. The old boostrap.sh script supports these distros. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2351) MultipartUploadStateStorageTest transiently fails
Ferenc Gerlits created MINIFICPP-2351: - Summary: MultipartUploadStateStorageTest transiently fails Key: MINIFICPP-2351 URL: https://issues.apache.org/jira/browse/MINIFICPP-2351 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits Failing centos CI job: [https://github.com/fgerlits/nifi-minifi-cpp/actions/runs/8891797372/job/24414499850] {noformat} --- Remove aged off state --- /opt/minifi/extensions/aws/tests/MultipartUploadStateStorageTest.cpp:138 ... /opt/minifi/extensions/aws/tests/MultipartUploadStateStorageTest.cpp:159: FAILED: REQUIRE( upload_storage_->getState("test_bucket", "key2") == state2 ) with expansion: std::nullopt == {?} === test cases: 4 | 3 passed | 1 failed assertions: 13 | 12 passed | 1 failed {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MINIFICPP-2305) C2VerifyHeartbeatAndStopSecure test transiently fails in CI
[ https://issues.apache.org/jira/browse/MINIFICPP-2305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17842370#comment-17842370 ] Ferenc Gerlits commented on MINIFICPP-2305: --- Another failure of the same kind on macos: https://github.com/apache/nifi-minifi-cpp/actions/runs/8894224658/job/24422028589?pr=1771 {noformat} Error: 4-30 12:37:34.731] [org::apache::nifi::minifi::core::flow::AdaptiveConfiguration] [error] Error while processing configuration file: Unable to parse configuration file as none of the possible required fields [Flow Controller] is available [in '' section of configuration file] libc++abi: terminating due to uncaught exception of type std::invalid_argument: Unable to parse configuration file as none of the possible required fields [Flow Controller] is available [in '' section of configuration file] {noformat} > C2VerifyHeartbeatAndStopSecure test transiently fails in CI > --- > > Key: MINIFICPP-2305 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2305 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Gábor Gyimesi >Priority: Major > Attachments: C2VerifyHeartbeatAndStopSecure_failure.log > > > C2VerifyHeartbeatAndStopSecure sometimes fails in CI: > {code:java} > Error: 2-23 14:39:39.239] > [org::apache::nifi::minifi::core::flow::AdaptiveConfiguration] [error] Error > while processing configuration file: Unable to parse configuration file as > none of the possible required fields [Flow Controller] is available [in '' > section of configuration file] > terminate called after throwing an instance of 'std::invalid_argument' > what(): Unable to parse configuration file as none of the possible > required fields [Flow Controller] is available [in '' section of > configuration file] {code} > More info in the attached logs. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2343) generateVersion.bat doesn't work if there is a space in the path
Ferenc Gerlits created MINIFICPP-2343: - Summary: generateVersion.bat doesn't work if there is a space in the path Key: MINIFICPP-2343 URL: https://issues.apache.org/jira/browse/MINIFICPP-2343 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (MINIFICPP-2330) *.py files are not added to MSI installer if build dir is outside of source root
[ https://issues.apache.org/jira/browse/MINIFICPP-2330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits reassigned MINIFICPP-2330: - Assignee: Ferenc Gerlits > *.py files are not added to MSI installer if build dir is outside of source > root > > > Key: MINIFICPP-2330 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2330 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Gábor Gyimesi >Assignee: Ferenc Gerlits >Priority: Major > > Python files are added in the wix file with "../" relative path which fails > if the build directory is outside the source root. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MINIFICPP-2329) Replace the date library with C++20 stdlib functions
[ https://issues.apache.org/jira/browse/MINIFICPP-2329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17837688#comment-17837688 ] Ferenc Gerlits edited comment on MINIFICPP-2329 at 4/16/24 4:18 PM: This works on Visual Studio: https://github.com/fgerlits/nifi-minifi-cpp/commit/4eff2eae66e476cb21da0aac1af650f18a20560d When gcc 14 and llvm 20 (or whichever version supports {{std::chrono::parse}}) are out, we should test this code change with those standard libraries, as well. was (Author: fgerlits): This works on Visual Studio: https://github.com/fgerlits/nifi-minifi-cpp/commit/5764608ccfdc73f7849893eb5da3c36f35b7ec1e When gcc 14 and llvm 20 (or whichever version supports {{std::chrono::parse}}) are out, we should test this code change with those standard libraries, as well. > Replace the date library with C++20 stdlib functions > > > Key: MINIFICPP-2329 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2329 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Priority: Minor > > Everything in Howard Hinnant's date library has been incorporated (either > verbatim or in slightly changed form) in C++20, so we should be able to > remove this dependency and use the new functions in the standard library > instead. > Unfortunately, only Visual Studio has fully implemented this part of C++ 20, > the other standard libraries are still missing {{std::chrono:parse()}}. This > should be fixed in [gcc 14|https://gcc.gnu.org/gcc-14/changes.html] but it's > still not in the upcoming [llvm 19|https://libcxx.llvm.org/ReleaseNotes.html] > release – let's hope for llvm 20. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MINIFICPP-2329) Replace the date library with C++20 stdlib functions
[ https://issues.apache.org/jira/browse/MINIFICPP-2329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17837688#comment-17837688 ] Ferenc Gerlits commented on MINIFICPP-2329: --- This works on Visual Studio: https://github.com/fgerlits/nifi-minifi-cpp/commit/5764608ccfdc73f7849893eb5da3c36f35b7ec1e When gcc 14 and llvm 20 (or whichever version supports {{std::chrono::parse}}) are out, we should test this code change with those standard libraries, as well. > Replace the date library with C++20 stdlib functions > > > Key: MINIFICPP-2329 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2329 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Priority: Minor > > Everything in Howard Hinnant's date library has been incorporated (either > verbatim or in slightly changed form) in C++20, so we should be able to > remove this dependency and use the new functions in the standard library > instead. > Unfortunately, only Visual Studio has fully implemented this part of C++ 20, > the other standard libraries are still missing {{std::chrono:parse()}}. This > should be fixed in [gcc 14|https://gcc.gnu.org/gcc-14/changes.html] but it's > still not in the upcoming [llvm 19|https://libcxx.llvm.org/ReleaseNotes.html] > release – let's hope for llvm 20. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2329) Replace the date library with C++20 stdlib functions
[ https://issues.apache.org/jira/browse/MINIFICPP-2329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2329: -- Description: Everything in Howard Hinnant's date library has been incorporated (either verbatim or in slightly changed form) in C++20, so we should be able to remove this dependency and use the new functions in the standard library instead. Unfortunately, only Visual Studio has fully implemented this part of C++ 20, the other standard libraries are still missing {{std::chrono:parse()}}. This should be fixed in [gcc 14|https://gcc.gnu.org/gcc-14/changes.html] but it's still not in the upcoming [llvm 19|https://libcxx.llvm.org/ReleaseNotes.html] release – let's hope for llvm 20. was: Everything in Howard Hinnant's date library has been incorporated (either verbatim or in slightly changed form) in C++20, so we should be able to remove this dependency and use the new functions in the standard library instead. Unfortunately, only Visual Studio has fully implemented this part of C{+}{+}20, the other standard libraries are still missing {{std::chrono:parse()}}. This should be fixed in [gcc (libstdc{+}{+}) 14|[https://gcc.gnu.org/gcc-14/changes.html],] but it's still not in the upcoming [libc{+}{+} 19|https://libcxx.llvm.org/ReleaseNotes.html] release – let's hope for libc{+}{+} 20. > Replace the date library with C++20 stdlib functions > > > Key: MINIFICPP-2329 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2329 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Priority: Minor > > Everything in Howard Hinnant's date library has been incorporated (either > verbatim or in slightly changed form) in C++20, so we should be able to > remove this dependency and use the new functions in the standard library > instead. > Unfortunately, only Visual Studio has fully implemented this part of C++ 20, > the other standard libraries are still missing {{std::chrono:parse()}}. This > should be fixed in [gcc 14|https://gcc.gnu.org/gcc-14/changes.html] but it's > still not in the upcoming [llvm 19|https://libcxx.llvm.org/ReleaseNotes.html] > release – let's hope for llvm 20. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2329) Replace the date library with C++20 stdlib functions
[ https://issues.apache.org/jira/browse/MINIFICPP-2329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2329: -- Description: Everything in Howard Hinnant's date library has been incorporated (either verbatim or in slightly changed form) in C++20, so we should be able to remove this dependency and use the new functions in the standard library instead. Unfortunately, only Visual Studio has fully implemented this part of C{+}{+}20, the other standard libraries are still missing {{std::chrono:parse()}}. This should be fixed in [gcc (libstdc{+}{+}) 14|[https://gcc.gnu.org/gcc-14/changes.html],] but it's still not in the upcoming [libc{+}{+} 19|https://libcxx.llvm.org/ReleaseNotes.html] release – let's hope for libc{+}{+} 20. was: Everything in Howard Hinnant's date library has been incorporated (either verbatim or in slightly changed form) in C++20, so we should be able to remove this dependency and use the new functions in the standard library instead. Unfortunately, only Visual Studio has fully implemented this part of C++20, the other standard libraries are still missing {{{}std::chrono:parse(){}}}. This should be fixed in [gcc (libstdc++) 14|[https://gcc.gnu.org/gcc-14/changes.html],] but it's still not in the upcoming [libc++ 19|https://libcxx.llvm.org/ReleaseNotes.html] release -- let's hope for libc++ 20. > Replace the date library with C++20 stdlib functions > > > Key: MINIFICPP-2329 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2329 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Priority: Minor > > Everything in Howard Hinnant's date library has been incorporated (either > verbatim or in slightly changed form) in C++20, so we should be able to > remove this dependency and use the new functions in the standard library > instead. > Unfortunately, only Visual Studio has fully implemented this part of > C{+}{+}20, the other standard libraries are still missing > {{std::chrono:parse()}}. This should be fixed in [gcc (libstdc{+}{+}) > 14|[https://gcc.gnu.org/gcc-14/changes.html],] but it's still not in the > upcoming [libc{+}{+} 19|https://libcxx.llvm.org/ReleaseNotes.html] release – > let's hope for libc{+}{+} 20. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2329) Replace the date library with C++20 stdlib functions
Ferenc Gerlits created MINIFICPP-2329: - Summary: Replace the date library with C++20 stdlib functions Key: MINIFICPP-2329 URL: https://issues.apache.org/jira/browse/MINIFICPP-2329 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Everything in Howard Hinnant's date library has been incorporated (either verbatim or in slightly changed form) in C++20, so we should be able to remove this dependency and use the new functions in the standard library instead. Unfortunately, only Visual Studio has fully implemented this part of C++20, the other standard libraries are still missing {{{}std::chrono:parse(){}}}. This should be fixed in [gcc (libstdc++) 14|[https://gcc.gnu.org/gcc-14/changes.html],] but it's still not in the upcoming [libc++ 19|https://libcxx.llvm.org/ReleaseNotes.html] release -- let's hope for libc++ 20. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2326) Link lualib statically
[ https://issues.apache.org/jira/browse/MINIFICPP-2326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2326: -- Description: Installing the liblua library on Windows and using it during the build is a pain. Instead of this, we should bundle liblua and link it statically into the lua script extension DLL. This will make things simpler on Linux, as well. was: Installing the liblua library on Windows and using it during the build is a pain. Instead of this, we should bundle liblua and link it statically into the lua script extension DLL. This will make thing simpler on Linux, as well. > Link lualib statically > -- > > Key: MINIFICPP-2326 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2326 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > Time Spent: 0.5h > Remaining Estimate: 0h > > Installing the liblua library on Windows and using it during the build is a > pain. > Instead of this, we should bundle liblua and link it statically into the lua > script extension DLL. > This will make things simpler on Linux, as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2326) Link lualib statically
Ferenc Gerlits created MINIFICPP-2326: - Summary: Link lualib statically Key: MINIFICPP-2326 URL: https://issues.apache.org/jira/browse/MINIFICPP-2326 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits Installing the liblua library on Windows and using it during the build is a pain. Instead of this, we should bundle liblua and link it statically into the lua script extension DLL. This will make thing simpler on Linux, as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2325) Add missing compiler flags to the Ninja build on Windows
Ferenc Gerlits created MINIFICPP-2325: - Summary: Add missing compiler flags to the Ninja build on Windows Key: MINIFICPP-2325 URL: https://issues.apache.org/jira/browse/MINIFICPP-2325 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2324) Add an option to the Windows installer whether to start the service after installation
Ferenc Gerlits created MINIFICPP-2324: - Summary: Add an option to the Windows installer whether to start the service after installation Key: MINIFICPP-2324 URL: https://issues.apache.org/jira/browse/MINIFICPP-2324 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2319) Prevent RepoTests from creating file in the source tree
Ferenc Gerlits created MINIFICPP-2319: - Summary: Prevent RepoTests from creating file in the source tree Key: MINIFICPP-2319 URL: https://issues.apache.org/jira/browse/MINIFICPP-2319 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits A new test was added to RepoTests, which does not set MINIFI_HOME to a temp directory, so it creates the bootstrap.conf file in the source tree. It would be good to figure out how to prevent this from happening in the first place, but for now, I'm just going to fix this one test. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2318) Use libc++ in the clang CI build
Ferenc Gerlits created MINIFICPP-2318: - Summary: Use libc++ in the clang CI build Key: MINIFICPP-2318 URL: https://issues.apache.org/jira/browse/MINIFICPP-2318 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits We used to use libc++ as the standard library in the ubuntu_22_04_clang CI build, but this got accidentally lost in some recent change, and now we build with libstdc++. This change reverts to using libc++. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2316) Expression language does not handle ${literal('\n')}
Ferenc Gerlits created MINIFICPP-2316: - Summary: Expression language does not handle ${literal('\n')} Key: MINIFICPP-2316 URL: https://issues.apache.org/jira/browse/MINIFICPP-2316 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits If we put {{{}$\{literal('\n'){ in a property value (which supports expression value) in NiFi, it results in a newline (0x0A) character. In MiNiFi, we get this error message: {noformat} [2024-03-11 10:48:37.164] [org::apache::nifi::minifi::core::Processor] [warning] Caught "1.13: syntax error, unexpected identifier, expecting \ or "'" or "\""" (St13runtime_error) during Processor::onTrigger of processor: 932a0430-3655-4db2-9b4a-bb271ba67d53 (Append newline) (932a0430-3655-4db2-9b4a-bb271ba67d53) [2024-03-11 10:48:37.164] [org::apache::nifi::minifi::core::ProcessSession] [info] Penalizing 7670c84e-df8c-11ee-9667-0242204dc695 for 3ms at Append newline {noformat} Note that the actual property value in {{config.yml}} (or in the exported NiFi config) is {noformat} ${literal('\\n')} {noformat} because the backslash gets escaped. If you manually edit the {{config.yml}} file and enter {{{}$\{literal('\n'){, that works, because we'll have a 0x0A character in the config, so MiNiFi sees {noformat} ${literal(' ')} {noformat} But if you use a tool to generate {{{}config.yml{}}}, it most likely will escape the backslash, so there is no way to have {{$\{literal('\n'){ as the property value. Please check the NiFi code to see the full list of special characters supported by NiFi, and make sure MiNiFi supports the same list. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2310) Extend ListenTCP with new ways to delimit flow files
[ https://issues.apache.org/jira/browse/MINIFICPP-2310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2310: -- Description: * custom message delimiter * option to separate by connection (no delimiter, only optional size limit) * batching multiple messages to 1 flow file (like NiFi 'Max Batch Size') Also, ListenTCP should not remove the delimiter from the end of the outgoing flow files, to make sure that a byte stream going through PutTCP -> ListenTCP stays the same. (Optionally, we may want to make this configurable.) was: * custom message delimiter * option to separate by connection (no delimiter, only optional size limit) * batching multiple messages to 1 flow file (like NiFi 'Max Batch Size') > Extend ListenTCP with new ways to delimit flow files > > > Key: MINIFICPP-2310 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2310 > Project: Apache NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: Marton Szasz >Priority: Major > > * custom message delimiter > * option to separate by connection (no delimiter, only optional size limit) > * batching multiple messages to 1 flow file (like NiFi 'Max Batch Size') > Also, ListenTCP should not remove the delimiter from the end of the outgoing > flow files, to make sure that a byte stream going through PutTCP -> ListenTCP > stays the same. (Optionally, we may want to make this configurable.) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2312) Do not return shared_ptrs unnecessarily in ControllerServiceMap and ControllerServiceNode
[ https://issues.apache.org/jira/browse/MINIFICPP-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2312: -- Description: There are several functions in and around Controller Service storage which return shared_ptr's, probably unnecessarily. For example, {noformat} ControllerServiceMap::getAllControllerServices() ControllerServiceNode::getControllerServiceImplementation(); ControllerServiceNode::getLinkedControllerServices(); ControllerServiceNode::getLinkedComponents(); {noformat} Check if these function can return non-owning, possibly const, possibly gsl::not_null, pointers instead of shared_ptrs, and if it is possible, then change them. was: There are several functions in and around Controller Service storage which return shared_ptr's, probably unnecessarily. For example, {noformat} ControllerServiceMap::getAllControllerServices() ControllerServiceNode::getControllerServiceImplementation(); ControllerServiceNode::getLinkedControllerServices(); ControllerServiceNode::getLinkedComponents(); {noformat} Check if these function can return non-owning, possibly const, possibly gsl::non_null, pointers instead of shared_ptrs, and if it is possible, then change them. > Do not return shared_ptrs unnecessarily in ControllerServiceMap and > ControllerServiceNode > - > > Key: MINIFICPP-2312 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2312 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > There are several functions in and around Controller Service storage which > return shared_ptr's, probably unnecessarily. For example, > {noformat} > ControllerServiceMap::getAllControllerServices() > ControllerServiceNode::getControllerServiceImplementation(); > ControllerServiceNode::getLinkedControllerServices(); > ControllerServiceNode::getLinkedComponents(); > {noformat} > Check if these function can return non-owning, possibly const, possibly > gsl::not_null, pointers instead of shared_ptrs, and if it is possible, then > change them. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2312) Do not return shared_ptrs unnecessarily in ControllerServiceMap and ControllerServiceNode
[ https://issues.apache.org/jira/browse/MINIFICPP-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2312: -- Description: There are several functions in and around Controller Service storage which return shared_ptr's, probably unnecessarily. For example, {noformat} ControllerServiceMap::getAllControllerServices() ControllerServiceNode::getControllerServiceImplementation(); ControllerServiceNode::getLinkedControllerServices(); ControllerServiceNode::getLinkedComponents(); {noformat} Check if these function can return non-owning, possibly const, possibly gsl::non_null, pointers instead of shared_ptrs, and if it is possible, then change them. was: There are several functions in and around Controller Service strorage which return shared_ptr's, probably unnecessarily. For example, {noformat} ControllerServiceMap::getAllControllerServices() ControllerServiceNode::getControllerServiceImplementation(); ControllerServiceNode::getLinkedControllerServices(); ControllerServiceNode::getLinkedComponents(); {noformat} Check if these function can return non-owning, possibly const, possibly gsl::non_null, pointers instead of shared_ptrs, and if it is possible, then change them. > Do not return shared_ptrs unnecessarily in ControllerServiceMap and > ControllerServiceNode > - > > Key: MINIFICPP-2312 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2312 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > There are several functions in and around Controller Service storage which > return shared_ptr's, probably unnecessarily. For example, > {noformat} > ControllerServiceMap::getAllControllerServices() > ControllerServiceNode::getControllerServiceImplementation(); > ControllerServiceNode::getLinkedControllerServices(); > ControllerServiceNode::getLinkedComponents(); > {noformat} > Check if these function can return non-owning, possibly const, possibly > gsl::non_null, pointers instead of shared_ptrs, and if it is possible, then > change them. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2312) Do not return shared_ptrs unnecessarily in ControllerServiceMap and ControllerServiceNode
Ferenc Gerlits created MINIFICPP-2312: - Summary: Do not return shared_ptrs unnecessarily in ControllerServiceMap and ControllerServiceNode Key: MINIFICPP-2312 URL: https://issues.apache.org/jira/browse/MINIFICPP-2312 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits There are several functions in and around Controller Service strorage which return shared_ptr's, probably unnecessarily. For example, {noformat} ControllerServiceMap::getAllControllerServices() ControllerServiceNode::getControllerServiceImplementation(); ControllerServiceNode::getLinkedControllerServices(); ControllerServiceNode::getLinkedComponents(); {noformat} Check if these function can return non-owning, possibly const, possibly gsl::non_null, pointers instead of shared_ptrs, and if it is possible, then change them. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2276) Support FlowFileTransform NiFi Python processors in MiNiFi C++
[ https://issues.apache.org/jira/browse/MINIFICPP-2276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2276: -- Resolution: Fixed Status: Resolved (was: Patch Available) > Support FlowFileTransform NiFi Python processors in MiNiFi C++ > -- > > Key: MINIFICPP-2276 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2276 > Project: Apache NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Time Spent: 4h 50m > Remaining Estimate: 0h > > One variant of the NiFi Python processors are inherited from the > FlowFileTransform class which executes a desired transformation on the flow > file content and transfers the results to the "success" relationship in a new > flow file and forwards the original flow file to the "original" relationship. > These kind of python processors should be supported in MiNiFi C++ as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2231) Avoid global CXX flags, especially -Werror
[ https://issues.apache.org/jira/browse/MINIFICPP-2231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2231. --- Resolution: Fixed > Avoid global CXX flags, especially -Werror > -- > > Key: MINIFICPP-2231 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2231 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Marton Szasz >Assignee: Gábor Gyimesi >Priority: Major > Time Spent: 1h 10m > Remaining Estimate: 0h > > We should only set compiler flags on our own targets, not globally. All > FetchContent dependencies inherit our global settings, but we don't want to > compile our dependencies with Werror enabled. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2278) Add custom relationship support for NiFi python processors
[ https://issues.apache.org/jira/browse/MINIFICPP-2278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2278. --- Resolution: Fixed > Add custom relationship support for NiFi python processors > -- > > Key: MINIFICPP-2278 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2278 > Project: Apache NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Time Spent: 1h 50m > Remaining Estimate: 0h > > NiFi python processors have built in "original" and "failure" relationships, > but any other relationship can be specified when transferring the newly > created flowfile. This defaults to the "success" relationship and currently > only the "success" relationship is used in this scenario in the currently > available python processors. > However the dynamically specified relationship support is not present in > MiNiFi C++ as it only supports the "success" relationship at the moment. We > should investigate and implement the support for custom relationships for the > NiFi python processors, also we should investigate if that could be supported > for the native MiNiFi C++ python processors as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2297) Remove iOS support from build system
[ https://issues.apache.org/jira/browse/MINIFICPP-2297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2297: -- Resolution: Fixed Status: Resolved (was: Patch Available) > Remove iOS support from build system > > > Key: MINIFICPP-2297 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2297 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Trivial > Time Spent: 40m > Remaining Estimate: 0h > > The project was not built for iOS for years and is not maintained at all, > should be removed from the build options. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2303) The Windows CI runner cannot find the Lua library
Ferenc Gerlits created MINIFICPP-2303: - Summary: The Windows CI runner cannot find the Lua library Key: MINIFICPP-2303 URL: https://issues.apache.org/jira/browse/MINIFICPP-2303 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2302) Upgrade to Node.js 20 github actions
Ferenc Gerlits created MINIFICPP-2302: - Summary: Upgrade to Node.js 20 github actions Key: MINIFICPP-2302 URL: https://issues.apache.org/jira/browse/MINIFICPP-2302 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits Most of the github user actions we use in our CI jobs use Node.js 16, which is now deprecated, so generates a warning. Upgrade to the latest major versions, which use Node.js 20. Unfortunately, some actions don't have Node.js 20 versions: * seanmiddleditch/gha-setup-ninja@v4 is the latest version, uses Node.js 16 * xpol/setup-lua@v0.3 is the latest version, uses Node.js 12 (!) -- maybe use leafo/gh-actions-lua instead? -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2287) Site-to-site with large files: "Site2Site transaction xxx peer unknown respond code 14"
[ https://issues.apache.org/jira/browse/MINIFICPP-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2287. --- Resolution: Duplicate This issue will be fixed by https://issues.apache.org/jira/browse/MINIFICPP-2291, which contains more information about the underlying problem. > Site-to-site with large files: "Site2Site transaction xxx peer unknown > respond code 14" > --- > > Key: MINIFICPP-2287 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2287 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Marton Szasz >Assignee: Ferenc Gerlits >Priority: Major > > It looks like nifi may have extended the protocol, and minifi c++ didn't > follow the development. > > From Thomas on the nifi slack: > [https://apachenifi.slack.com/archives/CDF1VC1UZ/p1705327811015419] > > {quote}Running minifi c++ v0.15, I am getting errors when transferring large > files (10gb) via site to site to a Nifi (v1.20) cluster. Per the logs,the > transfer is on going for a while (warning logs, inputPortName has been > running for x ms in \{connection ID} > then it looks like the transfer completes (info log, Site to Site transaction > ... set flow 1 flow records with total size xxx-yyy-zzz ) ALSO, the large > file appears on the remote Nifi cluster > then it looks like the transfer failed (warning log, Site2Site transaction > xxx peer unknown respond code 14) > then another error, (warning log , ProcessSession rollback for inputPortName > executed ) > the finally, (warning protocol transmission failed, yielding ( xxx-yyy-zzz ) > This results in endless copies of the large files as presumably minifi > retries the file despite successfully transferring the file. > The logs show that other smaller files continue to be transferred while the > large files yield. (edited) > {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2291) Site-to-site client should treat TRANSACTION_FINISHED_BUT_DESTINATION_FULL as (qualified) success
Ferenc Gerlits created MINIFICPP-2291: - Summary: Site-to-site client should treat TRANSACTION_FINISHED_BUT_DESTINATION_FULL as (qualified) success Key: MINIFICPP-2291 URL: https://issues.apache.org/jira/browse/MINIFICPP-2291 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits Currently, the site-to-site client in MiNiFi only accepts {{TRANSACTION_FINISHED(13)}} as a success code, and it treats everything else as failure: https://github.com/apache/nifi-minifi-cpp/blob/9e4ef8d59dbbe345c889edb2f3ed13c98513c96d/libminifi/src/sitetosite/SiteToSiteClient.cpp#L385 {code:c++} if (code == TRANSACTION_FINISHED) { logger_->log_info("Site2Site transaction {} peer finished transaction", transactionID.to_string()); transaction->_state = TRANSACTION_COMPLETED; return true; } else { logger_->log_warn("Site2Site transaction {} peer unknown respond code {}", transactionID.to_string(), magic_enum::enum_underlying(code)); return false; }{code} On the other hand, the NiFi site-to-site client treats both {{TRANSACTION_FINISHED(13)}} and {{TRANSACTION_FINISHED_BUT_DESTINATION_FULL(14)}} as success codes: https://github.com/apache/nifi/blob/3fcf5f25b4c705f6909d058d81a7b8b6d6a648f1/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/protocol/http/StandardHttpFlowFileServerProtocol.java#L120 {code:java} switch (response) { case CONFIRM_TRANSACTION: logger.debug("{} Confirming transaction. checksum={}", this, explanation); commSession.setChecksum(explanation); commSession.setStatus(Transaction.TransactionState.DATA_EXCHANGED); break; case TRANSACTION_FINISHED: case TRANSACTION_FINISHED_BUT_DESTINATION_FULL: logger.debug("{} Transaction is completed. responseCode={}", this, response); commSession.setStatus(Transaction.TransactionState.TRANSACTION_COMPLETED); break; }{code} https://github.com/apache/nifi/blob/3fcf5f25b4c705f6909d058d81a7b8b6d6a648f1/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/protocol/AbstractFlowFileServerProtocol.java#L371 {code:java} logger.debug("{} received {} from {}", new Object[]{this, transactionResponse, peer}); if (transactionResponse.getCode() == ResponseCode.TRANSACTION_FINISHED_BUT_DESTINATION_FULL) { peer.penalize(port.getIdentifier(), port.getYieldPeriod(TimeUnit.MILLISECONDS)); } else if (transactionResponse.getCode() != ResponseCode.TRANSACTION_FINISHED) { throw new ProtocolException("After sending data, expected TRANSACTION_FINISHED response but got " + transactionResponse); }{code} {{TRANSACTION_FINISHED_BUT_DESTINATION_FULL(14)}} can happen when the number or the total size of the files in the batch exceed the limits set in the Back Pressure settings of the outgoing connection of the input port on the server side. MiNiFi should behave in the same way as NiFi: accept {{TRANSACTION_FINISHED_BUT_DESTINATION_FULL(14)}} as success, but the remote processor group should yield, so the server has time to clear the connection. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2290) Support the default schema when serializing a JSON config
[ https://issues.apache.org/jira/browse/MINIFICPP-2290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2290: -- Summary: Support the default schema when serializing a JSON config (was: Handle the default schema correctly when serializing a JSON config) > Support the default schema when serializing a JSON config > - > > Key: MINIFICPP-2290 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2290 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Major > > The JSON flow configuration comes in two flavors: the default schema and the > NiFi schema. In the default schema, the root node location is {{"."}}, which > is a notation borrowed from yaml-cpp to refer to the current node (so > {{node["."] == node}}). > This notation is not supported directly by rapidjson; it works when parsing > the JSON input because it is implemented in {{flow::Node::operator[]}}. > We need to handle {{node["."]}} when writing the JSON flow configuration, too. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2290) Handle the default schema correctly when serializing a JSON config
Ferenc Gerlits created MINIFICPP-2290: - Summary: Handle the default schema correctly when serializing a JSON config Key: MINIFICPP-2290 URL: https://issues.apache.org/jira/browse/MINIFICPP-2290 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits The JSON flow configuration comes in two flavors: the default schema and the NiFi schema. In the default schema, the root node location is {{"."}}, which is a notation borrowed from yaml-cpp to refer to the current node (so {{node["."] == node}}). This notation is not supported directly by rapidjson; it works when parsing the JSON input because it is implemented in {{flow::Node::operator[]}}. We need to handle {{node["."]}} when writing the JSON flow configuration, too. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (MINIFICPP-2287) Site-to-site with large files: "Site2Site transaction xxx peer unknown respond code 14"
[ https://issues.apache.org/jira/browse/MINIFICPP-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits reassigned MINIFICPP-2287: - Assignee: Ferenc Gerlits > Site-to-site with large files: "Site2Site transaction xxx peer unknown > respond code 14" > --- > > Key: MINIFICPP-2287 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2287 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Marton Szasz >Assignee: Ferenc Gerlits >Priority: Major > > It looks like nifi may have extended the protocol, and minifi c++ didn't > follow the development. > > From Thomas on the nifi slack: > [https://apachenifi.slack.com/archives/CDF1VC1UZ/p1705327811015419] > > {quote}Running minifi c++ v0.15, I am getting errors when transferring large > files (10gb) via site to site to a Nifi (v1.20) cluster. Per the logs,the > transfer is on going for a while (warning logs, inputPortName has been > running for x ms in \{connection ID} > then it looks like the transfer completes (info log, Site to Site transaction > ... set flow 1 flow records with total size xxx-yyy-zzz ) ALSO, the large > file appears on the remote Nifi cluster > then it looks like the transfer failed (warning log, Site2Site transaction > xxx peer unknown respond code 14) > then another error, (warning log , ProcessSession rollback for inputPortName > executed ) > the finally, (warning protocol transmission failed, yielding ( xxx-yyy-zzz ) > This results in endless copies of the large files as presumably minifi > retries the file despite successfully transferring the file. > The logs show that other smaller files continue to be transferred while the > large files yield. (edited) > {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (NIFI-12617) Change the default nifi.web.https.host value from 127.0.0.1 to a host name
Ferenc Gerlits created NIFI-12617: - Summary: Change the default nifi.web.https.host value from 127.0.0.1 to a host name Key: NIFI-12617 URL: https://issues.apache.org/jira/browse/NIFI-12617 Project: Apache NiFi Issue Type: Improvement Reporter: Ferenc Gerlits As of NiFi 2.0.0-M1, it is no longer possible to connect to NiFi on {{{}[https://127.0.0.1:8443|https://127.0.0.1:8443/]{}}}, but the default {{nifi.properties}} file still contains {noformat} nifi.web.https.host=127.0.0.1{noformat} and (therefore?) the log file still says {noformat} 2024-01-16 14:21:26,375 INFO [main] org.apache.nifi.web.server.JettyServer NiFi has started. The UI is available at the following URLs: 2024-01-16 14:21:26,375 INFO [main] org.apache.nifi.web.server.JettyServer https://127.0.0.1:8443/nifi{noformat} The default could be changed from {{127.0.0.1}} to (for example) {{{}localhost{}}}, to make the life of novice users easier, and to reduce the number of complaints coming from us. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Reopened] (MINIFICPP-2229) Encrypt sensitive properties in the flow definition
[ https://issues.apache.org/jira/browse/MINIFICPP-2229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits reopened MINIFICPP-2229: --- > Encrypt sensitive properties in the flow definition > --- > > Key: MINIFICPP-2229 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2229 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > Fix For: 0.16.0 > > Time Spent: 3h 20m > Remaining Estimate: 0h > > The flow definition (config.yml) file can already be encrypted, but this is > optional. Sensitive properties should always be written to the flow > definition file in encrypted form. All processor and controller service > properties should be marked with a flag that shows if they are sensitive. > If full-flow-definition-encryption is enabled, the flow definition file as a > whole can also be encrypted on top of this (as it is now), but the two > encryptions should use separate keys. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2283) It should be possible to write encrypted sensitive properties to the configuration directly
Ferenc Gerlits created MINIFICPP-2283: - Summary: It should be possible to write encrypted sensitive properties to the configuration directly Key: MINIFICPP-2283 URL: https://issues.apache.org/jira/browse/MINIFICPP-2283 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits Create a new functionality in the {{encrypt-config}} binary: it should * read the existing {{config.yml}} file; * find all sensitive properties and prompt the user to enter a value for each; * encrypt the new values and add them to {{config.yml}}; * write the updated {{config.yml}} to disk. The type of {{config.yml}} (YAML or JSON) should not change. This way, the user could create a {{config.yml}} file by hand, leaving the values of the sensitive properties blank, then run {{encrypt-config}} to set values for the sensitive properties -- without the sensitive properties ever being written to disk in cleartext, even for a short time. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2282) The user should be able to change the encryption key used for sensitive properties
Ferenc Gerlits created MINIFICPP-2282: - Summary: The user should be able to change the encryption key used for sensitive properties Key: MINIFICPP-2282 URL: https://issues.apache.org/jira/browse/MINIFICPP-2282 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits The encryption key used to encrypt the full flow definition file, {{nifi.bootstrap.sensitive.key}}, can be updated using the procedure documented here: https://cwiki.apache.org/confluence/display/MINIFI/Securing+MiNiFi+configuration+files#SecuringMiNiFiconfigurationfiles-Updatingtheencryptionkey A similar mechanism should be available for the encryption key used to encrypt individual sensitive properties, {{nifi.bootstrap.sensitive.properties.key}}. The documentation linked above should be updated, as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2281) StructuredConfiguration should not depend on the Yaml/Json libraries
Ferenc Gerlits created MINIFICPP-2281: - Summary: StructuredConfiguration should not depend on the Yaml/Json libraries Key: MINIFICPP-2281 URL: https://issues.apache.org/jira/browse/MINIFICPP-2281 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits The serialization of Yaml and Json flow definitions currently happens in StructuredConfiguration. This should be a generic base and not depend on the concrete implementations. Refactor the code to remove this dependency. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2275) Use utils::string instead of utils::StringUtils
Ferenc Gerlits created MINIFICPP-2275: - Summary: Use utils::string instead of utils::StringUtils Key: MINIFICPP-2275 URL: https://issues.apache.org/jira/browse/MINIFICPP-2275 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits The namespace alias {{utils::StringUtils}} of the namespace {{utils::string}} was added for backwards compatibility, but I think it's time to get rid of it. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (NIFI-12381) Fix typo in SplitText.REMOVE_TRAILING_NEWLINES property description
Ferenc Gerlits created NIFI-12381: - Summary: Fix typo in SplitText.REMOVE_TRAILING_NEWLINES property description Key: NIFI-12381 URL: https://issues.apache.org/jira/browse/NIFI-12381 Project: Apache NiFi Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits We found this typo when porting SplitText to MiNiFi C++, so I'm contributing it upstream. Every little counts, right? -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2256) Un-singletonize LoggerConfiguration
Ferenc Gerlits created MINIFICPP-2256: - Summary: Un-singletonize LoggerConfiguration Key: MINIFICPP-2256 URL: https://issues.apache.org/jira/browse/MINIFICPP-2256 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits 1. {{LoggerConfiguration}} has a private constructor and a public {{newInstance}} method, which returns a pointer. This means we can create new instances, but only on the heap, which makes no sense. Remove {{newInstance()}}, make the constructor public, and update tests to create {{LoggerConfiguration}} objects on the stack. 2. If possible, we should also make the ownership of {{LoggerConfiguration}} clearer in the production use cases. Currently, we use it as a singleton, via the {{getInstance}} method. It would be better to have a clear (non-static) owner for it, and users got a reference or pointer to {{LoggerConfiguration}} from the owner. Then we could remove {{getInstance}}, as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2256) Un-singletonize LoggerConfiguration
[ https://issues.apache.org/jira/browse/MINIFICPP-2256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2256: -- Description: 1. {{LoggerConfiguration}} has a private constructor and a public {{newInstance}} method, which returns a pointer. This means we can create new instances, but only on the heap, which makes no sense. Remove {{newInstance}}, make the constructor public, and update tests to create {{LoggerConfiguration}} objects on the stack. 2. If possible, we should also make the ownership of {{LoggerConfiguration}} clearer in the production use cases. Currently, we use it as a singleton, via the {{getInstance}} method. It would be better to have a clear (non-static) owner for it, and users got a reference or pointer to {{LoggerConfiguration}} from the owner. Then we could remove {{getInstance}}, as well. was: 1. {{LoggerConfiguration}} has a private constructor and a public {{newInstance}} method, which returns a pointer. This means we can create new instances, but only on the heap, which makes no sense. Remove {{newInstance()}}, make the constructor public, and update tests to create {{LoggerConfiguration}} objects on the stack. 2. If possible, we should also make the ownership of {{LoggerConfiguration}} clearer in the production use cases. Currently, we use it as a singleton, via the {{getInstance}} method. It would be better to have a clear (non-static) owner for it, and users got a reference or pointer to {{LoggerConfiguration}} from the owner. Then we could remove {{getInstance}}, as well. > Un-singletonize LoggerConfiguration > --- > > Key: MINIFICPP-2256 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2256 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Priority: Minor > > 1. {{LoggerConfiguration}} has a private constructor and a public > {{newInstance}} method, which returns a pointer. This means we can create > new instances, but only on the heap, which makes no sense. Remove > {{newInstance}}, make the constructor public, and update tests to create > {{LoggerConfiguration}} objects on the stack. > 2. If possible, we should also make the ownership of {{LoggerConfiguration}} > clearer in the production use cases. Currently, we use it as a singleton, > via the {{getInstance}} method. It would be better to have a clear > (non-static) owner for it, and users got a reference or pointer to > {{LoggerConfiguration}} from the owner. Then we could remove > {{getInstance}}, as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2254) Simplify template used by log_format_string to make VS2022 understand it
[ https://issues.apache.org/jira/browse/MINIFICPP-2254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2254: -- Description: The {{map_args}} class template used by the {{log_format_string}} class template in Logger.h uses some tricky template magic so that we can call the logger both with invocable objects and plain value objects. This template magic compiled fine in VS2019, as well as VS2022 up to version 19.35. However, since version 19.36, it no longer compiles. {code:java} #include #include template struct overloaded : Funcs... { using Funcs::operator()...; }; // deduction guide. doesn't hurt, but doesn't help either //template //overloaded(Funcs...) -> overloaded; const auto inline map_args = overloaded { [](std::invocable<> auto&& f) { return std::invoke(std::forward(f)); }, // works in 19.35, fails in 19.36 // [](auto&& f) requires(std::is_invocable_v) { return std::invoke(std::forward(f)); }, // this works in both [](auto&& value) { return std::forward(value); } }; int main() { return map_args(int()); } {code} error message in 19.36 (and 19.37): {code:java} (20): error C2668: '@map_args::operator ()': ambiguous call to overloaded function (14): note: could be 'auto @map_args::operator ()(_T3 &&) const' with [ _T3=int ] (16): note: or 'auto @map_args::operator ()(_T4 &&) const' with [ _T4=int ] (20): note: while trying to match the argument list '(int)' Compiler returned: 2 {code} was: The {{map_args}} class template used by the {{log_format_string}} class template in Logger.h uses some tricky template magic so that we can call the logger both with invocable objects and plain value objects. This template magic compiled fine in VS2019, as well as VS2022 up to version 19.35. However, since version 19.36, it no longer compiles. {code:java} #include #include templatestruct overloaded : Funcs... { using Funcs::operator()...; }; // deduction guide. doesn't hurt, but doesn't help either //template //overloaded(Funcs...) -> overloaded; const auto inline map_args = overloaded { [](std::invocable<> auto&& f) { return std::invoke(std::forward(f)); }, // works in 19.35, fails in 19.36 // [](auto&& f) requires(std::is_invocable_v) { return std::invoke(std::forward(f)); }, // this works in both [](auto&& value) { return std::forward(value); } }; int main() { return map_args(int()); } {code} error message in 19.36 (and 19.37): {code:java} (20): error C2668: '@map_args::operator ()': ambiguous call to overloaded function (14): note: could be 'auto @map_args::operator ()(_T3 &&) const' with [ _T3=int ] (16): note: or 'auto @map_args::operator ()(_T4 &&) const' with [ _T4=int ] (20): note: while trying to match the argument list '(int)' Compiler returned: 2 {code} > Simplify template used by log_format_string to make VS2022 understand it > > > Key: MINIFICPP-2254 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2254 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > The {{map_args}} class template used by the {{log_format_string}} class > template in Logger.h uses some tricky template magic so that we can call the > logger both with invocable objects and plain value objects. > This template magic compiled fine in VS2019, as well as VS2022 up to version > 19.35. However, since version 19.36, it no longer compiles. > {code:java} > #include > #include > template > struct overloaded : Funcs... { > using Funcs::operator()...; > }; > // deduction guide. doesn't hurt, but doesn't help either > //template > //overloaded(Funcs...) -> overloaded; > const auto inline map_args = overloaded { > [](std::invocable<> auto&& f) { return > std::invoke(std::forward(f)); }, // works in 19.35, fails in > 19.36 > // [](auto&& f) requires(std::is_invocable_v) { return > std::invoke(std::forward(f)); }, // this works in both > [](auto&& value) { return std::forward(value); } > }; > int main() { > return map_args(int()); > } > {code} > error message in 19.36 (and 19.37): > {code:java} > (20): error C2668: '@map_args::operator ()': ambiguous call > to overloaded function > (14): note: could be 'auto @map_args::operator ()(_T3 > &&) const' > with > [ > _T3=int > ] > (16): note: or 'auto @map_args::operator ()(_T4 > &&) const' > with > [ > _T4=int > ] > (20): note: while trying to match the argument list '(int)' > Compiler returned: 2 {code} > -- This message was sent
[jira] [Updated] (MINIFICPP-2254) Simplify template used by log_format_string to make VS2022 understand it
[ https://issues.apache.org/jira/browse/MINIFICPP-2254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2254: -- Description: The {{map_args}} class template used by the {{log_format_string}} class template in Logger.h uses some tricky template magic so that we can call the logger both with invocable objects and plain value objects. This template magic compiled fine in VS2019, as well as VS2022 up to version 19.35. However, since version 19.36, it no longer compiles. {code:java} #include #include templatestruct overloaded : Funcs... { using Funcs::operator()...; }; // deduction guide. doesn't hurt, but doesn't help either //template //overloaded(Funcs...) -> overloaded; const auto inline map_args = overloaded { [](std::invocable<> auto&& f) { return std::invoke(std::forward(f)); }, // works in 19.35, fails in 19.36 // [](auto&& f) requires(std::is_invocable_v) { return std::invoke(std::forward(f)); }, // this works in both [](auto&& value) { return std::forward(value); } }; int main() { return map_args(int()); } {code} error message in 19.36 (and 19.37): {code:java} (20): error C2668: '@map_args::operator ()': ambiguous call to overloaded function (14): note: could be 'auto @map_args::operator ()(_T3 &&) const' with [ _T3=int ] (16): note: or 'auto @map_args::operator ()(_T4 &&) const' with [ _T4=int ] (20): note: while trying to match the argument list '(int)' Compiler returned: 2 {code} was: The {{map_args}} class template used by the {{log_format_string}} class template in Logger.h uses some tricky template magic so that we can call the logger both with invocable objects and plain value objects. This template magic compiled fine in VS2019, as well as VS2022 up to version 19.35. However, since version 19.36, it no longer compiles. {code:java} #include #include templatestruct overloaded : Funcs... { using Funcs::operator()...; }; // deduction guide. doesn't hurt, but doesn't help either //template //overloaded(Funcs...) -> overloaded; const auto inline map_args = overloaded { [](std::invocable<> auto&& f) { return std::invoke(std::forward(f)); }, // works in 19.35, fails in 19.36 // [](auto&& f) requires(std::is_invocable_v) { return std::invoke(std::forward(f)); }, // this works in both [](auto&& value) { return std::forward(value); } }; int main() { return map_args(int()); } {code} > Simplify template used by log_format_string to make VS2022 understand it > > > Key: MINIFICPP-2254 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2254 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > The {{map_args}} class template used by the {{log_format_string}} class > template in Logger.h uses some tricky template magic so that we can call the > logger both with invocable objects and plain value objects. > This template magic compiled fine in VS2019, as well as VS2022 up to version > 19.35. However, since version 19.36, it no longer compiles. > {code:java} > #include > #include > templatestruct overloaded : Funcs... { > using Funcs::operator()...; > }; > // deduction guide. doesn't hurt, but doesn't help either > //template > //overloaded(Funcs...) -> overloaded; > const auto inline map_args = overloaded { > [](std::invocable<> auto&& f) { return > std::invoke(std::forward(f)); }, // works in 19.35, fails in > 19.36 > // [](auto&& f) requires(std::is_invocable_v) { return > std::invoke(std::forward(f)); }, // this works in both > [](auto&& value) { return std::forward(value); } > }; > int main() { > return map_args(int()); > } > {code} > error message in 19.36 (and 19.37): > {code:java} > (20): error C2668: '@map_args::operator ()': ambiguous call > to overloaded function > (14): note: could be 'auto @map_args::operator ()(_T3 > &&) const' > with > [ > _T3=int > ] > (16): note: or 'auto @map_args::operator ()(_T4 > &&) const' > with > [ > _T4=int > ] > (20): note: while trying to match the argument list '(int)' > Compiler returned: 2 {code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2254) Simplify template used by log_format_string to make VS2022 understand it
Ferenc Gerlits created MINIFICPP-2254: - Summary: Simplify template used by log_format_string to make VS2022 understand it Key: MINIFICPP-2254 URL: https://issues.apache.org/jira/browse/MINIFICPP-2254 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits The {{map_args}} class template used by the {{log_format_string}} class template in Logger.h uses some tricky template magic so that we can call the logger both with invocable objects and plain value objects. This template magic compiled fine in VS2019, as well as VS2022 up to version 19.35. However, since version 19.36, it no longer compiles. {code:java} #include #include templatestruct overloaded : Funcs... { using Funcs::operator()...; }; // deduction guide. doesn't hurt, but doesn't help either //template//overloaded(Funcs...) -> overloaded; const auto inline map_args = overloaded { [](std::invocable<> auto&& f) { return std::invoke(std::forward(f)); }, // works in 19.35, fails in 19.36 // [](auto&& f) requires(std::is_invocable_v) { return std::invoke(std::forward(f)); }, // this works in both [](auto&& value) { return std::forward(value); } }; int main() { return map_args(int()); } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2254) Simplify template used by log_format_string to make VS2022 understand it
[ https://issues.apache.org/jira/browse/MINIFICPP-2254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2254: -- Description: The {{map_args}} class template used by the {{log_format_string}} class template in Logger.h uses some tricky template magic so that we can call the logger both with invocable objects and plain value objects. This template magic compiled fine in VS2019, as well as VS2022 up to version 19.35. However, since version 19.36, it no longer compiles. {code:java} #include #include templatestruct overloaded : Funcs... { using Funcs::operator()...; }; // deduction guide. doesn't hurt, but doesn't help either //template //overloaded(Funcs...) -> overloaded; const auto inline map_args = overloaded { [](std::invocable<> auto&& f) { return std::invoke(std::forward(f)); }, // works in 19.35, fails in 19.36 // [](auto&& f) requires(std::is_invocable_v) { return std::invoke(std::forward(f)); }, // this works in both [](auto&& value) { return std::forward(value); } }; int main() { return map_args(int()); } {code} was: The {{map_args}} class template used by the {{log_format_string}} class template in Logger.h uses some tricky template magic so that we can call the logger both with invocable objects and plain value objects. This template magic compiled fine in VS2019, as well as VS2022 up to version 19.35. However, since version 19.36, it no longer compiles. {code:java} #include #include templatestruct overloaded : Funcs... { using Funcs::operator()...; }; // deduction guide. doesn't hurt, but doesn't help either //template//overloaded(Funcs...) -> overloaded; const auto inline map_args = overloaded { [](std::invocable<> auto&& f) { return std::invoke(std::forward(f)); }, // works in 19.35, fails in 19.36 // [](auto&& f) requires(std::is_invocable_v) { return std::invoke(std::forward(f)); }, // this works in both [](auto&& value) { return std::forward(value); } }; int main() { return map_args(int()); } {code} > Simplify template used by log_format_string to make VS2022 understand it > > > Key: MINIFICPP-2254 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2254 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > The {{map_args}} class template used by the {{log_format_string}} class > template in Logger.h uses some tricky template magic so that we can call the > logger both with invocable objects and plain value objects. > This template magic compiled fine in VS2019, as well as VS2022 up to version > 19.35. However, since version 19.36, it no longer compiles. > > {code:java} > #include > #include > templatestruct overloaded : Funcs... { > using Funcs::operator()...; > }; > // deduction guide. doesn't hurt, but doesn't help either > //template > //overloaded(Funcs...) -> overloaded; > const auto inline map_args = overloaded { > [](std::invocable<> auto&& f) { return > std::invoke(std::forward(f)); }, // works in 19.35, fails in > 19.36 > // [](auto&& f) requires(std::is_invocable_v) { return > std::invoke(std::forward(f)); }, // this works in both > [](auto&& value) { return std::forward(value); } > }; > int main() { > return map_args(int()); > } > {code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2252) Some DLLs are missing from the VS2022 build
Ferenc Gerlits created MINIFICPP-2252: - Summary: Some DLLs are missing from the VS2022 build Key: MINIFICPP-2252 URL: https://issues.apache.org/jira/browse/MINIFICPP-2252 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits A bug was introduced in MINIFICPP-2185: some DLLs are only copied into the msi installer if the Visual Studio version is = 16.0 (ie., VS2019) instead of >= 16.0, so these DLLs are missing from VS2022 builds. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (MINIFICPP-2226) LoggerTests (Test sending multiple segments at once) is flaky
[ https://issues.apache.org/jira/browse/MINIFICPP-2226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits reassigned MINIFICPP-2226: - Assignee: Ferenc Gerlits (was: Gábor Gyimesi) > LoggerTests (Test sending multiple segments at once) is flaky > - > > Key: MINIFICPP-2226 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2226 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > Attachments: LoggerTests.log > > Time Spent: 2h > Remaining Estimate: 0h > > The "Test sending multiple segments at once" test in LoggerTests fails in > about 5% - 10% of runs. > {noformat} > --- > Test sending multiple segments at once > --- > /home/fgerlits/src/minifi/libminifi/test/unit/LoggerTests.cpp:357 > ... > /home/fgerlits/src/minifi/libminifi/test/unit/LoggerTests.cpp:384: FAILED: > REQUIRE( compressed_logs.size() == SEGMENT_COUNT ) > with expansion: > 4 == 5 > === > test cases: 18 | 17 passed | 1 failed > assertions: 41 | 40 passed | 1 failed > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2229) Encrypt sensitive properties in the flow definition
[ https://issues.apache.org/jira/browse/MINIFICPP-2229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2229: -- Fix Version/s: 0.16.0 > Encrypt sensitive properties in the flow definition > --- > > Key: MINIFICPP-2229 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2229 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > Fix For: 0.16.0 > > > The flow definition (config.yml) file can already be encrypted, but this is > optional. Sensitive properties should always be written to the flow > definition file in encrypted form. All processor and controller service > properties should be marked with a flag that shows if they are sensitive. > If full-flow-definition-encryption is enabled, the flow definition file as a > whole can also be encrypted on top of this (as it is now), but the two > encryptions should use separate keys. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2229) Encrypt sensitive properties in the flow definition
[ https://issues.apache.org/jira/browse/MINIFICPP-2229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2229: -- Description: The flow definition (config.yml) can already be encrypted, but this is optional. Sensitive properties should always be written to the flow definition file in encrypted form. All processor and controller service properties should be marked with a flag that shows if they are sensitive. If full-flow-definition-encryption is enabled, the flow definition file as a whole can also be encrypted on top of this (as it is now), but the two encryptions should use separate keys. was: The flow definition (config.yml) can already be encrypted, but this is optional. Sensitive properties should always be written to the flow definition file in encrypted form; all processor and controller service properties should be marked with a flag that shows if they are sensitive. If full-flow-definition-encryption is enabled, the flow definition file as a whole can also be encrypted on top of this (as it is now), but the two encryptions should use separate keys. > Encrypt sensitive properties in the flow definition > --- > > Key: MINIFICPP-2229 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2229 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > The flow definition (config.yml) can already be encrypted, but this is > optional. Sensitive properties should always be written to the flow > definition file in encrypted form. All processor and controller service > properties should be marked with a flag that shows if they are sensitive. > If full-flow-definition-encryption is enabled, the flow definition file as a > whole can also be encrypted on top of this (as it is now), but the two > encryptions should use separate keys. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2229) Encrypt sensitive properties in the flow definition
[ https://issues.apache.org/jira/browse/MINIFICPP-2229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2229: -- Description: The flow definition (config.yml) file can already be encrypted, but this is optional. Sensitive properties should always be written to the flow definition file in encrypted form. All processor and controller service properties should be marked with a flag that shows if they are sensitive. If full-flow-definition-encryption is enabled, the flow definition file as a whole can also be encrypted on top of this (as it is now), but the two encryptions should use separate keys. was: The flow definition (config.yml) can already be encrypted, but this is optional. Sensitive properties should always be written to the flow definition file in encrypted form. All processor and controller service properties should be marked with a flag that shows if they are sensitive. If full-flow-definition-encryption is enabled, the flow definition file as a whole can also be encrypted on top of this (as it is now), but the two encryptions should use separate keys. > Encrypt sensitive properties in the flow definition > --- > > Key: MINIFICPP-2229 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2229 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > The flow definition (config.yml) file can already be encrypted, but this is > optional. Sensitive properties should always be written to the flow > definition file in encrypted form. All processor and controller service > properties should be marked with a flag that shows if they are sensitive. > If full-flow-definition-encryption is enabled, the flow definition file as a > whole can also be encrypted on top of this (as it is now), but the two > encryptions should use separate keys. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2229) Encrypt sensitive properties in the flow definition
Ferenc Gerlits created MINIFICPP-2229: - Summary: Encrypt sensitive properties in the flow definition Key: MINIFICPP-2229 URL: https://issues.apache.org/jira/browse/MINIFICPP-2229 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits The flow definition (config.yml) can already be encrypted, but this is optional. Sensitive properties should always be written to the flow definition file in encrypted form; all processor and controller service properties should be marked with a flag that shows if they are sensitive. If full-flow-definition-encryption is enabled, the flow definition file as a whole can also be encrypted on top of this (as it is now), but the two encryptions should use separate keys. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2226) LoggerTests (Test sending multiple segments at once) is flaky
[ https://issues.apache.org/jira/browse/MINIFICPP-2226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2226: -- Attachment: LoggerTests.log > LoggerTests (Test sending multiple segments at once) is flaky > - > > Key: MINIFICPP-2226 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2226 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Ferenc Gerlits >Priority: Minor > Attachments: LoggerTests.log > > > The "Test sending multiple segments at once" test in LoggerTests fails in > about 5% - 10% of runs. > {noformat} > --- > Test sending multiple segments at once > --- > /home/fgerlits/src/minifi/libminifi/test/unit/LoggerTests.cpp:357 > ... > /home/fgerlits/src/minifi/libminifi/test/unit/LoggerTests.cpp:384: FAILED: > REQUIRE( compressed_logs.size() == SEGMENT_COUNT ) > with expansion: > 4 == 5 > === > test cases: 18 | 17 passed | 1 failed > assertions: 41 | 40 passed | 1 failed > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2226) LoggerTests (Test sending multiple segments at once) is flaky
Ferenc Gerlits created MINIFICPP-2226: - Summary: LoggerTests (Test sending multiple segments at once) is flaky Key: MINIFICPP-2226 URL: https://issues.apache.org/jira/browse/MINIFICPP-2226 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits The "Test sending multiple segments at once" test in LoggerTests fails in about 5% - 10% of runs. {noformat} --- Test sending multiple segments at once --- /home/fgerlits/src/minifi/libminifi/test/unit/LoggerTests.cpp:357 ... /home/fgerlits/src/minifi/libminifi/test/unit/LoggerTests.cpp:384: FAILED: REQUIRE( compressed_logs.size() == SEGMENT_COUNT ) with expansion: 4 == 5 === test cases: 18 | 17 passed | 1 failed assertions: 41 | 40 passed | 1 failed {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2204) Fix build with clang16 and upgrade in CI
[ https://issues.apache.org/jira/browse/MINIFICPP-2204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2204. --- Resolution: Fixed > Fix build with clang16 and upgrade in CI > > > Key: MINIFICPP-2204 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2204 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Fix For: 0.16.0 > > Time Spent: 1h 40m > Remaining Estimate: 0h > > Currently we are using clang14 and clang-tidy 14 in github actions. We should > make our code compile with clang16 and replace the version 14 clang tools in > CI with version 16. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2204) Fix build with clang16 and upgrade in CI
[ https://issues.apache.org/jira/browse/MINIFICPP-2204?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2204: -- Fix Version/s: 0.16.0 > Fix build with clang16 and upgrade in CI > > > Key: MINIFICPP-2204 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2204 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Fix For: 0.16.0 > > Time Spent: 1h 40m > Remaining Estimate: 0h > > Currently we are using clang14 and clang-tidy 14 in github actions. We should > make our code compile with clang16 and replace the version 14 clang tools in > CI with version 16. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2146) Add support for SMB networking protocol
[ https://issues.apache.org/jira/browse/MINIFICPP-2146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2146: -- Fix Version/s: 0.16.0 > Add support for SMB networking protocol > --- > > Key: MINIFICPP-2146 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2146 > Project: Apache NiFi MiNiFi C++ > Issue Type: Epic >Reporter: Martin Zink >Assignee: Martin Zink >Priority: Major > Fix For: 0.16.0 > > Time Spent: 12h 40m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2146) Add support for SMB networking protocol
[ https://issues.apache.org/jira/browse/MINIFICPP-2146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2146. --- Resolution: Fixed > Add support for SMB networking protocol > --- > > Key: MINIFICPP-2146 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2146 > Project: Apache NiFi MiNiFi C++ > Issue Type: Epic >Reporter: Martin Zink >Assignee: Martin Zink >Priority: Major > Fix For: 0.16.0 > > Time Spent: 12h 40m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2218) Refactor expected monadic functions
[ https://issues.apache.org/jira/browse/MINIFICPP-2218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2218: -- Resolution: Fixed Status: Resolved (was: Patch Available) > Refactor expected monadic functions > --- > > Key: MINIFICPP-2218 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2218 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Marton Szasz >Priority: Major > Fix For: 0.16.0 > > Time Spent: 0.5h > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2218) Refactor expected monadic functions
[ https://issues.apache.org/jira/browse/MINIFICPP-2218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2218: -- Fix Version/s: 0.16.0 > Refactor expected monadic functions > --- > > Key: MINIFICPP-2218 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2218 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Marton Szasz >Priority: Major > Fix For: 0.16.0 > > Time Spent: 0.5h > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2193) Add agent manifest to C2 debug package
[ https://issues.apache.org/jira/browse/MINIFICPP-2193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2193: -- Fix Version/s: 0.16.0 > Add agent manifest to C2 debug package > -- > > Key: MINIFICPP-2193 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2193 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Adam Debreceni >Priority: Major > Fix For: 0.16.0 > > Time Spent: 1h 20m > Remaining Estimate: 0h > > The agent manifest contains a lot of useful information about the system, > which can be helpful in a situation where remote debugging of minifi agent > problems is required. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2193) Add agent manifest to C2 debug package
[ https://issues.apache.org/jira/browse/MINIFICPP-2193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2193. --- Resolution: Fixed > Add agent manifest to C2 debug package > -- > > Key: MINIFICPP-2193 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2193 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Adam Debreceni >Priority: Major > Fix For: 0.16.0 > > Time Spent: 1h 20m > Remaining Estimate: 0h > > The agent manifest contains a lot of useful information about the system, > which can be helpful in a situation where remote debugging of minifi agent > problems is required. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-1774) Set properties from command line arguments
[ https://issues.apache.org/jira/browse/MINIFICPP-1774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-1774. --- Resolution: Fixed > Set properties from command line arguments > -- > > Key: MINIFICPP-1774 > URL: https://issues.apache.org/jira/browse/MINIFICPP-1774 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Gábor Gyimesi >Priority: Major > Fix For: 0.16.0 > > Time Spent: 3h 10m > Remaining Estimate: 0h > > Add a command line parser that can override properties from the > minifi.properties config file. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-1774) Set properties from command line arguments
[ https://issues.apache.org/jira/browse/MINIFICPP-1774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-1774: -- Fix Version/s: 0.16.0 > Set properties from command line arguments > -- > > Key: MINIFICPP-1774 > URL: https://issues.apache.org/jira/browse/MINIFICPP-1774 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Gábor Gyimesi >Priority: Major > Fix For: 0.16.0 > > Time Spent: 3h 10m > Remaining Estimate: 0h > > Add a command line parser that can override properties from the > minifi.properties config file. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2214) Fix extension list inconsistencies in build scripts
[ https://issues.apache.org/jira/browse/MINIFICPP-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2214: -- Fix Version/s: 0.16.0 > Fix extension list inconsistencies in build scripts > --- > > Key: MINIFICPP-2214 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2214 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Marton Szasz >Priority: Major > Fix For: 0.16.0 > > Time Spent: 1h 50m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2214) Fix extension list inconsistencies in build scripts
[ https://issues.apache.org/jira/browse/MINIFICPP-2214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2214. --- Resolution: Fixed > Fix extension list inconsistencies in build scripts > --- > > Key: MINIFICPP-2214 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2214 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Marton Szasz >Priority: Major > Fix For: 0.16.0 > > Time Spent: 1h 50m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2209) Small HTTPClient refactor: preconditions and exception safety
[ https://issues.apache.org/jira/browse/MINIFICPP-2209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2209. --- Resolution: Fixed > Small HTTPClient refactor: preconditions and exception safety > - > > Key: MINIFICPP-2209 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2209 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Marton Szasz >Priority: Major > Fix For: 0.16.0 > > Time Spent: 50m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2209) Small HTTPClient refactor: preconditions and exception safety
[ https://issues.apache.org/jira/browse/MINIFICPP-2209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2209: -- Fix Version/s: 0.16.0 > Small HTTPClient refactor: preconditions and exception safety > - > > Key: MINIFICPP-2209 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2209 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Marton Szasz >Priority: Major > Fix For: 0.16.0 > > Time Spent: 50m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2221) Auto-generate CONTROLLERS.md
[ https://issues.apache.org/jira/browse/MINIFICPP-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2221: -- Fix Version/s: 0.16.0 > Auto-generate CONTROLLERS.md > > > Key: MINIFICPP-2221 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2221 > Project: Apache NiFi MiNiFi C++ > Issue Type: Task >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > Fix For: 0.16.0 > > > In the same way as we currently auto-generate PROCESSORS.md, we should > auto-generate CONTROLLERS.md, as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2221) Auto-generate CONTROLLERS.md
Ferenc Gerlits created MINIFICPP-2221: - Summary: Auto-generate CONTROLLERS.md Key: MINIFICPP-2221 URL: https://issues.apache.org/jira/browse/MINIFICPP-2221 Project: Apache NiFi MiNiFi C++ Issue Type: Task Reporter: Ferenc Gerlits Assignee: Ferenc Gerlits In the same way as we currently auto-generate PROCESSORS.md, we should auto-generate CONTROLLERS.md, as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2213) Run clang-tidy on Windows, as well
Ferenc Gerlits created MINIFICPP-2213: - Summary: Run clang-tidy on Windows, as well Key: MINIFICPP-2213 URL: https://issues.apache.org/jira/browse/MINIFICPP-2213 Project: Apache NiFi MiNiFi C++ Issue Type: Task Reporter: Ferenc Gerlits We should run {{clang-tidy}} on Windows, as well, at least for the windows-only extensions. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2180) Package generation should avoid including test_processors
[ https://issues.apache.org/jira/browse/MINIFICPP-2180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2180. --- Resolution: Fixed > Package generation should avoid including test_processors > - > > Key: MINIFICPP-2180 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2180 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Marton Szasz >Priority: Major > Time Spent: 0.5h > Remaining Estimate: 0h > > test_processors are meant to help with testing minifi, and are not supposed > to be part of binary packages. We should filter them out, when generating a > binary package with `make package` or `ninja package` (or similar) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2197) centos build very slow
[ https://issues.apache.org/jira/browse/MINIFICPP-2197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2197: -- Resolution: Fixed Status: Resolved (was: Patch Available) > centos build very slow > -- > > Key: MINIFICPP-2197 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2197 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Martin Zink >Assignee: Martin Zink >Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > make centos is unbelievable slow, I suspect that > [https://github.com/docker/buildx/issues/379] is the culprit -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2208) ConfigurationTests fails on ARM64
[ https://issues.apache.org/jira/browse/MINIFICPP-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2208: -- Resolution: Fixed Status: Resolved (was: Patch Available) > ConfigurationTests fails on ARM64 > - > > Key: MINIFICPP-2208 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2208 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Martin Zink >Assignee: Martin Zink >Priority: Trivial > Labels: ARM > Time Spent: 40m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2206) Use std::string_view in the ctor of Connectable's children
[ https://issues.apache.org/jira/browse/MINIFICPP-2206?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2206: -- Resolution: Fixed Status: Resolved (was: Patch Available) > Use std::string_view in the ctor of Connectable's children > -- > > Key: MINIFICPP-2206 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2206 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Martin Zink >Assignee: Martin Zink >Priority: Trivial > Time Spent: 20m > Remaining Estimate: 0h > > MINIFICPP-2162 changed the ctor of Connectable but left the child classes > ctors as is. This causes clang tidy errors -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2198) GPS Extension should be correctly marked as not available on Windows
[ https://issues.apache.org/jira/browse/MINIFICPP-2198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2198: -- Resolution: Fixed Status: Resolved (was: Patch Available) > GPS Extension should be correctly marked as not available on Windows > > > Key: MINIFICPP-2198 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2198 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Martin Zink >Assignee: Martin Zink >Priority: Trivial > Time Spent: 0.5h > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2205) install_cmake_from_binary fails with ARM64
[ https://issues.apache.org/jira/browse/MINIFICPP-2205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2205: -- Resolution: Fixed Status: Resolved (was: Patch Available) > install_cmake_from_binary fails with ARM64 > -- > > Key: MINIFICPP-2205 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2205 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Martin Zink >Assignee: Martin Zink >Priority: Major > Labels: ARM > Time Spent: 20m > Remaining Estimate: 0h > > install_cmake_from_binary from linux.sh (called from bootstrap.sh) assumes we > always run x86_64, and tries to install the x86_64 binary cmake > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (MINIFICPP-2207) The HTTP request method field in HTTPClient and InvokeHTTP should be an enum
[ https://issues.apache.org/jira/browse/MINIFICPP-2207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits reassigned MINIFICPP-2207: - Assignee: Ferenc Gerlits > The HTTP request method field in HTTPClient and InvokeHTTP should be an enum > > > Key: MINIFICPP-2207 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2207 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > Currently, {{HTTPClient::method_}} is a string, and if it is mistyped, we > pass it on to curl, and get a cryptic curl error instead of throwing in > {{{}onSchedule{}}}. We should change it to an enum, and so validate it at > schedule time. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2207) The HTTP request method field in HTTPClient and InvokeHTTP should be an enum
Ferenc Gerlits created MINIFICPP-2207: - Summary: The HTTP request method field in HTTPClient and InvokeHTTP should be an enum Key: MINIFICPP-2207 URL: https://issues.apache.org/jira/browse/MINIFICPP-2207 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits Currently, {{HTTPClient::method_}} is a string, and if it is mistyped, we pass it on to curl, and get a cryptic curl error instead of throwing in {{{}onSchedule{}}}. We should change it to an enum, and so validate it at schedule time. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2202) The MSI installer should start the ApacheNiFiMiNiFi service
Ferenc Gerlits created MINIFICPP-2202: - Summary: The MSI installer should start the ApacheNiFiMiNiFi service Key: MINIFICPP-2202 URL: https://issues.apache.org/jira/browse/MINIFICPP-2202 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits At the end of the installation process, is it possible for the Windows MSI installer to start the ApacheNiFiMiNiFi service? That would save an unnecessary step for the user. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2201) Incorrect cpack can be used by the windows build script
Ferenc Gerlits created MINIFICPP-2201: - Summary: Incorrect cpack can be used by the windows build script Key: MINIFICPP-2201 URL: https://issues.apache.org/jira/browse/MINIFICPP-2201 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits The {{win_build_vs.bat}} script calls {{cpack}} without specifying a path, so if some other {{cpack}} exists on the {{PATH}} (e.g. chocolatey has such an executable), then it will not find the correct CMake {{cpack}}. We should be able to find the location of {{cmake.exe}} and use the {{cpack.exe}} which is in the same directory. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2200) The windows build script fails if the build path contains spaces
Ferenc Gerlits created MINIFICPP-2200: - Summary: The windows build script fails if the build path contains spaces Key: MINIFICPP-2200 URL: https://issues.apache.org/jira/browse/MINIFICPP-2200 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Ferenc Gerlits CLion can handle build paths with spaces, and I think running {{cmake}} directly from the command line works, too, so {{win_build_vs.bat}} should be able to do it, as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2199) The windows build script should default to 64-bit
Ferenc Gerlits created MINIFICPP-2199: - Summary: The windows build script should default to 64-bit Key: MINIFICPP-2199 URL: https://issues.apache.org/jira/browse/MINIFICPP-2199 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits The {{win_build_vs.bat}} script defaults to building a 32-bit binary, and one has to add the {{/64}} option to build a 64-bit binary. If possible, it would be good if the script could detect if it's running in an "x86 Native Tools Command Prompt" or an "x64 Native Tools Command Prompt" and set the correct bitness automatically. If automatic detection fails, I think we should still default to a 64-bit build, and have a {{/32}} option to override this. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (MINIFICPP-2191) Replace deprecated OpenSSL API calls
[ https://issues.apache.org/jira/browse/MINIFICPP-2191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits reassigned MINIFICPP-2191: - Assignee: Ferenc Gerlits > Replace deprecated OpenSSL API calls > > > Key: MINIFICPP-2191 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2191 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > {{CertificateUtils.cpp}} uses a number of OpenSSL API calls which were > deprecated in version 3.0. Find non-deprecated replacements for them, and > use those instead. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Assigned] (MINIFICPP-2088) InvokeHTTP should check whether it needs to run before retrieving the HttpClient
[ https://issues.apache.org/jira/browse/MINIFICPP-2088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits reassigned MINIFICPP-2088: - Assignee: Ferenc Gerlits > InvokeHTTP should check whether it needs to run before retrieving the > HttpClient > > > Key: MINIFICPP-2088 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2088 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Marton Szasz >Assignee: Ferenc Gerlits >Priority: Minor > > InvokeHTTP has setTriggerWhenEmpty=true to support GET requests with no > incoming flow files. But it creates/retrieves the http client even if it's > triggered as POST with no incoming flow files. We should keep the check as > lightweight as possible, and add a bored yield if it didn't need to run. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MINIFICPP-2191) Replace deprecated OpenSSL API calls
Ferenc Gerlits created MINIFICPP-2191: - Summary: Replace deprecated OpenSSL API calls Key: MINIFICPP-2191 URL: https://issues.apache.org/jira/browse/MINIFICPP-2191 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Ferenc Gerlits {{CertificateUtils.cpp}} uses a number of OpenSSL API calls which were deprecated in version 3.0. Find non-deprecated replacements for them, and use those instead. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2133) Add TLS 1.3 support
[ https://issues.apache.org/jira/browse/MINIFICPP-2133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2133: -- Fix Version/s: 0.15.0 > Add TLS 1.3 support > --- > > Key: MINIFICPP-2133 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2133 > Project: Apache NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Fix For: 0.15.0 > > Time Spent: 4h 50m > Remaining Estimate: 0h > > In MINIFICPP-1719 OpenSSL 3 is introduced that supports TLS 1.3 contrary to > the previous LibreSSL that only supported TLS up to version 1.2. After > OpenSSL 3 is introduced we should add TLS 1.3 support and tests to our > application. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2133) Add TLS 1.3 support
[ https://issues.apache.org/jira/browse/MINIFICPP-2133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2133. --- Resolution: Fixed > Add TLS 1.3 support > --- > > Key: MINIFICPP-2133 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2133 > Project: Apache NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Time Spent: 4h 50m > Remaining Estimate: 0h > > In MINIFICPP-1719 OpenSSL 3 is introduced that supports TLS 1.3 contrary to > the previous LibreSSL that only supported TLS up to version 1.2. After > OpenSSL 3 is introduced we should add TLS 1.3 support and tests to our > application. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2173) Revise MergeContent error handling
[ https://issues.apache.org/jira/browse/MINIFICPP-2173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2173: -- Fix Version/s: 0.15.0 > Revise MergeContent error handling > -- > > Key: MINIFICPP-2173 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2173 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Fix For: 0.15.0 > > Time Spent: 2h > Remaining Estimate: 0h > > MergeContent has an internal temporary ProcessSession for merging flow files > and this needs to be removed to be able to rollback failed merge attempt. The > handling of error cases in the onTrigger call also needs to be revised. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2181) Use systemd service management on Linux
[ https://issues.apache.org/jira/browse/MINIFICPP-2181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2181: -- Fix Version/s: 0.15.0 > Use systemd service management on Linux > --- > > Key: MINIFICPP-2181 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2181 > Project: Apache NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: Marton Szasz >Assignee: Marton Szasz >Priority: Major > Fix For: 0.15.0 > > Time Spent: 20m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2152) Remove internal socket implementation classes
[ https://issues.apache.org/jira/browse/MINIFICPP-2152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2152: -- Fix Version/s: 0.15.0 > Remove internal socket implementation classes > - > > Key: MINIFICPP-2152 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2152 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Fix For: 0.15.0 > > Time Spent: 4h 10m > Remaining Estimate: 0h > > With the implementation of > [MINIFICPP-2137|https://github.com/apache/nifi-minifi-cpp/pull/1595] and > [MINIFICPP-2131|https://github.com/apache/nifi-minifi-cpp/pull/1592] only a > few instances remain where our own socket implementations remain instead of > using the Asio library. These instances are mostly tests and the SiteToSite > raw socket implementation. These should be deleted or rewritten using Asio so > that our own Socket implementation and related classes can be removed. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2181) Use systemd service management on Linux
[ https://issues.apache.org/jira/browse/MINIFICPP-2181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2181. --- Resolution: Fixed > Use systemd service management on Linux > --- > > Key: MINIFICPP-2181 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2181 > Project: Apache NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: Marton Szasz >Assignee: Marton Szasz >Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2188) Build failure on ARM64
[ https://issues.apache.org/jira/browse/MINIFICPP-2188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2188: -- Resolution: Fixed Status: Resolved (was: Patch Available) > Build failure on ARM64 > -- > > Key: MINIFICPP-2188 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2188 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Affects Versions: 0.15.0 >Reporter: Martin Zink >Assignee: Martin Zink >Priority: Major > Labels: ARM > Fix For: 0.15.0 > > Time Spent: 20m > Remaining Estimate: 0h > > After openssl upgrade builds fails on arm based linux due to > {code:java} > make[2]: *** No rule to make target > 'thirdparty/openssl-install/lib64/libcrypto.a', needed by > 'bin/libcore-minifi.so'. Stop. {code} > (It looks for libcrypto in lib64 folder instead of lib folder) -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2187) Free up space on CI runners for CentOS job
[ https://issues.apache.org/jira/browse/MINIFICPP-2187?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2187: -- Resolution: Fixed Status: Resolved (was: Patch Available) > Free up space on CI runners for CentOS job > -- > > Key: MINIFICPP-2187 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2187 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Minor > Time Spent: 1h > Remaining Estimate: 0h > > CentOS job sometimes fails due to running out of disk space on the CI runner > node. We should free up some disk space on the node removing some unneeded > packages. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MINIFICPP-2152) Remove internal socket implementation classes
[ https://issues.apache.org/jira/browse/MINIFICPP-2152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits resolved MINIFICPP-2152. --- Resolution: Fixed > Remove internal socket implementation classes > - > > Key: MINIFICPP-2152 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2152 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Time Spent: 4h 10m > Remaining Estimate: 0h > > With the implementation of > [MINIFICPP-2137|https://github.com/apache/nifi-minifi-cpp/pull/1595] and > [MINIFICPP-2131|https://github.com/apache/nifi-minifi-cpp/pull/1592] only a > few instances remain where our own socket implementations remain instead of > using the Asio library. These instances are mostly tests and the SiteToSite > raw socket implementation. These should be deleted or rewritten using Asio so > that our own Socket implementation and related classes can be removed. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-2173) Revise MergeContent error handling
[ https://issues.apache.org/jira/browse/MINIFICPP-2173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-2173: -- Resolution: Fixed Status: Resolved (was: Patch Available) > Revise MergeContent error handling > -- > > Key: MINIFICPP-2173 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2173 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Gábor Gyimesi >Assignee: Gábor Gyimesi >Priority: Major > Time Spent: 2h > Remaining Estimate: 0h > > MergeContent has an internal temporary ProcessSession for merging flow files > and this needs to be removed to be able to rollback failed merge attempt. The > handling of error cases in the onTrigger call also needs to be revised. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MINIFICPP-2185) Upgrade to Visual Studio 2022
[ https://issues.apache.org/jira/browse/MINIFICPP-2185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17755519#comment-17755519 ] Ferenc Gerlits commented on MINIFICPP-2185: --- follow-up: MINIFICPP-2186 > Upgrade to Visual Studio 2022 > - > > Key: MINIFICPP-2185 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2185 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > Todo: > * fix failing FileSystemRepositoryTests unit test; this was only passing > previously because of this STL bug: > https://github.com/microsoft/STL/issues/1511 > * remove some compiler warnings > * add the /MP compiler flag (I'm not sure if it makes any difference, but > can't hurt). > Follow-up: -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MINIFICPP-2186) Remove VS2019-specific workarounds
[ https://issues.apache.org/jira/browse/MINIFICPP-2186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17755518#comment-17755518 ] Ferenc Gerlits edited comment on MINIFICPP-2186 at 8/17/23 12:10 PM: - depends on: MINIFICPP-2185 was (Author: fgerlits): follow-up: MINIFICPP-2186 > Remove VS2019-specific workarounds > -- > > Key: MINIFICPP-2186 > URL: https://issues.apache.org/jira/browse/MINIFICPP-2186 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > > In at least two places (OutputAttributeDefinition.h, Monitors.h), we create a > default constructor which is not really needed because of a bug in Visual > Studio <= 2019. > Remove these workarounds, and check if there are other workarounds which can > be removed (eg. C2PropertiesUpdateTests?, PropertyReference?). > Also update the minimum VS version in cmake/CppVersion.cmake and in the > documentation. -- This message was sent by Atlassian Jira (v8.20.10#820010)