This is an automated email from the ASF dual-hosted git repository. szaszm pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 54000432ac3af2390f93f22573be67db2477ebca Author: Martin Zink <[email protected]> AuthorDate: Mon Sep 8 16:17:57 2025 +0200 MINIFICPP-2620 DatabaseContentRepository should be the default Based on [CONFIGURE.md](https://github.com/apache/nifi-minifi-cpp/blob/main/CONFIGURE.md#configuring-repositories) DatabaseContentRepository should be the default. We even had a [test](https://github.com/apache/nifi-minifi-cpp/blob/main/docker/test/integration/features/core_functionality.feature#L50-L55) to verify this, but it was explicitly set [here](https://github.com/apache/nifi-minifi-cpp/blob/main/minifi_main/MiNiFiMain.cpp#L310) so it didnt test it properly. Closes #2021 Signed-off-by: Marton Szasz <[email protected]> --- .../integration/resources/minifi/minifi.properties | 1 - minifi_main/MiNiFiMain.cpp | 21 +++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docker/test/integration/resources/minifi/minifi.properties b/docker/test/integration/resources/minifi/minifi.properties index 68dbec03c..c5ba7cf8e 100644 --- a/docker/test/integration/resources/minifi/minifi.properties +++ b/docker/test/integration/resources/minifi/minifi.properties @@ -3,5 +3,4 @@ nifi.bored.yield.duration=100 millis nifi.provenance.repository.max.storage.time=1 MIN nifi.provenance.repository.max.storage.size=1 MB nifi.database.content.repository.directory.default=${MINIFI_HOME}/content_repository -nifi.content.repository.class.name=DatabaseContentRepository nifi.flow.engine.threads=5 diff --git a/minifi_main/MiNiFiMain.cpp b/minifi_main/MiNiFiMain.cpp index 33249767c..3a111fbd4 100644 --- a/minifi_main/MiNiFiMain.cpp +++ b/minifi_main/MiNiFiMain.cpp @@ -40,6 +40,7 @@ #include <csignal> #include <atomic> +#include <algorithm> #include <cstdlib> #include <iostream> #include <vector> @@ -63,13 +64,13 @@ #include "core/repository/VolatileContentRepository.h" #include "core/repository/VolatileFlowFileRepository.h" #include "core/state/MetricsPublisherStore.h" -#include "core/state/nodes/ResponseNodeLoader.h" #include "properties/Decryptor.h" #include "utils/Environment.h" #include "utils/FileMutex.h" #include "utils/file/AssetManager.h" #include "utils/file/FileUtils.h" #include "utils/file/PathUtils.h" +#include "range/v3/algorithm/min_element.hpp" namespace minifi = org::apache::nifi::minifi; namespace core = minifi::core; @@ -84,7 +85,7 @@ static std::atomic_flag process_running; * * Semaphores are a portable choice when using signal handlers. Threads, * mutexes, and condition variables are not guaranteed to work within - * a signal handler. Consequently we will use the semaphore to avoid thread + * a signal handler. Consequently, we will use the semaphore to avoid thread * safety issues. */ @@ -308,7 +309,7 @@ int main(int argc, char **argv) { std::string prov_repo_class = "provenancerepository"; std::string flow_repo_class = "flowfilerepository"; std::string nifi_configuration_class_name = "adaptiveconfiguration"; - std::string content_repo_class = "filesystemrepository"; + std::string content_repo_class = "DatabaseContentRepository"; auto log_properties = std::make_shared<core::logging::LoggerProperties>(locations->logs_dir_); log_properties->loadConfigureFile(locations->log_properties_path_, "nifi.log."); @@ -418,22 +419,22 @@ int main(int argc, char **argv) { if (disk_space_watchdog_enable) { try { const auto repo_paths = [&] { - std::vector<std::string> repo_paths; - repo_paths.reserve(3); + std::vector<std::string> paths; + paths.reserve(3); // REPOSITORY_DIRECTORY is a dummy path used by noop repositories const auto path_valid = [](const std::string& p) { return !p.empty() && p != org::apache::nifi::minifi::core::REPOSITORY_DIRECTORY; }; auto prov_repo_path = prov_repo->getDirectory(); auto flow_repo_path = flow_repo->getDirectory(); auto content_repo_storage_path = content_repo->getStoragePath(); - if (!prov_repo->isNoop() && path_valid(prov_repo_path)) { repo_paths.push_back(std::move(prov_repo_path)); } - if (!flow_repo->isNoop() && path_valid(flow_repo_path)) { repo_paths.push_back(std::move(flow_repo_path)); } - if (path_valid(content_repo_storage_path)) { repo_paths.push_back(std::move(content_repo_storage_path)); } - return repo_paths; + if (!prov_repo->isNoop() && path_valid(prov_repo_path)) { paths.push_back(std::move(prov_repo_path)); } + if (!flow_repo->isNoop() && path_valid(flow_repo_path)) { paths.push_back(std::move(flow_repo_path)); } + if (path_valid(content_repo_storage_path)) { paths.push_back(std::move(content_repo_storage_path)); } + return paths; }(); const auto available_spaces = minifi::disk_space_watchdog::check_available_space(repo_paths, logger.get()); const auto config = minifi::disk_space_watchdog::read_config(*configure); const auto min_space = [](const std::vector<std::uintmax_t>& spaces) { - const auto it = std::min_element(std::begin(spaces), std::end(spaces)); + const auto it = std::ranges::min_element(spaces); return it != spaces.end() ? *it : (std::numeric_limits<std::uintmax_t>::max)(); }; if (min_space(available_spaces) <= config.stop_threshold_bytes) {
