You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by fg...@apache.org on 2022/11/15 18:38:18 UTC

[nifi-minifi-cpp] branch main updated (5d6efa8a3 -> 9c439e272)

This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git


    from 5d6efa8a3 MINIFICPP-1937 Rework rocksdb handling, use OptimizeForPointLookup
     new ffd02405a MINIFICPP-1958  - CoreComponent should pass strings by value and move them in constructor
     new 8bda98d4a MINIFICPP-1959 - Ensure that VolatileFlowFileRepository does not delete referenced resource
     new 7888ca431 MINIFICPP-1978 - Flush MergeContent bundles when its size would grow beyond max group size
     new 9c439e272 MINIFICPP-1981 Decrease default C2 heartbeat frequency

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 C2.md                                              |  4 +-
 conf/minifi.properties                             |  4 +-
 .../minifi.properties                              |  2 +-
 encrypt-config/tests/resources/minifi.properties   |  2 +-
 ...th-additional-sensitive-props.minifi.properties |  2 +-
 .../aws/controllerservices/AWSCredentialsService.h | 23 ++----
 extensions/aws/processors/DeleteS3Object.h         |  4 +-
 extensions/aws/processors/FetchS3Object.h          |  4 +-
 extensions/aws/processors/ListS3.h                 |  4 +-
 extensions/aws/processors/PutS3Object.h            |  4 +-
 extensions/aws/processors/S3Processor.cpp          |  4 +-
 extensions/aws/processors/S3Processor.h            | 16 +---
 .../AzureStorageCredentialsService.h               |  9 ++-
 .../processors/AzureBlobStorageProcessorBase.h     |  8 +-
 .../AzureBlobStorageSingleBlobProcessorBase.h      |  8 +-
 .../AzureDataLakeStorageFileProcessorBase.h        |  8 +-
 .../processors/AzureDataLakeStorageProcessorBase.h |  8 +-
 .../azure/processors/AzureStorageProcessorBase.h   |  5 +-
 .../azure/processors/DeleteAzureBlobStorage.h      |  8 +-
 .../azure/processors/DeleteAzureDataLakeStorage.h  |  8 +-
 .../azure/processors/FetchAzureBlobStorage.h       |  8 +-
 .../azure/processors/FetchAzureDataLakeStorage.h   |  8 +-
 extensions/azure/processors/ListAzureBlobStorage.h |  8 +-
 .../azure/processors/ListAzureDataLakeStorage.h    |  8 +-
 extensions/azure/processors/PutAzureBlobStorage.h  |  8 +-
 .../azure/processors/PutAzureDataLakeStorage.h     |  8 +-
 extensions/bustache/ApplyTemplate.h                |  5 +-
 extensions/civetweb/processors/ListenHTTP.h        |  4 +-
 extensions/civetweb/protocols/RESTReceiver.cpp     |  4 +-
 extensions/civetweb/protocols/RESTReceiver.h       |  2 +-
 extensions/coap/controllerservice/CoapConnector.h  |  4 +-
 extensions/coap/protocols/CoapC2Protocol.cpp       |  4 +-
 extensions/coap/protocols/CoapC2Protocol.h         |  2 +-
 extensions/coap/server/CoapServer.h                | 16 +---
 .../ExpressionContextBuilder.cpp                   |  8 +-
 .../expression-language/ExpressionContextBuilder.h |  5 +-
 extensions/gcp/processors/DeleteGCSObject.h        |  7 +-
 extensions/gcp/processors/FetchGCSObject.h         |  7 +-
 extensions/gcp/processors/GCSProcessor.h           |  4 +-
 extensions/gcp/processors/ListGCSBucket.h          |  7 +-
 extensions/gcp/processors/PutGCSObject.h           |  7 +-
 extensions/gps/GetGPS.h                            | 19 ++---
 extensions/http-curl/client/HTTPClient.cpp         |  4 +-
 extensions/http-curl/client/HTTPClient.h           |  2 +-
 extensions/http-curl/processors/InvokeHTTP.h       |  5 +-
 extensions/http-curl/protocols/AgentPrinter.cpp    |  6 +-
 extensions/http-curl/protocols/AgentPrinter.h      |  2 +-
 extensions/http-curl/protocols/RESTSender.cpp      |  4 +-
 extensions/http-curl/protocols/RESTSender.h        |  2 +-
 extensions/http-curl/sitetosite/HTTPProtocol.h     |  2 +-
 extensions/jni/ExecuteJavaControllerService.h      | 19 ++---
 extensions/jni/ExecuteJavaProcessor.h              | 21 ++---
 extensions/jni/JVMCreator.h                        |  9 ++-
 extensions/jni/jvm/JavaControllerService.h         |  4 +-
 extensions/jni/jvm/JniConfigurationContext.h       | 19 ++---
 extensions/libarchive/BinFiles.h                   |  7 +-
 extensions/libarchive/CompressContent.h            |  4 +-
 extensions/libarchive/FocusArchiveEntry.h          |  5 +-
 extensions/libarchive/ManipulateArchive.h          | 19 ++---
 extensions/libarchive/UnfocusArchiveEntry.h        |  5 +-
 extensions/librdkafka/ConsumeKafka.h               |  4 +-
 extensions/librdkafka/KafkaProcessorBase.h         |  7 +-
 extensions/librdkafka/PublishKafka.h               |  4 +-
 extensions/mqtt/processors/AbstractMQTTProcessor.h |  5 +-
 extensions/mqtt/processors/ConsumeMQTT.h           |  4 +-
 extensions/mqtt/processors/PublishMQTT.h           |  4 +-
 extensions/opc/include/fetchopc.h                  |  5 +-
 extensions/opc/include/opcbase.h                   |  5 +-
 extensions/opc/include/putopc.h                    |  5 +-
 extensions/opencv/CaptureRTSPFrame.h               |  4 +-
 extensions/opencv/MotionDetector.h                 | 17 ++--
 .../SourceInitiatedSubscriptionListener.cpp        |  4 +-
 .../SourceInitiatedSubscriptionListener.h          |  2 +-
 extensions/pcap/CapturePacket.h                    | 24 ++----
 extensions/procfs/processors/ProcFsMonitor.h       |  4 +-
 .../rocksdb-repos/DatabaseContentRepository.h      |  7 +-
 extensions/rocksdb-repos/FlowFileRepository.h      |  8 +-
 extensions/rocksdb-repos/ProvenanceRepository.h    |  8 +-
 .../RocksDbPersistableKeyValueStoreService.cpp     |  5 +-
 .../RocksDbPersistableKeyValueStoreService.h       |  2 +-
 extensions/script/ExecuteScript.h                  |  4 +-
 extensions/script/python/ExecutePythonProcessor.h  | 19 ++---
 extensions/script/python/PythonCreator.h           | 16 +---
 extensions/sensors/GetEnvironmentalSensors.h       | 17 ++--
 extensions/sensors/GetMovementSensors.h            | 17 ++--
 extensions/sensors/SensorBase.h                    | 16 +---
 extensions/sftp/processors/FetchSFTP.cpp           |  4 +-
 extensions/sftp/processors/FetchSFTP.h             |  2 +-
 extensions/sftp/processors/ListSFTP.cpp            |  4 +-
 extensions/sftp/processors/ListSFTP.h              |  2 +-
 extensions/sftp/processors/PutSFTP.cpp             |  4 +-
 extensions/sftp/processors/PutSFTP.h               |  2 +-
 extensions/sftp/processors/SFTPProcessorBase.cpp   |  4 +-
 extensions/sftp/processors/SFTPProcessorBase.h     |  2 +-
 extensions/sftp/tests/ListSFTPTests.cpp            |  2 +-
 extensions/splunk/PutSplunkHTTP.h                  |  7 +-
 extensions/splunk/QuerySplunkIndexingStatus.h      |  7 +-
 extensions/splunk/SplunkHECProcessor.h             |  8 +-
 extensions/sql/processors/ExecuteSQL.cpp           |  4 +-
 extensions/sql/processors/ExecuteSQL.h             | 15 +---
 extensions/sql/processors/PutSQL.cpp               |  4 +-
 extensions/sql/processors/PutSQL.h                 |  2 +-
 extensions/sql/processors/QueryDatabaseTable.cpp   |  4 +-
 extensions/sql/processors/QueryDatabaseTable.h     | 14 +---
 extensions/sql/processors/SQLProcessor.h           | 16 +---
 extensions/sql/services/DatabaseService.h          |  8 +-
 extensions/sql/services/ODBCConnector.h            |  8 +-
 .../UnorderedMapKeyValueStoreService.cpp           |  8 +-
 .../controllers/UnorderedMapKeyValueStoreService.h |  4 +-
 ...UnorderedMapPersistableKeyValueStoreService.cpp |  8 +-
 .../UnorderedMapPersistableKeyValueStoreService.h  |  4 +-
 .../processors/AppendHostInfo.h                    | 19 ++---
 .../processors/AttributesToJSON.h                  | 25 +++---
 .../processors/DefragmentText.h                    |  7 +-
 .../processors/ExecuteProcess.h                    |  5 +-
 .../standard-processors/processors/ExtractText.h   |  5 +-
 .../standard-processors/processors/FetchFile.h     |  7 +-
 .../processors/GenerateFlowFile.h                  |  4 +-
 .../standard-processors/processors/GetFile.h       |  4 +-
 extensions/standard-processors/processors/GetTCP.h |  4 +-
 .../standard-processors/processors/HashContent.h   |  4 +-
 .../standard-processors/processors/ListFile.h      | 11 +--
 .../standard-processors/processors/ListenSyslog.h  |  4 +-
 .../standard-processors/processors/ListenTCP.h     |  5 +-
 .../standard-processors/processors/LogAttribute.h  |  4 +-
 .../processors/NetworkListenerProcessor.h          |  4 +-
 .../standard-processors/processors/PutFile.h       |  4 +-
 .../standard-processors/processors/PutUDP.cpp      |  4 +-
 extensions/standard-processors/processors/PutUDP.h |  3 +-
 .../standard-processors/processors/ReplaceText.cpp |  4 +-
 .../standard-processors/processors/ReplaceText.h   |  2 +-
 .../standard-processors/processors/RetryFlowFile.h | 16 +---
 .../processors/RouteOnAttribute.h                  | 17 ++--
 .../standard-processors/processors/RouteText.cpp   |  4 +-
 .../standard-processors/processors/RouteText.h     |  2 +-
 .../standard-processors/processors/TailFile.h      |  4 +-
 .../processors/UpdateAttribute.h                   | 17 ++--
 .../tests/unit/DefragmentTextTests.cpp             |  4 +-
 .../tests/unit/ProcessorTests.cpp                  |  4 +-
 .../tests/unit/TailFileTests.cpp                   |  4 +-
 extensions/systemd/ConsumeJournald.cpp             |  4 +-
 extensions/systemd/ConsumeJournald.h               | 11 +--
 extensions/test-processors/KamikazeProcessor.h     |  7 +-
 .../test-processors/LogOnDestructionProcessor.h    |  5 +-
 extensions/usb-camera/GetUSBCamera.h               | 17 ++--
 libminifi/include/Connection.h                     | 10 +--
 libminifi/include/RemoteProcessorGroupPort.h       |  6 +-
 libminifi/include/c2/C2Protocol.h                  | 17 ++--
 libminifi/include/c2/C2Trigger.h                   | 21 ++---
 libminifi/include/c2/ControllerSocketProtocol.h    |  5 +-
 libminifi/include/c2/HeartbeatLogger.h             |  2 +-
 libminifi/include/c2/HeartbeatReporter.h           | 40 ++++-----
 libminifi/include/c2/triggers/FileUpdateTrigger.h  |  8 +-
 .../controllers/LinuxPowerManagementService.h      |  8 +-
 .../controllers/NetworkPrioritizerService.h        |  8 +-
 libminifi/include/controllers/SSLContextService.h  | 11 ++-
 .../include/controllers/ThreadManagementService.h  | 24 +++---
 .../controllers/UpdatePolicyControllerService.h    | 14 ++--
 .../AbstractAutoPersistingKeyValueStoreService.h   |  2 +-
 .../controllers/keyvalue/KeyValueStoreService.h    | 14 +---
 .../keyvalue/PersistableKeyValueStoreService.h     | 14 +---
 libminifi/include/core/Connectable.h               |  4 +-
 libminifi/include/core/Core.h                      |  8 +-
 libminifi/include/core/Funnel.h                    |  7 +-
 libminifi/include/core/ProcessContextBuilder.h     |  4 +-
 libminifi/include/core/ProcessGroup.h              | 14 +---
 libminifi/include/core/Processor.h                 |  4 +-
 libminifi/include/core/ProcessorNode.h             | 19 ++---
 libminifi/include/core/Repository.h                |  4 +-
 libminifi/include/core/SerializableComponent.h     |  9 ++-
 .../include/core/controller/ControllerService.h    | 39 +++------
 .../core/controller/ControllerServiceNode.h        | 36 +++------
 .../core/controller/ControllerServiceProvider.h    | 29 ++-----
 .../controller/StandardControllerServiceNode.h     | 11 +--
 .../reporting/SiteToSiteProvenanceReportingTask.h  | 35 +++-----
 .../include/core/repository/FileSystemRepository.h |  5 +-
 .../core/repository/VolatileFlowFileRepository.h   |  4 +
 .../include/core/repository/VolatileRepository.h   | 11 +--
 .../include/core/state/nodes/AgentInformation.h    | 56 ++++++-------
 .../include/core/state/nodes/BuildInformation.h    |  9 ++-
 .../core/state/nodes/ConfigurationChecksums.h      |  3 +-
 .../include/core/state/nodes/DeviceInformation.h   | 15 ++--
 .../include/core/state/nodes/FlowInformation.h     | 16 ++--
 libminifi/include/core/state/nodes/MetricsBase.h   | 34 ++++----
 .../include/core/state/nodes/RepositoryMetrics.h   |  8 +-
 .../include/core/state/nodes/SchedulingNodes.h     | 10 +--
 libminifi/include/core/state/nodes/StateMonitor.h  | 23 ++----
 .../include/core/state/nodes/SupportedOperations.h |  4 +-
 libminifi/include/provenance/Provenance.h          |  5 --
 libminifi/include/sitetosite/RawSocketProtocol.h   |  6 +-
 libminifi/src/Connection.cpp                       | 20 ++---
 libminifi/src/c2/HeartbeatLogger.cpp               |  4 +-
 .../AbstractAutoPersistingKeyValueStoreService.cpp |  4 +-
 .../controllers/keyvalue/KeyValueStoreService.cpp  | 19 ++---
 .../keyvalue/PersistableKeyValueStoreService.cpp   | 16 +---
 libminifi/src/core/Connectable.cpp                 |  8 +-
 libminifi/src/core/Core.cpp                        |  8 +-
 libminifi/src/core/ProcessContextBuilder.cpp       |  8 +-
 libminifi/src/core/ProcessGroup.cpp                | 31 +++----
 libminifi/src/core/ProcessSession.cpp              | 94 +++++++++++++---------
 libminifi/src/core/Processor.cpp                   |  8 +-
 libminifi/src/core/RepositoryFactory.cpp           |  4 +-
 .../src/core/state/nodes/SupportedOperations.cpp   |  8 +-
 libminifi/test/DummyProcessor.h                    |  5 +-
 libminifi/test/ReadFromFlowFileTestProcessor.h     |  9 ++-
 libminifi/test/TestBase.cpp                        | 32 ++++++--
 libminifi/test/TestBase.h                          | 13 ++-
 libminifi/test/WriteToFlowFileTestProcessor.h      |  4 +-
 libminifi/test/archive-tests/MergeFileTests.cpp    | 66 +++++++++++++++
 libminifi/test/flow-tests/CustomProcessors.h       | 22 ++---
 .../test/persistence-tests/PersistenceTests.cpp    |  2 +-
 .../test/resources/encrypted.minifi.properties     |  2 +-
 libminifi/test/sql-tests/mocks/MockODBCService.h   |  9 ++-
 libminifi/test/unit/ChecksumCalculatorTests.cpp    |  4 +-
 .../test/unit/ContentRepositoryDependentTests.h    |  2 +-
 libminifi/test/unit/MockClasses.h                  | 17 ++--
 libminifi/test/unit/ProcessSessionTests.cpp        | 51 +++++++++++-
 msi/WixWin.wsi                                     |  2 +-
 msi/WixWinMergeModules.wsi                         |  2 +-
 nanofi/include/cxx/CallbackProcessor.h             | 16 +---
 220 files changed, 1011 insertions(+), 1151 deletions(-)


[nifi-minifi-cpp] 03/04: MINIFICPP-1978 - Flush MergeContent bundles when its size would grow beyond max group size

Posted by fg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit 7888ca4312ba7cb63163b12b0e07673c29ef4a56
Author: Adam Debreceni <ad...@apache.org>
AuthorDate: Wed Nov 9 11:45:54 2022 +0100

    MINIFICPP-1978 - Flush MergeContent bundles when its size would grow beyond max group size
    
    Signed-off-by: Ferenc Gerlits <fg...@gmail.com>
    This closes #1449
---
 extensions/libarchive/BinFiles.h                |  7 ++-
 libminifi/test/archive-tests/MergeFileTests.cpp | 66 +++++++++++++++++++++++++
 2 files changed, 71 insertions(+), 2 deletions(-)

diff --git a/extensions/libarchive/BinFiles.h b/extensions/libarchive/BinFiles.h
index 71cece114..dcc55974f 100644
--- a/extensions/libarchive/BinFiles.h
+++ b/extensions/libarchive/BinFiles.h
@@ -63,7 +63,7 @@ class Bin {
   }
   // check whether the bin meet the min required size and entries so that it can be processed for merge
   [[nodiscard]] bool isReadyForMerge() const {
-    return isFull() || (queued_data_size_ >= minSize_ && queue_.size() >= minEntries_);
+    return closed_ || isFull() || (queued_data_size_ >= minSize_ && queue_.size() >= minEntries_);
   }
   // check whether the bin is older than the time specified in msec
   [[nodiscard]] bool isOlderThan(const std::chrono::milliseconds duration) const {
@@ -87,8 +87,10 @@ class Bin {
       }
     }
 
-    if ((queued_data_size_ + flow->getSize()) > maxSize_ || (queue_.size() + 1) > maxEntries_)
+    if ((queued_data_size_ + flow->getSize()) > maxSize_ || (queue_.size() + 1) > maxEntries_) {
+      closed_ = true;
       return false;
+    }
 
     queue_.push_back(flow);
     queued_data_size_ += flow->getSize();
@@ -119,6 +121,7 @@ class Bin {
   size_t minEntries_;
   // Queued data size
   uint64_t queued_data_size_;
+  bool closed_{false};
   // Queue for the Flow File
   std::deque<std::shared_ptr<core::FlowFile>> queue_;
   std::chrono::system_clock::time_point creation_dated_;
diff --git a/libminifi/test/archive-tests/MergeFileTests.cpp b/libminifi/test/archive-tests/MergeFileTests.cpp
index d3bb0c1c0..4152dc8de 100644
--- a/libminifi/test/archive-tests/MergeFileTests.cpp
+++ b/libminifi/test/archive-tests/MergeFileTests.cpp
@@ -822,3 +822,69 @@ TEST_CASE_METHOD(MergeTestController, "Batch Size", "[testMergeFileBatchSize]")
     REQUIRE(callback.to_string() == expected[1]);
   }
 }
+
+TEST_CASE_METHOD(MergeTestController, "Maximum Group Size is respected", "[testMergeFileMaximumGroupSize]") {
+  // each flowfile content is 32 bytes
+  for (auto& ff : flowFileContents_) {
+    REQUIRE(ff.length() == 32);
+  }
+  std::string expected[2]{
+      flowFileContents_[0] + flowFileContents_[1],
+      flowFileContents_[2] + flowFileContents_[3]
+  };
+
+  context_->setProperty(minifi::processors::MergeContent::MergeFormat, minifi::processors::merge_content_options::MERGE_FORMAT_CONCAT_VALUE);
+  context_->setProperty(minifi::processors::MergeContent::MergeStrategy, minifi::processors::merge_content_options::MERGE_STRATEGY_BIN_PACK);
+  context_->setProperty(minifi::processors::MergeContent::DelimiterStrategy, minifi::processors::merge_content_options::DELIMITER_STRATEGY_TEXT);
+  context_->setProperty(minifi::processors::BinFiles::BatchSize, "1000");
+
+  // we want a bit more than 2 flowfiles
+  context_->setProperty(minifi::processors::BinFiles::MinSize, "65");
+  context_->setProperty(minifi::processors::BinFiles::MaxSize, "65");
+
+  context_->setProperty(minifi::processors::BinFiles::MinEntries, "3");
+  context_->setProperty(minifi::processors::BinFiles::MaxEntries, "3");
+
+  core::ProcessSession sessionGenFlowFile(context_);
+  // enqueue 6 (six) flowFiles
+  for (const int i : {0, 1, 2, 3, 4, 5}) {
+    const auto flow = sessionGenFlowFile.create();
+    sessionGenFlowFile.writeBuffer(flow, flowFileContents_[i]);
+    sessionGenFlowFile.flushContent();
+    input_->put(flow);
+  }
+
+  REQUIRE(merge_content_processor_->getName() == "mergecontent");
+  auto factory = std::make_shared<core::ProcessSessionFactory>(context_);
+  merge_content_processor_->onSchedule(context_, factory);
+  // a single trigger is enough to process all five flowFiles
+  {
+    auto session = std::make_shared<core::ProcessSession>(context_);
+    merge_content_processor_->onTrigger(context_, session);
+    session->commit();
+  }
+  // validate the merge content
+  std::set<std::shared_ptr<core::FlowFile>> expiredFlowRecords;
+  std::shared_ptr<core::FlowFile> flow1 = output_->poll(expiredFlowRecords);
+  REQUIRE(expiredFlowRecords.empty());
+  REQUIRE(flow1);
+  {
+    FixedBuffer callback(gsl::narrow<size_t>(flow1->getSize()));
+    sessionGenFlowFile.read(flow1, std::ref(callback));
+    REQUIRE(callback.to_string() == expected[0]);
+  }
+
+  std::shared_ptr<core::FlowFile> flow2 = output_->poll(expiredFlowRecords);
+  REQUIRE(expiredFlowRecords.empty());
+  REQUIRE(flow2);
+  {
+    FixedBuffer callback(gsl::narrow<size_t>(flow2->getSize()));
+    sessionGenFlowFile.read(flow2, std::ref(callback));
+    REQUIRE(callback.to_string() == expected[1]);
+  }
+
+  // no more flowfiles
+  std::shared_ptr<core::FlowFile> flow3 = output_->poll(expiredFlowRecords);
+  REQUIRE(expiredFlowRecords.empty());
+  REQUIRE_FALSE(flow3);
+}


[nifi-minifi-cpp] 01/04: MINIFICPP-1958 - CoreComponent should pass strings by value and move them in constructor

Posted by fg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit ffd02405ac3333f6eb50fcfa6cb6e5ac671feeb2
Author: Adam Markovics <nu...@gmail.com>
AuthorDate: Wed Oct 12 13:20:47 2022 +0200

    MINIFICPP-1958  - CoreComponent should pass strings by value and move them in constructor
    
    Signed-off-by: Ferenc Gerlits <fg...@gmail.com>
    This closes #1433
---
 .../aws/controllerservices/AWSCredentialsService.h | 23 +++------
 extensions/aws/processors/DeleteS3Object.h         |  4 +-
 extensions/aws/processors/FetchS3Object.h          |  4 +-
 extensions/aws/processors/ListS3.h                 |  4 +-
 extensions/aws/processors/PutS3Object.h            |  4 +-
 extensions/aws/processors/S3Processor.cpp          |  4 +-
 extensions/aws/processors/S3Processor.h            | 16 ++-----
 .../AzureStorageCredentialsService.h               |  9 ++--
 .../processors/AzureBlobStorageProcessorBase.h     |  8 ++--
 .../AzureBlobStorageSingleBlobProcessorBase.h      |  8 ++--
 .../AzureDataLakeStorageFileProcessorBase.h        |  8 ++--
 .../processors/AzureDataLakeStorageProcessorBase.h |  8 ++--
 .../azure/processors/AzureStorageProcessorBase.h   |  5 +-
 .../azure/processors/DeleteAzureBlobStorage.h      |  8 ++--
 .../azure/processors/DeleteAzureDataLakeStorage.h  |  8 ++--
 .../azure/processors/FetchAzureBlobStorage.h       |  8 ++--
 .../azure/processors/FetchAzureDataLakeStorage.h   |  8 ++--
 extensions/azure/processors/ListAzureBlobStorage.h |  8 ++--
 .../azure/processors/ListAzureDataLakeStorage.h    |  8 ++--
 extensions/azure/processors/PutAzureBlobStorage.h  |  8 ++--
 .../azure/processors/PutAzureDataLakeStorage.h     |  8 ++--
 extensions/bustache/ApplyTemplate.h                |  5 +-
 extensions/civetweb/processors/ListenHTTP.h        |  4 +-
 extensions/civetweb/protocols/RESTReceiver.cpp     |  4 +-
 extensions/civetweb/protocols/RESTReceiver.h       |  2 +-
 extensions/coap/controllerservice/CoapConnector.h  |  4 +-
 extensions/coap/protocols/CoapC2Protocol.cpp       |  4 +-
 extensions/coap/protocols/CoapC2Protocol.h         |  2 +-
 extensions/coap/server/CoapServer.h                | 16 ++-----
 .../ExpressionContextBuilder.cpp                   |  8 ++--
 .../expression-language/ExpressionContextBuilder.h |  5 +-
 extensions/gcp/processors/DeleteGCSObject.h        |  7 +--
 extensions/gcp/processors/FetchGCSObject.h         |  7 +--
 extensions/gcp/processors/GCSProcessor.h           |  4 +-
 extensions/gcp/processors/ListGCSBucket.h          |  7 +--
 extensions/gcp/processors/PutGCSObject.h           |  7 +--
 extensions/gps/GetGPS.h                            | 19 +++-----
 extensions/http-curl/client/HTTPClient.cpp         |  4 +-
 extensions/http-curl/client/HTTPClient.h           |  2 +-
 extensions/http-curl/processors/InvokeHTTP.h       |  5 +-
 extensions/http-curl/protocols/AgentPrinter.cpp    |  6 +--
 extensions/http-curl/protocols/AgentPrinter.h      |  2 +-
 extensions/http-curl/protocols/RESTSender.cpp      |  4 +-
 extensions/http-curl/protocols/RESTSender.h        |  2 +-
 extensions/http-curl/sitetosite/HTTPProtocol.h     |  2 +-
 extensions/jni/ExecuteJavaControllerService.h      | 19 ++------
 extensions/jni/ExecuteJavaProcessor.h              | 21 +++-----
 extensions/jni/JVMCreator.h                        |  9 ++--
 extensions/jni/jvm/JavaControllerService.h         |  4 +-
 extensions/jni/jvm/JniConfigurationContext.h       | 19 +++-----
 extensions/libarchive/CompressContent.h            |  4 +-
 extensions/libarchive/FocusArchiveEntry.h          |  5 +-
 extensions/libarchive/ManipulateArchive.h          | 19 +++-----
 extensions/libarchive/UnfocusArchiveEntry.h        |  5 +-
 extensions/librdkafka/ConsumeKafka.h               |  4 +-
 extensions/librdkafka/KafkaProcessorBase.h         |  7 +--
 extensions/librdkafka/PublishKafka.h               |  4 +-
 extensions/mqtt/processors/AbstractMQTTProcessor.h |  5 +-
 extensions/mqtt/processors/ConsumeMQTT.h           |  4 +-
 extensions/mqtt/processors/PublishMQTT.h           |  4 +-
 extensions/opc/include/fetchopc.h                  |  5 +-
 extensions/opc/include/opcbase.h                   |  5 +-
 extensions/opc/include/putopc.h                    |  5 +-
 extensions/opencv/CaptureRTSPFrame.h               |  4 +-
 extensions/opencv/MotionDetector.h                 | 17 ++-----
 .../SourceInitiatedSubscriptionListener.cpp        |  4 +-
 .../SourceInitiatedSubscriptionListener.h          |  2 +-
 extensions/pcap/CapturePacket.h                    | 24 ++++------
 extensions/procfs/processors/ProcFsMonitor.h       |  4 +-
 .../rocksdb-repos/DatabaseContentRepository.h      |  7 +--
 extensions/rocksdb-repos/FlowFileRepository.h      |  8 ++--
 extensions/rocksdb-repos/ProvenanceRepository.h    |  8 ++--
 .../RocksDbPersistableKeyValueStoreService.cpp     |  5 +-
 .../RocksDbPersistableKeyValueStoreService.h       |  2 +-
 extensions/script/ExecuteScript.h                  |  4 +-
 extensions/script/python/ExecutePythonProcessor.h  | 19 ++------
 extensions/script/python/PythonCreator.h           | 16 ++-----
 extensions/sensors/GetEnvironmentalSensors.h       | 17 ++-----
 extensions/sensors/GetMovementSensors.h            | 17 ++-----
 extensions/sensors/SensorBase.h                    | 16 ++-----
 extensions/sftp/processors/FetchSFTP.cpp           |  4 +-
 extensions/sftp/processors/FetchSFTP.h             |  2 +-
 extensions/sftp/processors/ListSFTP.cpp            |  4 +-
 extensions/sftp/processors/ListSFTP.h              |  2 +-
 extensions/sftp/processors/PutSFTP.cpp             |  4 +-
 extensions/sftp/processors/PutSFTP.h               |  2 +-
 extensions/sftp/processors/SFTPProcessorBase.cpp   |  4 +-
 extensions/sftp/processors/SFTPProcessorBase.h     |  2 +-
 extensions/splunk/PutSplunkHTTP.h                  |  7 +--
 extensions/splunk/QuerySplunkIndexingStatus.h      |  7 +--
 extensions/splunk/SplunkHECProcessor.h             |  8 ++--
 extensions/sql/processors/ExecuteSQL.cpp           |  4 +-
 extensions/sql/processors/ExecuteSQL.h             | 15 ++----
 extensions/sql/processors/PutSQL.cpp               |  4 +-
 extensions/sql/processors/PutSQL.h                 |  2 +-
 extensions/sql/processors/QueryDatabaseTable.cpp   |  4 +-
 extensions/sql/processors/QueryDatabaseTable.h     | 14 ++----
 extensions/sql/processors/SQLProcessor.h           | 16 ++-----
 extensions/sql/services/DatabaseService.h          |  8 ++--
 extensions/sql/services/ODBCConnector.h            |  8 ++--
 .../UnorderedMapKeyValueStoreService.cpp           |  8 ++--
 .../controllers/UnorderedMapKeyValueStoreService.h |  4 +-
 ...UnorderedMapPersistableKeyValueStoreService.cpp |  8 ++--
 .../UnorderedMapPersistableKeyValueStoreService.h  |  4 +-
 .../processors/AppendHostInfo.h                    | 19 +++-----
 .../processors/AttributesToJSON.h                  | 25 ++++------
 .../processors/DefragmentText.h                    |  7 +--
 .../processors/ExecuteProcess.h                    |  5 +-
 .../standard-processors/processors/ExtractText.h   |  5 +-
 .../standard-processors/processors/FetchFile.h     |  7 +--
 .../processors/GenerateFlowFile.h                  |  4 +-
 .../standard-processors/processors/GetFile.h       |  4 +-
 extensions/standard-processors/processors/GetTCP.h |  4 +-
 .../standard-processors/processors/HashContent.h   |  4 +-
 .../standard-processors/processors/ListFile.h      | 11 +++--
 .../standard-processors/processors/ListenSyslog.h  |  4 +-
 .../standard-processors/processors/ListenTCP.h     |  5 +-
 .../standard-processors/processors/LogAttribute.h  |  4 +-
 .../processors/NetworkListenerProcessor.h          |  4 +-
 .../standard-processors/processors/PutFile.h       |  4 +-
 .../standard-processors/processors/PutUDP.cpp      |  4 +-
 extensions/standard-processors/processors/PutUDP.h |  3 +-
 .../standard-processors/processors/ReplaceText.cpp |  4 +-
 .../standard-processors/processors/ReplaceText.h   |  2 +-
 .../standard-processors/processors/RetryFlowFile.h | 16 ++-----
 .../processors/RouteOnAttribute.h                  | 17 ++-----
 .../standard-processors/processors/RouteText.cpp   |  4 +-
 .../standard-processors/processors/RouteText.h     |  2 +-
 .../standard-processors/processors/TailFile.h      |  4 +-
 .../processors/UpdateAttribute.h                   | 17 ++-----
 .../tests/unit/DefragmentTextTests.cpp             |  4 +-
 .../tests/unit/ProcessorTests.cpp                  |  4 +-
 extensions/systemd/ConsumeJournald.cpp             |  4 +-
 extensions/systemd/ConsumeJournald.h               | 11 ++---
 extensions/test-processors/KamikazeProcessor.h     |  7 +--
 .../test-processors/LogOnDestructionProcessor.h    |  5 +-
 extensions/usb-camera/GetUSBCamera.h               | 17 ++-----
 libminifi/include/Connection.h                     | 10 ++--
 libminifi/include/RemoteProcessorGroupPort.h       |  6 +--
 libminifi/include/c2/C2Protocol.h                  | 17 ++-----
 libminifi/include/c2/C2Trigger.h                   | 21 +++-----
 libminifi/include/c2/ControllerSocketProtocol.h    |  5 +-
 libminifi/include/c2/HeartbeatLogger.h             |  2 +-
 libminifi/include/c2/HeartbeatReporter.h           | 40 ++++++----------
 libminifi/include/c2/triggers/FileUpdateTrigger.h  |  8 ++--
 .../controllers/LinuxPowerManagementService.h      |  8 ++--
 .../controllers/NetworkPrioritizerService.h        |  8 ++--
 libminifi/include/controllers/SSLContextService.h  | 11 +++--
 .../include/controllers/ThreadManagementService.h  | 24 ++++------
 .../controllers/UpdatePolicyControllerService.h    | 14 +++---
 .../AbstractAutoPersistingKeyValueStoreService.h   |  2 +-
 .../controllers/keyvalue/KeyValueStoreService.h    | 14 ++----
 .../keyvalue/PersistableKeyValueStoreService.h     | 14 ++----
 libminifi/include/core/Connectable.h               |  4 +-
 libminifi/include/core/Core.h                      |  8 ++--
 libminifi/include/core/Funnel.h                    |  7 +--
 libminifi/include/core/ProcessContextBuilder.h     |  4 +-
 libminifi/include/core/ProcessGroup.h              | 14 ++----
 libminifi/include/core/Processor.h                 |  4 +-
 libminifi/include/core/ProcessorNode.h             | 19 +++-----
 libminifi/include/core/Repository.h                |  4 +-
 libminifi/include/core/SerializableComponent.h     |  9 ++--
 .../include/core/controller/ControllerService.h    | 39 +++++----------
 .../core/controller/ControllerServiceNode.h        | 36 +++++---------
 .../core/controller/ControllerServiceProvider.h    | 29 ++++-------
 .../controller/StandardControllerServiceNode.h     | 11 +++--
 .../reporting/SiteToSiteProvenanceReportingTask.h  | 35 +++++---------
 .../include/core/repository/FileSystemRepository.h |  5 +-
 .../include/core/state/nodes/AgentInformation.h    | 56 +++++++++++-----------
 .../include/core/state/nodes/BuildInformation.h    |  9 ++--
 .../core/state/nodes/ConfigurationChecksums.h      |  3 +-
 .../include/core/state/nodes/DeviceInformation.h   | 15 +++---
 .../include/core/state/nodes/FlowInformation.h     | 16 +++----
 libminifi/include/core/state/nodes/MetricsBase.h   | 34 +++++++------
 .../include/core/state/nodes/RepositoryMetrics.h   |  8 ++--
 .../include/core/state/nodes/SchedulingNodes.h     | 10 ++--
 libminifi/include/core/state/nodes/StateMonitor.h  | 23 +++------
 .../include/core/state/nodes/SupportedOperations.h |  4 +-
 libminifi/include/provenance/Provenance.h          |  5 --
 libminifi/include/sitetosite/RawSocketProtocol.h   |  6 +--
 libminifi/src/Connection.cpp                       | 20 ++++----
 libminifi/src/c2/HeartbeatLogger.cpp               |  4 +-
 .../AbstractAutoPersistingKeyValueStoreService.cpp |  4 +-
 .../controllers/keyvalue/KeyValueStoreService.cpp  | 19 ++------
 .../keyvalue/PersistableKeyValueStoreService.cpp   | 16 ++-----
 libminifi/src/core/Connectable.cpp                 |  8 ++--
 libminifi/src/core/Core.cpp                        |  8 ++--
 libminifi/src/core/ProcessContextBuilder.cpp       |  8 ++--
 libminifi/src/core/ProcessGroup.cpp                | 31 +++++-------
 libminifi/src/core/Processor.cpp                   |  8 ++--
 libminifi/src/core/RepositoryFactory.cpp           |  4 +-
 .../src/core/state/nodes/SupportedOperations.cpp   |  8 ++--
 libminifi/test/DummyProcessor.h                    |  5 +-
 libminifi/test/ReadFromFlowFileTestProcessor.h     |  9 ++--
 libminifi/test/WriteToFlowFileTestProcessor.h      |  4 +-
 libminifi/test/flow-tests/CustomProcessors.h       | 22 ++++-----
 .../test/persistence-tests/PersistenceTests.cpp    |  2 +-
 libminifi/test/sql-tests/mocks/MockODBCService.h   |  9 ++--
 libminifi/test/unit/MockClasses.h                  | 17 +++----
 nanofi/include/cxx/CallbackProcessor.h             | 16 ++-----
 200 files changed, 772 insertions(+), 1080 deletions(-)

diff --git a/extensions/aws/controllerservices/AWSCredentialsService.h b/extensions/aws/controllerservices/AWSCredentialsService.h
index 9d40076e0..dd9846e31 100644
--- a/extensions/aws/controllerservices/AWSCredentialsService.h
+++ b/extensions/aws/controllerservices/AWSCredentialsService.h
@@ -21,6 +21,7 @@
 #include <memory>
 #include <optional>
 #include <string>
+#include <utility>
 
 #include "aws/core/auth/AWSCredentials.h"
 
@@ -31,21 +32,16 @@
 
 class AWSCredentialsServiceTestAccessor;
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace aws {
-namespace controllers {
+namespace org::apache::nifi::minifi::aws::controllers {
 
 class AWSCredentialsService : public core::controller::ControllerService {
  public:
-  explicit AWSCredentialsService(const std::string &name, const minifi::utils::Identifier &uuid = {})
-      : ControllerService(name, uuid) {
+  explicit AWSCredentialsService(std::string name, const minifi::utils::Identifier &uuid = {})
+      : ControllerService(std::move(name), uuid) {
   }
 
-  explicit AWSCredentialsService(const std::string &name, const std::shared_ptr<Configure>& /*configuration*/)
-      : ControllerService(name) {
+  explicit AWSCredentialsService(std::string name, const std::shared_ptr<Configure>& /*configuration*/)
+      : ControllerService(std::move(name)) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "AWS Credentials Management Service";
@@ -91,9 +87,4 @@ class AWSCredentialsService : public core::controller::ControllerService {
   AWSCredentialsProvider aws_credentials_provider_;
 };
 
-}  // namespace controllers
-}  // namespace aws
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::aws::controllers
diff --git a/extensions/aws/processors/DeleteS3Object.h b/extensions/aws/processors/DeleteS3Object.h
index 8b3214cc2..1e5c1ca9c 100644
--- a/extensions/aws/processors/DeleteS3Object.h
+++ b/extensions/aws/processors/DeleteS3Object.h
@@ -68,8 +68,8 @@ class DeleteS3Object : public S3Processor {
  private:
   friend class ::S3TestsFixture<DeleteS3Object>;
 
-  explicit DeleteS3Object(const std::string& name, const minifi::utils::Identifier& uuid, std::unique_ptr<aws::s3::S3RequestSender> s3_request_sender)
-    : S3Processor(name, uuid, core::logging::LoggerFactory<DeleteS3Object>::getLogger(), std::move(s3_request_sender)) {
+  explicit DeleteS3Object(std::string name, const minifi::utils::Identifier& uuid, std::unique_ptr<aws::s3::S3RequestSender> s3_request_sender)
+    : S3Processor(std::move(name), uuid, core::logging::LoggerFactory<DeleteS3Object>::getLogger(), std::move(s3_request_sender)) {
   }
 
   std::optional<aws::s3::DeleteObjectRequestParameters> buildDeleteS3RequestParams(
diff --git a/extensions/aws/processors/FetchS3Object.h b/extensions/aws/processors/FetchS3Object.h
index 49377ee77..afb8e7902 100644
--- a/extensions/aws/processors/FetchS3Object.h
+++ b/extensions/aws/processors/FetchS3Object.h
@@ -60,8 +60,8 @@ class FetchS3Object : public S3Processor {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit FetchS3Object(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : S3Processor(name, uuid, core::logging::LoggerFactory<FetchS3Object>::getLogger()) {
+  explicit FetchS3Object(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : S3Processor(std::move(name), uuid, core::logging::LoggerFactory<FetchS3Object>::getLogger()) {
   }
 
   ~FetchS3Object() override = default;
diff --git a/extensions/aws/processors/ListS3.h b/extensions/aws/processors/ListS3.h
index 88a7c4d8d..db1ddb49d 100644
--- a/extensions/aws/processors/ListS3.h
+++ b/extensions/aws/processors/ListS3.h
@@ -62,8 +62,8 @@ class ListS3 : public S3Processor {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit ListS3(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : S3Processor(name, uuid, core::logging::LoggerFactory<ListS3>::getLogger()) {
+  explicit ListS3(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : S3Processor(std::move(name), uuid, core::logging::LoggerFactory<ListS3>::getLogger()) {
   }
   explicit ListS3(const std::string& name, minifi::utils::Identifier uuid, std::unique_ptr<aws::s3::S3RequestSender> s3_request_sender)
     : S3Processor(name, uuid, core::logging::LoggerFactory<ListS3>::getLogger(), std::move(s3_request_sender)) {
diff --git a/extensions/aws/processors/PutS3Object.h b/extensions/aws/processors/PutS3Object.h
index 42ef343f3..6a743e9b4 100644
--- a/extensions/aws/processors/PutS3Object.h
+++ b/extensions/aws/processors/PutS3Object.h
@@ -80,8 +80,8 @@ class PutS3Object : public S3Processor {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit PutS3Object(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : S3Processor(name, uuid, core::logging::LoggerFactory<PutS3Object>::getLogger()) {
+  explicit PutS3Object(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : S3Processor(std::move(name), uuid, core::logging::LoggerFactory<PutS3Object>::getLogger()) {
   }
 
   ~PutS3Object() override = default;
diff --git a/extensions/aws/processors/S3Processor.cpp b/extensions/aws/processors/S3Processor.cpp
index 34cd77bad..5503f9405 100644
--- a/extensions/aws/processors/S3Processor.cpp
+++ b/extensions/aws/processors/S3Processor.cpp
@@ -30,8 +30,8 @@
 
 namespace org::apache::nifi::minifi::aws::processors {
 
-S3Processor::S3Processor(const std::string& name, const minifi::utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
-  : core::Processor(name, uuid),
+S3Processor::S3Processor(std::string name, const minifi::utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
+  : core::Processor(std::move(name), uuid),
     logger_(std::move(logger)) {
 }
 
diff --git a/extensions/aws/processors/S3Processor.h b/extensions/aws/processors/S3Processor.h
index 10cfc50d1..d1c522456 100644
--- a/extensions/aws/processors/S3Processor.h
+++ b/extensions/aws/processors/S3Processor.h
@@ -36,12 +36,7 @@
 #include "core/logging/LoggerConfiguration.h"
 #include "utils/OptionalUtils.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace aws {
-namespace processors {
+namespace org::apache::nifi::minifi::aws::processors {
 
 namespace region {
 
@@ -116,7 +111,7 @@ class S3Processor : public core::Processor {
     };
   }
 
-  explicit S3Processor(const std::string& name, const minifi::utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger);
+  explicit S3Processor(std::string name, const minifi::utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger);
 
   void onSchedule(const std::shared_ptr<core::ProcessContext> &context, const std::shared_ptr<core::ProcessSessionFactory> &sessionFactory) override;
 
@@ -133,9 +128,4 @@ class S3Processor : public core::Processor {
   std::optional<Aws::Client::ClientConfiguration> client_config_;
 };
 
-}  // namespace processors
-}  // namespace aws
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::aws::processors
diff --git a/extensions/azure/controllerservices/AzureStorageCredentialsService.h b/extensions/azure/controllerservices/AzureStorageCredentialsService.h
index ecc641636..b6d6f1593 100644
--- a/extensions/azure/controllerservices/AzureStorageCredentialsService.h
+++ b/extensions/azure/controllerservices/AzureStorageCredentialsService.h
@@ -20,6 +20,7 @@
 
 #include <string>
 #include <memory>
+#include <utility>
 
 #include "core/controller/ControllerService.h"
 #include "core/logging/LoggerConfiguration.h"
@@ -52,12 +53,12 @@ class AzureStorageCredentialsService : public core::controller::ControllerServic
   EXTENSIONAPI static constexpr bool SupportsDynamicProperties = false;
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_CONTROLLER_SERVICES
 
-  explicit AzureStorageCredentialsService(const std::string& name, const minifi::utils::Identifier& uuid = {})
-      : ControllerService(name, uuid) {
+  explicit AzureStorageCredentialsService(std::string name, const minifi::utils::Identifier& uuid = {})
+      : ControllerService(std::move(name), uuid) {
   }
 
-  explicit AzureStorageCredentialsService(const std::string& name, const std::shared_ptr<Configure>& /*configuration*/)
-      : ControllerService(name) {
+  explicit AzureStorageCredentialsService(std::string name, const std::shared_ptr<Configure>& /*configuration*/)
+      : ControllerService(std::move(name)) {
   }
 
   void initialize() override;
diff --git a/extensions/azure/processors/AzureBlobStorageProcessorBase.h b/extensions/azure/processors/AzureBlobStorageProcessorBase.h
index b4970d481..a053445ec 100644
--- a/extensions/azure/processors/AzureBlobStorageProcessorBase.h
+++ b/extensions/azure/processors/AzureBlobStorageProcessorBase.h
@@ -55,19 +55,19 @@ class AzureBlobStorageProcessorBase : public AzureStorageProcessorBase {
     });
   }
 
-  explicit AzureBlobStorageProcessorBase(const std::string& name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger>& logger)
-    : AzureBlobStorageProcessorBase(name, uuid, logger, nullptr) {
+  explicit AzureBlobStorageProcessorBase(std::string name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger>& logger)
+    : AzureBlobStorageProcessorBase(std::move(name), uuid, logger, nullptr) {
   }
 
   void onSchedule(const std::shared_ptr<core::ProcessContext> &context, const std::shared_ptr<core::ProcessSessionFactory> &sessionFactory) override;
 
  protected:
   explicit AzureBlobStorageProcessorBase(
-    const std::string& name,
+    std::string name,
     const minifi::utils::Identifier& uuid,
     const std::shared_ptr<core::logging::Logger>& logger,
     std::unique_ptr<storage::BlobStorageClient> blob_storage_client)
-    : AzureStorageProcessorBase(name, uuid, logger),
+    : AzureStorageProcessorBase(std::move(name), uuid, logger),
       azure_blob_storage_(std::move(blob_storage_client)) {
   }
 
diff --git a/extensions/azure/processors/AzureBlobStorageSingleBlobProcessorBase.h b/extensions/azure/processors/AzureBlobStorageSingleBlobProcessorBase.h
index ed5d8f4c0..67be0f5d8 100644
--- a/extensions/azure/processors/AzureBlobStorageSingleBlobProcessorBase.h
+++ b/extensions/azure/processors/AzureBlobStorageSingleBlobProcessorBase.h
@@ -37,17 +37,17 @@ class AzureBlobStorageSingleBlobProcessorBase : public AzureBlobStorageProcessor
     return utils::array_cat(AzureBlobStorageProcessorBase::properties(), std::array{Blob});
   }
 
-  explicit AzureBlobStorageSingleBlobProcessorBase(const std::string& name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger>& logger)
-    : AzureBlobStorageSingleBlobProcessorBase(name, uuid, logger, nullptr) {
+  explicit AzureBlobStorageSingleBlobProcessorBase(std::string name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger>& logger)
+    : AzureBlobStorageSingleBlobProcessorBase(std::move(name), uuid, logger, nullptr) {
   }
 
  protected:
   explicit AzureBlobStorageSingleBlobProcessorBase(
-    const std::string& name,
+    std::string name,
     const minifi::utils::Identifier& uuid,
     const std::shared_ptr<core::logging::Logger>& logger,
     std::unique_ptr<storage::BlobStorageClient> blob_storage_client)
-    : AzureBlobStorageProcessorBase(name, uuid, logger, std::move(blob_storage_client)) {
+    : AzureBlobStorageProcessorBase(std::move(name), uuid, logger, std::move(blob_storage_client)) {
   }
 
   bool setBlobOperationParameters(
diff --git a/extensions/azure/processors/AzureDataLakeStorageFileProcessorBase.h b/extensions/azure/processors/AzureDataLakeStorageFileProcessorBase.h
index 17bc17863..9b9a284d5 100644
--- a/extensions/azure/processors/AzureDataLakeStorageFileProcessorBase.h
+++ b/extensions/azure/processors/AzureDataLakeStorageFileProcessorBase.h
@@ -33,16 +33,16 @@ class AzureDataLakeStorageFileProcessorBase : public AzureDataLakeStorageProcess
     return utils::array_cat(AzureDataLakeStorageProcessorBase::properties(), std::array{FileName});
   }
 
-  explicit AzureDataLakeStorageFileProcessorBase(const std::string& name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger> &logger)
-    : AzureDataLakeStorageProcessorBase(name, uuid, logger) {
+  explicit AzureDataLakeStorageFileProcessorBase(std::string name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger> &logger)
+    : AzureDataLakeStorageProcessorBase(std::move(name), uuid, logger) {
   }
 
   ~AzureDataLakeStorageFileProcessorBase() override = default;
 
  protected:
-  explicit AzureDataLakeStorageFileProcessorBase(const std::string& name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger> &logger,
+  explicit AzureDataLakeStorageFileProcessorBase(std::string name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger> &logger,
       std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
-    : AzureDataLakeStorageProcessorBase(name, uuid, logger, std::move(data_lake_storage_client)) {
+    : AzureDataLakeStorageProcessorBase(std::move(name), uuid, logger, std::move(data_lake_storage_client)) {
   }
 
   bool setFileOperationCommonParameters(
diff --git a/extensions/azure/processors/AzureDataLakeStorageProcessorBase.h b/extensions/azure/processors/AzureDataLakeStorageProcessorBase.h
index 298666fa6..46777c14a 100644
--- a/extensions/azure/processors/AzureDataLakeStorageProcessorBase.h
+++ b/extensions/azure/processors/AzureDataLakeStorageProcessorBase.h
@@ -45,8 +45,8 @@ class AzureDataLakeStorageProcessorBase : public AzureStorageProcessorBase {
     });
   }
 
-  explicit AzureDataLakeStorageProcessorBase(const std::string& name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger> &logger)
-    : AzureStorageProcessorBase(name, uuid, logger) {
+  explicit AzureDataLakeStorageProcessorBase(std::string name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger> &logger)
+    : AzureStorageProcessorBase(std::move(name), uuid, logger) {
   }
 
   ~AzureDataLakeStorageProcessorBase() override = default;
@@ -54,9 +54,9 @@ class AzureDataLakeStorageProcessorBase : public AzureStorageProcessorBase {
   void onSchedule(const std::shared_ptr<core::ProcessContext> &context, const std::shared_ptr<core::ProcessSessionFactory> &sessionFactory) override;
 
  protected:
-  explicit AzureDataLakeStorageProcessorBase(const std::string& name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger> &logger,
+  explicit AzureDataLakeStorageProcessorBase(std::string name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger> &logger,
     std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
-    : AzureStorageProcessorBase(name, uuid, logger),
+    : AzureStorageProcessorBase(std::move(name), uuid, logger),
       azure_data_lake_storage_(std::move(data_lake_storage_client)) {
   }
 
diff --git a/extensions/azure/processors/AzureStorageProcessorBase.h b/extensions/azure/processors/AzureStorageProcessorBase.h
index 715d5d030..ee15c1455 100644
--- a/extensions/azure/processors/AzureStorageProcessorBase.h
+++ b/extensions/azure/processors/AzureStorageProcessorBase.h
@@ -23,6 +23,7 @@
 #include <memory>
 #include <string>
 #include <optional>
+#include <utility>
 #include <tuple>
 
 #include "core/Property.h"
@@ -37,8 +38,8 @@ class AzureStorageProcessorBase : public core::Processor {
   EXTENSIONAPI static const core::Property AzureStorageCredentialsService;
   static auto properties() { return std::array{AzureStorageCredentialsService}; }
 
-  AzureStorageProcessorBase(const std::string& name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger>& logger)
-    : core::Processor(name, uuid),
+  AzureStorageProcessorBase(std::string name, const minifi::utils::Identifier& uuid, const std::shared_ptr<core::logging::Logger>& logger)
+    : core::Processor(std::move(name), uuid),
       logger_(logger) {
   }
 
diff --git a/extensions/azure/processors/DeleteAzureBlobStorage.h b/extensions/azure/processors/DeleteAzureBlobStorage.h
index 22a8e51a3..8165beb29 100644
--- a/extensions/azure/processors/DeleteAzureBlobStorage.h
+++ b/extensions/azure/processors/DeleteAzureBlobStorage.h
@@ -56,8 +56,8 @@ class DeleteAzureBlobStorage final : public AzureBlobStorageSingleBlobProcessorB
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit DeleteAzureBlobStorage(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : DeleteAzureBlobStorage(name, uuid, nullptr) {
+  explicit DeleteAzureBlobStorage(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : DeleteAzureBlobStorage(std::move(name), uuid, nullptr) {
   }
 
   void initialize() override;
@@ -67,8 +67,8 @@ class DeleteAzureBlobStorage final : public AzureBlobStorageSingleBlobProcessorB
  private:
   friend class ::AzureBlobStorageTestsFixture<DeleteAzureBlobStorage>;
 
-  explicit DeleteAzureBlobStorage(const std::string& name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::BlobStorageClient> blob_storage_client)
-    : AzureBlobStorageSingleBlobProcessorBase(name, uuid, core::logging::LoggerFactory<DeleteAzureBlobStorage>::getLogger(), std::move(blob_storage_client)) {
+  explicit DeleteAzureBlobStorage(std::string name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::BlobStorageClient> blob_storage_client)
+    : AzureBlobStorageSingleBlobProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<DeleteAzureBlobStorage>::getLogger(), std::move(blob_storage_client)) {
   }
 
   std::optional<storage::DeleteAzureBlobStorageParameters> buildDeleteAzureBlobStorageParameters(
diff --git a/extensions/azure/processors/DeleteAzureDataLakeStorage.h b/extensions/azure/processors/DeleteAzureDataLakeStorage.h
index ea5f6277b..b4135d7b7 100644
--- a/extensions/azure/processors/DeleteAzureDataLakeStorage.h
+++ b/extensions/azure/processors/DeleteAzureDataLakeStorage.h
@@ -48,8 +48,8 @@ class DeleteAzureDataLakeStorage final : public AzureDataLakeStorageFileProcesso
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit DeleteAzureDataLakeStorage(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : AzureDataLakeStorageFileProcessorBase(name, uuid, core::logging::LoggerFactory<DeleteAzureDataLakeStorage>::getLogger()) {
+  explicit DeleteAzureDataLakeStorage(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : AzureDataLakeStorageFileProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<DeleteAzureDataLakeStorage>::getLogger()) {
   }
 
   ~DeleteAzureDataLakeStorage() override = default;
@@ -60,8 +60,8 @@ class DeleteAzureDataLakeStorage final : public AzureDataLakeStorageFileProcesso
  private:
   friend class ::AzureDataLakeStorageTestsFixture<DeleteAzureDataLakeStorage>;
 
-  explicit DeleteAzureDataLakeStorage(const std::string& name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
-    : AzureDataLakeStorageFileProcessorBase(name, uuid, core::logging::LoggerFactory<DeleteAzureDataLakeStorage>::getLogger(), std::move(data_lake_storage_client)) {
+  explicit DeleteAzureDataLakeStorage(std::string name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
+    : AzureDataLakeStorageFileProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<DeleteAzureDataLakeStorage>::getLogger(), std::move(data_lake_storage_client)) {
   }
 
   std::optional<storage::DeleteAzureDataLakeStorageParameters> buildDeleteParameters(core::ProcessContext& context, const std::shared_ptr<core::FlowFile>& flow_file);
diff --git a/extensions/azure/processors/FetchAzureBlobStorage.h b/extensions/azure/processors/FetchAzureBlobStorage.h
index 53d238f65..5edf8b0a4 100644
--- a/extensions/azure/processors/FetchAzureBlobStorage.h
+++ b/extensions/azure/processors/FetchAzureBlobStorage.h
@@ -60,8 +60,8 @@ class FetchAzureBlobStorage final : public AzureBlobStorageSingleBlobProcessorBa
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit FetchAzureBlobStorage(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : FetchAzureBlobStorage(name, uuid, nullptr) {
+  explicit FetchAzureBlobStorage(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : FetchAzureBlobStorage(std::move(name), uuid, nullptr) {
   }
 
   void initialize() override;
@@ -70,8 +70,8 @@ class FetchAzureBlobStorage final : public AzureBlobStorageSingleBlobProcessorBa
  private:
   friend class ::AzureBlobStorageTestsFixture<FetchAzureBlobStorage>;
 
-  explicit FetchAzureBlobStorage(const std::string& name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::BlobStorageClient> blob_storage_client)
-    : AzureBlobStorageSingleBlobProcessorBase(name, uuid, core::logging::LoggerFactory<FetchAzureBlobStorage>::getLogger(), std::move(blob_storage_client)) {
+  explicit FetchAzureBlobStorage(std::string name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::BlobStorageClient> blob_storage_client)
+    : AzureBlobStorageSingleBlobProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<FetchAzureBlobStorage>::getLogger(), std::move(blob_storage_client)) {
   }
 
   std::optional<storage::FetchAzureBlobStorageParameters> buildFetchAzureBlobStorageParameters(
diff --git a/extensions/azure/processors/FetchAzureDataLakeStorage.h b/extensions/azure/processors/FetchAzureDataLakeStorage.h
index f4d14265d..a1e7785d8 100644
--- a/extensions/azure/processors/FetchAzureDataLakeStorage.h
+++ b/extensions/azure/processors/FetchAzureDataLakeStorage.h
@@ -56,8 +56,8 @@ class FetchAzureDataLakeStorage final : public AzureDataLakeStorageFileProcessor
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit FetchAzureDataLakeStorage(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : AzureDataLakeStorageFileProcessorBase(name, uuid, core::logging::LoggerFactory<FetchAzureDataLakeStorage>::getLogger()) {
+  explicit FetchAzureDataLakeStorage(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : AzureDataLakeStorageFileProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<FetchAzureDataLakeStorage>::getLogger()) {
   }
 
   ~FetchAzureDataLakeStorage() override = default;
@@ -68,8 +68,8 @@ class FetchAzureDataLakeStorage final : public AzureDataLakeStorageFileProcessor
  private:
   friend class ::AzureDataLakeStorageTestsFixture<FetchAzureDataLakeStorage>;
 
-  explicit FetchAzureDataLakeStorage(const std::string& name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
-    : AzureDataLakeStorageFileProcessorBase(name, uuid, core::logging::LoggerFactory<FetchAzureDataLakeStorage>::getLogger(), std::move(data_lake_storage_client)) {
+  explicit FetchAzureDataLakeStorage(std::string name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
+    : AzureDataLakeStorageFileProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<FetchAzureDataLakeStorage>::getLogger(), std::move(data_lake_storage_client)) {
   }
 
   std::optional<storage::FetchAzureDataLakeStorageParameters> buildFetchParameters(core::ProcessContext& context, const std::shared_ptr<core::FlowFile>& flow_file);
diff --git a/extensions/azure/processors/ListAzureBlobStorage.h b/extensions/azure/processors/ListAzureBlobStorage.h
index 18740fabc..e552fd18d 100644
--- a/extensions/azure/processors/ListAzureBlobStorage.h
+++ b/extensions/azure/processors/ListAzureBlobStorage.h
@@ -60,12 +60,12 @@ class ListAzureBlobStorage final : public AzureBlobStorageProcessorBase {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit ListAzureBlobStorage(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : ListAzureBlobStorage(name, nullptr, uuid) {
+  explicit ListAzureBlobStorage(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : ListAzureBlobStorage(std::move(name), nullptr, uuid) {
   }
 
-  explicit ListAzureBlobStorage(const std::string& name, std::unique_ptr<storage::BlobStorageClient> blob_storage_client, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : AzureBlobStorageProcessorBase(name, uuid, core::logging::LoggerFactory<ListAzureBlobStorage>::getLogger(), std::move(blob_storage_client)) {
+  explicit ListAzureBlobStorage(std::string name, std::unique_ptr<storage::BlobStorageClient> blob_storage_client, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : AzureBlobStorageProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<ListAzureBlobStorage>::getLogger(), std::move(blob_storage_client)) {
   }
 
   void initialize() override;
diff --git a/extensions/azure/processors/ListAzureDataLakeStorage.h b/extensions/azure/processors/ListAzureDataLakeStorage.h
index 8ae04ba3d..93a0335a8 100644
--- a/extensions/azure/processors/ListAzureDataLakeStorage.h
+++ b/extensions/azure/processors/ListAzureDataLakeStorage.h
@@ -63,8 +63,8 @@ class ListAzureDataLakeStorage final : public AzureDataLakeStorageProcessorBase
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit ListAzureDataLakeStorage(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : AzureDataLakeStorageProcessorBase(name, uuid, core::logging::LoggerFactory<ListAzureDataLakeStorage>::getLogger()) {
+  explicit ListAzureDataLakeStorage(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : AzureDataLakeStorageProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<ListAzureDataLakeStorage>::getLogger()) {
   }
 
   ~ListAzureDataLakeStorage() override = default;
@@ -76,8 +76,8 @@ class ListAzureDataLakeStorage final : public AzureDataLakeStorageProcessorBase
  private:
   friend class ::ListAzureDataLakeStorageTestsFixture;
 
-  explicit ListAzureDataLakeStorage(const std::string& name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
-    : AzureDataLakeStorageProcessorBase(name, uuid, core::logging::LoggerFactory<ListAzureDataLakeStorage>::getLogger(), std::move(data_lake_storage_client)) {
+  explicit ListAzureDataLakeStorage(std::string name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
+    : AzureDataLakeStorageProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<ListAzureDataLakeStorage>::getLogger(), std::move(data_lake_storage_client)) {
   }
 
   std::optional<storage::ListAzureDataLakeStorageParameters> buildListParameters(core::ProcessContext& context);
diff --git a/extensions/azure/processors/PutAzureBlobStorage.h b/extensions/azure/processors/PutAzureBlobStorage.h
index 3f9574deb..e0e034d6a 100644
--- a/extensions/azure/processors/PutAzureBlobStorage.h
+++ b/extensions/azure/processors/PutAzureBlobStorage.h
@@ -57,8 +57,8 @@ class PutAzureBlobStorage final : public AzureBlobStorageSingleBlobProcessorBase
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit PutAzureBlobStorage(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : PutAzureBlobStorage(name, uuid, nullptr) {
+  explicit PutAzureBlobStorage(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : PutAzureBlobStorage(std::move(name), uuid, nullptr) {
   }
 
   void initialize() override;
@@ -99,8 +99,8 @@ class PutAzureBlobStorage final : public AzureBlobStorageSingleBlobProcessorBase
  private:
   friend class ::AzureBlobStorageTestsFixture<PutAzureBlobStorage>;
 
-  explicit PutAzureBlobStorage(const std::string& name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::BlobStorageClient> blob_storage_client)
-    : AzureBlobStorageSingleBlobProcessorBase(name, uuid, core::logging::LoggerFactory<PutAzureBlobStorage>::getLogger(), std::move(blob_storage_client)) {
+  explicit PutAzureBlobStorage(std::string name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::BlobStorageClient> blob_storage_client)
+    : AzureBlobStorageSingleBlobProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<PutAzureBlobStorage>::getLogger(), std::move(blob_storage_client)) {
   }
 
   std::optional<storage::PutAzureBlobStorageParameters> buildPutAzureBlobStorageParameters(core::ProcessContext &context, const std::shared_ptr<core::FlowFile> &flow_file);
diff --git a/extensions/azure/processors/PutAzureDataLakeStorage.h b/extensions/azure/processors/PutAzureDataLakeStorage.h
index 8fa3fffc4..9f3eb2ea5 100644
--- a/extensions/azure/processors/PutAzureDataLakeStorage.h
+++ b/extensions/azure/processors/PutAzureDataLakeStorage.h
@@ -61,8 +61,8 @@ class PutAzureDataLakeStorage final : public AzureDataLakeStorageFileProcessorBa
     (IGNORE_REQUEST, "ignore")
   )
 
-  explicit PutAzureDataLakeStorage(const std::string& name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
-    : PutAzureDataLakeStorage(name, uuid, nullptr) {
+  explicit PutAzureDataLakeStorage(std::string name, const minifi::utils::Identifier& uuid = minifi::utils::Identifier())
+    : PutAzureDataLakeStorage(std::move(name), uuid, nullptr) {
   }
 
   void initialize() override;
@@ -89,8 +89,8 @@ class PutAzureDataLakeStorage final : public AzureDataLakeStorageFileProcessorBa
     std::shared_ptr<core::logging::Logger> logger_;
   };
 
-  explicit PutAzureDataLakeStorage(const std::string& name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
-    : AzureDataLakeStorageFileProcessorBase(name, uuid, core::logging::LoggerFactory<PutAzureDataLakeStorage>::getLogger(), std::move(data_lake_storage_client)) {
+  explicit PutAzureDataLakeStorage(std::string name, const minifi::utils::Identifier& uuid, std::unique_ptr<storage::DataLakeStorageClient> data_lake_storage_client)
+    : AzureDataLakeStorageFileProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<PutAzureDataLakeStorage>::getLogger(), std::move(data_lake_storage_client)) {
   }
 
   std::optional<storage::PutAzureDataLakeStorageParameters> buildUploadParameters(core::ProcessContext& context, const std::shared_ptr<core::FlowFile>& flow_file);
diff --git a/extensions/bustache/ApplyTemplate.h b/extensions/bustache/ApplyTemplate.h
index bcafb82cd..5f7d22445 100644
--- a/extensions/bustache/ApplyTemplate.h
+++ b/extensions/bustache/ApplyTemplate.h
@@ -21,6 +21,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "core/Processor.h"
 #include "core/ProcessSession.h"
@@ -33,8 +34,8 @@ namespace org::apache::nifi::minifi::processors {
  */
 class ApplyTemplate : public core::Processor {
  public:
-  explicit ApplyTemplate(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {}
+  explicit ApplyTemplate(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {}
 
   EXTENSIONAPI static constexpr const char* Description = "Applies the mustache template specified by the \"Template\" property and writes the output to the flow file content. "
     "FlowFile attributes are used as template parameters.";
diff --git a/extensions/civetweb/processors/ListenHTTP.h b/extensions/civetweb/processors/ListenHTTP.h
index d8a647038..a43a17508 100644
--- a/extensions/civetweb/processors/ListenHTTP.h
+++ b/extensions/civetweb/processors/ListenHTTP.h
@@ -42,8 +42,8 @@ class ListenHTTP : public core::Processor {
  public:
   using FlowFileBufferPair = std::pair<std::shared_ptr<FlowFileRecord>, std::unique_ptr<io::BufferStream>>;
 
-  explicit ListenHTTP(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid),
+  explicit ListenHTTP(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid),
         batch_size_(0) {
     callbacks_.log_message = &logMessage;
     callbacks_.log_access = &logAccess;
diff --git a/extensions/civetweb/protocols/RESTReceiver.cpp b/extensions/civetweb/protocols/RESTReceiver.cpp
index 0fce43d4a..99fcaa2e7 100644
--- a/extensions/civetweb/protocols/RESTReceiver.cpp
+++ b/extensions/civetweb/protocols/RESTReceiver.cpp
@@ -38,8 +38,8 @@ int ssl_protocol_en(void* /*ssl_context*/, void* /*user_data*/) {
   return 0;
 }
 
-RESTReceiver::RESTReceiver(const std::string& name, const utils::Identifier& uuid)
-    : HeartbeatReporter(name, uuid) {
+RESTReceiver::RESTReceiver(std::string name, const utils::Identifier& uuid)
+    : HeartbeatReporter(std::move(name), uuid) {
 }
 
 void RESTReceiver::initialize(core::controller::ControllerServiceProvider* controller, state::StateMonitor* updateSink, const std::shared_ptr<Configure> &configure) {
diff --git a/extensions/civetweb/protocols/RESTReceiver.h b/extensions/civetweb/protocols/RESTReceiver.h
index f8c326e77..970ba6324 100644
--- a/extensions/civetweb/protocols/RESTReceiver.h
+++ b/extensions/civetweb/protocols/RESTReceiver.h
@@ -39,7 +39,7 @@ int ssl_protocol_en(void *ssl_context, void *user_data);
  */
 class RESTReceiver : public RESTProtocol, public HeartbeatReporter {
  public:
-  explicit RESTReceiver(const std::string& name, const utils::Identifier& uuid = {});
+  explicit RESTReceiver(std::string name, const utils::Identifier& uuid = {});
 
   EXTENSIONAPI static constexpr const char* Description = "Provides a webserver to display C2 heartbeat information";
 
diff --git a/extensions/coap/controllerservice/CoapConnector.h b/extensions/coap/controllerservice/CoapConnector.h
index f8ecb6ae5..84d5bf1a8 100644
--- a/extensions/coap/controllerservice/CoapConnector.h
+++ b/extensions/coap/controllerservice/CoapConnector.h
@@ -40,8 +40,8 @@ namespace org::apache::nifi::minifi::coap::controllers {
  */
 class CoapConnectorService : public core::controller::ControllerService {
  public:
-  explicit CoapConnectorService(const std::string &name, const utils::Identifier &uuid = {})
-      : ControllerService(name, uuid) {
+  explicit CoapConnectorService(std::string name, const utils::Identifier &uuid = {})
+      : ControllerService(std::move(name), uuid) {
     initialize();
   }
 
diff --git a/extensions/coap/protocols/CoapC2Protocol.cpp b/extensions/coap/protocols/CoapC2Protocol.cpp
index a08b5fd72..7e7968ac1 100644
--- a/extensions/coap/protocols/CoapC2Protocol.cpp
+++ b/extensions/coap/protocols/CoapC2Protocol.cpp
@@ -27,8 +27,8 @@ namespace org::apache::nifi::minifi::coap::c2 {
 
 uint8_t CoapProtocol::REGISTRATION_MSG[8] = { 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72 };
 
-CoapProtocol::CoapProtocol(const std::string &name, const utils::Identifier &uuid)
-    : RESTSender(name, uuid),
+CoapProtocol::CoapProtocol(std::string name, const utils::Identifier &uuid)
+    : RESTSender(std::move(name), uuid),
       require_registration_(false) {
 }
 
diff --git a/extensions/coap/protocols/CoapC2Protocol.h b/extensions/coap/protocols/CoapC2Protocol.h
index b1b9de93d..376d5cc0c 100644
--- a/extensions/coap/protocols/CoapC2Protocol.h
+++ b/extensions/coap/protocols/CoapC2Protocol.h
@@ -55,7 +55,7 @@ namespace org::apache::nifi::minifi::coap::c2 {
  */
 class CoapProtocol : public minifi::c2::RESTSender {
  public:
-  explicit CoapProtocol(const std::string &name, const utils::Identifier &uuid = utils::Identifier());
+  explicit CoapProtocol(std::string name, const utils::Identifier &uuid = utils::Identifier());
 
   ~CoapProtocol() override;
 
diff --git a/extensions/coap/server/CoapServer.h b/extensions/coap/server/CoapServer.h
index 24be63616..dc0fe6a99 100644
--- a/extensions/coap/server/CoapServer.h
+++ b/extensions/coap/server/CoapServer.h
@@ -32,11 +32,7 @@
 #include "coap_server.h"
 #include "coap_message.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace coap {
+namespace org::apache::nifi::minifi::coap {
 
 enum class Method {
   Get,
@@ -103,8 +99,8 @@ class CoapResponse {
  */
 class CoapServer : public core::Connectable {
  public:
-  explicit CoapServer(const std::string &name, const utils::Identifier &uuid)
-      : core::Connectable(name, uuid),
+  explicit CoapServer(std::string name, const utils::Identifier &uuid)
+      : core::Connectable(std::move(name), uuid),
         server_(nullptr),
         port_(0) {
     // TODO(_): this allows this class to be instantiated via the the class loader
@@ -239,8 +235,4 @@ class CoapServer : public core::Connectable {
   uint16_t port_;
 };
 
-} /* namespace coap */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::coap
diff --git a/extensions/expression-language/ExpressionContextBuilder.cpp b/extensions/expression-language/ExpressionContextBuilder.cpp
index 165da6cff..8c730a818 100644
--- a/extensions/expression-language/ExpressionContextBuilder.cpp
+++ b/extensions/expression-language/ExpressionContextBuilder.cpp
@@ -25,12 +25,12 @@
 
 namespace org::apache::nifi::minifi::core::expressions {
 
-ExpressionContextBuilder::ExpressionContextBuilder(const std::string &name, const minifi::utils::Identifier &uuid)
-    : core::ProcessContextBuilder(name, uuid) {
+ExpressionContextBuilder::ExpressionContextBuilder(std::string name, const minifi::utils::Identifier &uuid)
+    : core::ProcessContextBuilder(std::move(name), uuid) {
 }
 
-ExpressionContextBuilder::ExpressionContextBuilder(const std::string &name)
-    : core::ProcessContextBuilder(name) {
+ExpressionContextBuilder::ExpressionContextBuilder(std::string name)
+    : core::ProcessContextBuilder(std::move(name)) {
 }
 
 ExpressionContextBuilder::~ExpressionContextBuilder() = default;
diff --git a/extensions/expression-language/ExpressionContextBuilder.h b/extensions/expression-language/ExpressionContextBuilder.h
index 66cb215b5..7c20d859b 100644
--- a/extensions/expression-language/ExpressionContextBuilder.h
+++ b/extensions/expression-language/ExpressionContextBuilder.h
@@ -19,6 +19,7 @@
 
 #include <string>
 #include <memory>
+#include <utility>
 
 #include "core/ProcessContextBuilder.h"
 
@@ -33,9 +34,9 @@ namespace org::apache::nifi::minifi::core::expressions {
  */
 class ExpressionContextBuilder : public core::ProcessContextBuilder {
  public:
-  ExpressionContextBuilder(const std::string &name, const minifi::utils::Identifier &uuid);
+  ExpressionContextBuilder(std::string name, const minifi::utils::Identifier &uuid);
 
-  explicit ExpressionContextBuilder(const std::string &name);
+  explicit ExpressionContextBuilder(std::string name);
 
   virtual ~ExpressionContextBuilder();
 
diff --git a/extensions/gcp/processors/DeleteGCSObject.h b/extensions/gcp/processors/DeleteGCSObject.h
index 954db32a9..e3dd886e7 100644
--- a/extensions/gcp/processors/DeleteGCSObject.h
+++ b/extensions/gcp/processors/DeleteGCSObject.h
@@ -17,8 +17,9 @@
 
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "GCSProcessor.h"
 #include "core/logging/LoggerConfiguration.h"
@@ -28,8 +29,8 @@ namespace org::apache::nifi::minifi::extensions::gcp {
 
 class DeleteGCSObject : public GCSProcessor {
  public:
-  explicit DeleteGCSObject(const std::string& name, const utils::Identifier& uuid = {})
-      : GCSProcessor(name, uuid, core::logging::LoggerFactory<DeleteGCSObject>::getLogger()) {
+  explicit DeleteGCSObject(std::string name, const utils::Identifier& uuid = {})
+      : GCSProcessor(std::move(name), uuid, core::logging::LoggerFactory<DeleteGCSObject>::getLogger()) {
   }
   ~DeleteGCSObject() override = default;
 
diff --git a/extensions/gcp/processors/FetchGCSObject.h b/extensions/gcp/processors/FetchGCSObject.h
index c56892f5b..3036ff976 100644
--- a/extensions/gcp/processors/FetchGCSObject.h
+++ b/extensions/gcp/processors/FetchGCSObject.h
@@ -17,8 +17,9 @@
 
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "GCSProcessor.h"
 #include "google/cloud/storage/well_known_headers.h"
@@ -29,8 +30,8 @@ namespace org::apache::nifi::minifi::extensions::gcp {
 
 class FetchGCSObject : public GCSProcessor {
  public:
-  explicit FetchGCSObject(const std::string& name, const utils::Identifier& uuid = {})
-      : GCSProcessor(name, uuid, core::logging::LoggerFactory<FetchGCSObject>::getLogger()) {
+  explicit FetchGCSObject(std::string name, const utils::Identifier& uuid = {})
+      : GCSProcessor(std::move(name), uuid, core::logging::LoggerFactory<FetchGCSObject>::getLogger()) {
   }
   ~FetchGCSObject() override = default;
 
diff --git a/extensions/gcp/processors/GCSProcessor.h b/extensions/gcp/processors/GCSProcessor.h
index 78fcdd51e..dcb5e4e66 100644
--- a/extensions/gcp/processors/GCSProcessor.h
+++ b/extensions/gcp/processors/GCSProcessor.h
@@ -32,8 +32,8 @@
 namespace org::apache::nifi::minifi::extensions::gcp {
 class GCSProcessor : public core::Processor {
  public:
-  GCSProcessor(const std::string& name, const minifi::utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
-      : core::Processor(name, uuid),
+  GCSProcessor(std::string name, const minifi::utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
+      : core::Processor(std::move(name), uuid),
         logger_(std::move(logger)) {
   }
 
diff --git a/extensions/gcp/processors/ListGCSBucket.h b/extensions/gcp/processors/ListGCSBucket.h
index 9539d2e89..88e25ee99 100644
--- a/extensions/gcp/processors/ListGCSBucket.h
+++ b/extensions/gcp/processors/ListGCSBucket.h
@@ -17,8 +17,9 @@
 
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "GCSProcessor.h"
 #include "core/logging/LoggerConfiguration.h"
@@ -28,8 +29,8 @@ namespace org::apache::nifi::minifi::extensions::gcp {
 
 class ListGCSBucket : public GCSProcessor {
  public:
-  explicit ListGCSBucket(const std::string& name, const utils::Identifier& uuid = {})
-      : GCSProcessor(name, uuid, core::logging::LoggerFactory<ListGCSBucket>::getLogger()) {
+  explicit ListGCSBucket(std::string name, const utils::Identifier& uuid = {})
+      : GCSProcessor(std::move(name), uuid, core::logging::LoggerFactory<ListGCSBucket>::getLogger()) {
   }
   ~ListGCSBucket() override = default;
 
diff --git a/extensions/gcp/processors/PutGCSObject.h b/extensions/gcp/processors/PutGCSObject.h
index f17884cac..94d5ad53e 100644
--- a/extensions/gcp/processors/PutGCSObject.h
+++ b/extensions/gcp/processors/PutGCSObject.h
@@ -17,8 +17,9 @@
 
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "GCSProcessor.h"
 #include "core/logging/LoggerConfiguration.h"
@@ -39,8 +40,8 @@ class PutGCSObject : public GCSProcessor {
              (PUBLIC_READ_ONLY, "publicRead"),
              (PUBLIC_READ_WRITE, "publicReadWrite"));
 
-  explicit PutGCSObject(const std::string& name, const utils::Identifier& uuid = {})
-      : GCSProcessor(name, uuid, core::logging::LoggerFactory<PutGCSObject>::getLogger()) {
+  explicit PutGCSObject(std::string name, const utils::Identifier& uuid = {})
+      : GCSProcessor(std::move(name), uuid, core::logging::LoggerFactory<PutGCSObject>::getLogger()) {
   }
   ~PutGCSObject() override = default;
 
diff --git a/extensions/gps/GetGPS.h b/extensions/gps/GetGPS.h
index 1ade4d149..50e294525 100644
--- a/extensions/gps/GetGPS.h
+++ b/extensions/gps/GetGPS.h
@@ -19,22 +19,19 @@
  */
 #pragma once
 
-#include <memory>
 #include <string>
+#include <memory>
+#include <utility>
 
 #include "../FlowFileRecord.h"
 #include "../core/Processor.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class GetGPS : public core::Processor {
  public:
-  explicit GetGPS(const std::string& name, const utils::Identifier& uuid = {})
-      : core::Processor(name, uuid) {
+  explicit GetGPS(std::string name, const utils::Identifier& uuid = {})
+      : core::Processor(std::move(name), uuid) {
     gpsdHost_ = "localhost";
     gpsdPort_ = "2947";
     gpsdWaitTime_ = 50000000;
@@ -75,8 +72,4 @@ class GetGPS : public core::Processor {
   std::shared_ptr<core::logging::Logger> logger_ = core::logging::LoggerFactory<GetGPS>::getLogger();
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/http-curl/client/HTTPClient.cpp b/extensions/http-curl/client/HTTPClient.cpp
index cde5770c4..9fb7d2caa 100644
--- a/extensions/http-curl/client/HTTPClient.cpp
+++ b/extensions/http-curl/client/HTTPClient.cpp
@@ -42,8 +42,8 @@ HTTPClient::HTTPClient(std::string url, std::shared_ptr<minifi::controllers::SSL
   http_session_.reset(curl_easy_init());
 }
 
-HTTPClient::HTTPClient(const std::string& name, const utils::Identifier& uuid)
-    : core::Connectable(name, uuid) {
+HTTPClient::HTTPClient(std::string name, const utils::Identifier& uuid)
+    : core::Connectable(std::move(name), uuid) {
   http_session_.reset(curl_easy_init());
 }
 
diff --git a/extensions/http-curl/client/HTTPClient.h b/extensions/http-curl/client/HTTPClient.h
index ed835b790..a6c894073 100644
--- a/extensions/http-curl/client/HTTPClient.h
+++ b/extensions/http-curl/client/HTTPClient.h
@@ -68,7 +68,7 @@ class HTTPClient : public utils::BaseHTTPClient, public core::Connectable {
  public:
   HTTPClient();
 
-  HTTPClient(const std::string& name, const utils::Identifier& uuid);
+  HTTPClient(std::string name, const utils::Identifier& uuid);
 
   HTTPClient(const HTTPClient&) = delete;
   HTTPClient& operator=(const HTTPClient&) = delete;
diff --git a/extensions/http-curl/processors/InvokeHTTP.h b/extensions/http-curl/processors/InvokeHTTP.h
index 8b0d6c106..cfc617464 100644
--- a/extensions/http-curl/processors/InvokeHTTP.h
+++ b/extensions/http-curl/processors/InvokeHTTP.h
@@ -22,6 +22,7 @@
 #include <memory>
 #include <string>
 #include <unordered_map>
+#include <utility>
 
 #include "FlowFileRecord.h"
 #include "core/Processor.h"
@@ -46,8 +47,8 @@ class InvokeHTTP : public core::Processor {
     (DROP, "drop")
   )
 
-  explicit InvokeHTTP(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {
+  explicit InvokeHTTP(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {
     setTriggerWhenEmpty(true);
   }
 
diff --git a/extensions/http-curl/protocols/AgentPrinter.cpp b/extensions/http-curl/protocols/AgentPrinter.cpp
index f882f40c2..65507e38c 100644
--- a/extensions/http-curl/protocols/AgentPrinter.cpp
+++ b/extensions/http-curl/protocols/AgentPrinter.cpp
@@ -17,17 +17,17 @@
 
 #include "AgentPrinter.h"
 
-#include <algorithm>
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "rapidjson/prettywriter.h"
 #include "core/Resource.h"
 
 namespace org::apache::nifi::minifi::c2 {
 
-AgentPrinter::AgentPrinter(const std::string& name, const utils::Identifier& uuid)
-: HeartbeatReporter(name, uuid) {
+AgentPrinter::AgentPrinter(std::string name, const utils::Identifier& uuid)
+: HeartbeatReporter(std::move(name), uuid) {
 }
 
 void AgentPrinter::initialize(core::controller::ControllerServiceProvider* controller, state::StateMonitor* updateSink,
diff --git a/extensions/http-curl/protocols/AgentPrinter.h b/extensions/http-curl/protocols/AgentPrinter.h
index 4a679b1ef..bd0e2d40e 100644
--- a/extensions/http-curl/protocols/AgentPrinter.h
+++ b/extensions/http-curl/protocols/AgentPrinter.h
@@ -31,7 +31,7 @@ namespace org::apache::nifi::minifi::c2 {
  */
 class AgentPrinter : public HeartbeatJsonSerializer, public HeartbeatReporter {
  public:
-  explicit AgentPrinter(const std::string& name, const utils::Identifier& uuid = {});
+  explicit AgentPrinter(std::string name, const utils::Identifier& uuid = {});
 
   EXTENSIONAPI static constexpr const char* Description = "Encapsulates printing agent information.";
 
diff --git a/extensions/http-curl/protocols/RESTSender.cpp b/extensions/http-curl/protocols/RESTSender.cpp
index 3e9f2e2c6..e1ce3e978 100644
--- a/extensions/http-curl/protocols/RESTSender.cpp
+++ b/extensions/http-curl/protocols/RESTSender.cpp
@@ -32,8 +32,8 @@ using namespace std::literals::chrono_literals;
 
 namespace org::apache::nifi::minifi::c2 {
 
-RESTSender::RESTSender(const std::string &name, const utils::Identifier &uuid)
-    : C2Protocol(name, uuid) {
+RESTSender::RESTSender(std::string name, const utils::Identifier &uuid)
+    : C2Protocol(std::move(name), uuid) {
 }
 
 void RESTSender::initialize(core::controller::ControllerServiceProvider* controller, const std::shared_ptr<Configure> &configure) {
diff --git a/extensions/http-curl/protocols/RESTSender.h b/extensions/http-curl/protocols/RESTSender.h
index f127cceb8..f4337866e 100644
--- a/extensions/http-curl/protocols/RESTSender.h
+++ b/extensions/http-curl/protocols/RESTSender.h
@@ -42,7 +42,7 @@ class RESTSender : public RESTProtocol, public C2Protocol {
   )
 
  public:
-  explicit RESTSender(const std::string &name, const utils::Identifier &uuid = utils::Identifier());
+  explicit RESTSender(std::string name, const utils::Identifier &uuid = utils::Identifier());
 
   EXTENSIONAPI static constexpr const char* Description = "Encapsulates the restful protocol that is built upon C2Protocol.";
 
diff --git a/extensions/http-curl/sitetosite/HTTPProtocol.h b/extensions/http-curl/sitetosite/HTTPProtocol.h
index b313f7993..a94a39bf7 100644
--- a/extensions/http-curl/sitetosite/HTTPProtocol.h
+++ b/extensions/http-curl/sitetosite/HTTPProtocol.h
@@ -37,7 +37,7 @@ class HttpSiteToSiteClient : public sitetosite::SiteToSiteClient {
   static constexpr char const* PROTOCOL_VERSION_HEADER = "x-nifi-site-to-site-protocol-version";
 
  public:
-  explicit HttpSiteToSiteClient(const std::string& /*name*/, const utils::Identifier& /*uuid*/ = {})
+  explicit HttpSiteToSiteClient(std::string /*name*/, const utils::Identifier& /*uuid*/ = {})
       : SiteToSiteClient(),
         current_code(sitetosite::UNRECOGNIZED_RESPONSE_CODE) {
     peer_state_ = sitetosite::READY;
diff --git a/extensions/jni/ExecuteJavaControllerService.h b/extensions/jni/ExecuteJavaControllerService.h
index f4f553d08..3d0622147 100644
--- a/extensions/jni/ExecuteJavaControllerService.h
+++ b/extensions/jni/ExecuteJavaControllerService.h
@@ -19,6 +19,7 @@
 #include <memory>
 #include <regex>
 #include <string>
+#include <utility>
 
 #include "FlowFileRecord.h"
 #include "core/controller/ControllerService.h"
@@ -34,12 +35,7 @@
 #include "jvm/NarClassLoader.h"
 #include "ClassRegistrar.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace jni {
-namespace controllers {
+namespace org::apache::nifi::minifi::jni::controllers {
 
 /**
  * Purpose: Enables isolated java loading through the use of controller services
@@ -53,8 +49,8 @@ namespace controllers {
  */
 class ExecuteJavaControllerService : public ConfigurationContext, public std::enable_shared_from_this<ConfigurationContext> {
  public:
-  explicit ExecuteJavaControllerService(const std::string& name, const utils::Identifier& uuid = {})
-      : ConfigurationContext(name, uuid) {
+  explicit ExecuteJavaControllerService(std::string name, const utils::Identifier& uuid = {})
+      : ConfigurationContext(std::move(name), uuid) {
   }
   ~ExecuteJavaControllerService() override;
 
@@ -140,9 +136,4 @@ class ExecuteJavaControllerService : public ConfigurationContext, public std::en
   std::shared_ptr<core::logging::Logger> logger_ = core::logging::LoggerFactory<ExecuteJavaControllerService>::getLogger();
 };
 
-} /* namespace controllers */
-} /* namespace jni */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::jni::controllers
diff --git a/extensions/jni/ExecuteJavaProcessor.h b/extensions/jni/ExecuteJavaProcessor.h
index 73550336d..a0d362b04 100644
--- a/extensions/jni/ExecuteJavaProcessor.h
+++ b/extensions/jni/ExecuteJavaProcessor.h
@@ -19,8 +19,9 @@
 #pragma once
 
 #include <memory>
-#include <vector>
 #include <string>
+#include <utility>
+#include <vector>
 
 #include "FlowFileRecord.h"
 #include "core/Processor.h"
@@ -38,12 +39,7 @@
 #include "jvm/JniControllerServiceLookup.h"
 #include "jvm/JniInitializationContext.h"
 #include "ClassRegistrar.h"
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace jni {
-namespace processors {
+namespace org::apache::nifi::minifi::jni::processors {
 
 /**
  * Purpose and Justification: Executes a java NiFi Processor
@@ -52,8 +48,8 @@ namespace processors {
  */
 class ExecuteJavaProcessor : public core::Processor {
  public:
-  explicit ExecuteJavaProcessor(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {
+  explicit ExecuteJavaProcessor(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {
   }
   virtual ~ExecuteJavaProcessor();
 
@@ -289,9 +285,4 @@ class ExecuteJavaProcessor : public core::Processor {
   JniInitializationContext init_context_;
 };
 
-} /* namespace processors */
-} /* namespace jni */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::jni::processors
diff --git a/extensions/jni/JVMCreator.h b/extensions/jni/JVMCreator.h
index dbc1401fb..a634920b4 100644
--- a/extensions/jni/JVMCreator.h
+++ b/extensions/jni/JVMCreator.h
@@ -17,9 +17,10 @@
 
 #pragma once
 
-#include <vector>
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
+#include <vector>
 #include "jvm/JVMLoader.h"
 #include "jvm/JavaControllerService.h"
 #include "utils/file/FileUtils.h"
@@ -34,8 +35,8 @@ namespace org::apache::nifi::minifi::jni {
  */
 class JVMCreator : public minifi::core::CoreComponent {
  public:
-  explicit JVMCreator(const std::string &name, const utils::Identifier &uuid = {})
-      : minifi::core::CoreComponent(name, uuid) {
+  explicit JVMCreator(std::string name, const utils::Identifier &uuid = {})
+      : minifi::core::CoreComponent(std::move(name), uuid) {
   }
 
   ~JVMCreator() override;
diff --git a/extensions/jni/jvm/JavaControllerService.h b/extensions/jni/jvm/JavaControllerService.h
index 36e80747f..21f31cd02 100644
--- a/extensions/jni/jvm/JavaControllerService.h
+++ b/extensions/jni/jvm/JavaControllerService.h
@@ -40,8 +40,8 @@ namespace org::apache::nifi::minifi::jni::controllers {
  */
 class JavaControllerService : public core::controller::ControllerService, public std::enable_shared_from_this<JavaControllerService>, public JavaServicer {
  public:
-  explicit JavaControllerService(const std::string &name, const utils::Identifier &uuid = {})
-      : ControllerService(name, uuid) {
+  explicit JavaControllerService(std::string name, const utils::Identifier &uuid = {})
+      : ControllerService(std::move(name), uuid) {
   }
 
   explicit JavaControllerService(const std::string &name, const std::shared_ptr<Configure> &configuration)
diff --git a/extensions/jni/jvm/JniConfigurationContext.h b/extensions/jni/jvm/JniConfigurationContext.h
index 3a9850f08..2a4050e43 100644
--- a/extensions/jni/jvm/JniConfigurationContext.h
+++ b/extensions/jni/jvm/JniConfigurationContext.h
@@ -17,21 +17,18 @@
 
 #pragma once
 
-#include <string>
 #include <memory>
+#include <utility>
+#include <string>
 
 #include "core/controller/ControllerService.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace jni {
+namespace org::apache::nifi::minifi::jni {
 
 class ConfigurationContext : public core::controller::ControllerService {
  public:
-  explicit ConfigurationContext(const std::string& name, const utils::Identifier& uuid = {})
-      : core::controller::ControllerService(name, uuid) {
+  explicit ConfigurationContext(std::string name, const utils::Identifier& uuid = {})
+      : core::controller::ControllerService(std::move(name), uuid) {
   }
 
   ~ConfigurationContext() override = default;
@@ -42,8 +39,4 @@ struct JniConfigurationContext {
   std::shared_ptr<ConfigurationContext> service_reference_;
 };
 
-} /* namespace jni */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::jni
diff --git a/extensions/libarchive/CompressContent.h b/extensions/libarchive/CompressContent.h
index d3ac8531e..1e71af22b 100644
--- a/extensions/libarchive/CompressContent.h
+++ b/extensions/libarchive/CompressContent.h
@@ -46,8 +46,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class CompressContent : public core::Processor {
  public:
-  explicit CompressContent(const std::string& name, const utils::Identifier& uuid = {})
-    : core::Processor(name, uuid)
+  explicit CompressContent(std::string name, const utils::Identifier& uuid = {})
+    : core::Processor(std::move(name), uuid)
     , updateFileName_(false)
     , encapsulateInTar_(false) {
   }
diff --git a/extensions/libarchive/FocusArchiveEntry.h b/extensions/libarchive/FocusArchiveEntry.h
index 944de6661..25a349711 100644
--- a/extensions/libarchive/FocusArchiveEntry.h
+++ b/extensions/libarchive/FocusArchiveEntry.h
@@ -18,6 +18,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "archive.h"
 
@@ -34,8 +35,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class FocusArchiveEntry : public core::Processor {
  public:
-  explicit FocusArchiveEntry(const std::string& name, const utils::Identifier& uuid = {})
-  : core::Processor(name, uuid) {
+  explicit FocusArchiveEntry(std::string name, const utils::Identifier& uuid = {})
+  : core::Processor(std::move(name), uuid) {
   }
   ~FocusArchiveEntry()   override = default;
 
diff --git a/extensions/libarchive/ManipulateArchive.h b/extensions/libarchive/ManipulateArchive.h
index b52286fa3..a47309894 100644
--- a/extensions/libarchive/ManipulateArchive.h
+++ b/extensions/libarchive/ManipulateArchive.h
@@ -19,8 +19,9 @@
  */
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "FlowFileRecord.h"
 #include "ArchiveMetadata.h"
@@ -29,18 +30,14 @@
 
 #include "utils/Export.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 using core::logging::Logger;
 
 class ManipulateArchive : public core::Processor {
  public:
-  explicit ManipulateArchive(const std::string& name, const utils::Identifier& uuid = {})
-      : core::Processor(name, uuid) {
+  explicit ManipulateArchive(std::string name, const utils::Identifier& uuid = {})
+      : core::Processor(std::move(name), uuid) {
   }
   ~ManipulateArchive() override = default;
 
@@ -87,8 +84,4 @@ class ManipulateArchive : public core::Processor {
   std::string before_, after_, operation_, destination_, targetEntry_;
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/libarchive/UnfocusArchiveEntry.h b/extensions/libarchive/UnfocusArchiveEntry.h
index 65733817a..f0643bcbe 100644
--- a/extensions/libarchive/UnfocusArchiveEntry.h
+++ b/extensions/libarchive/UnfocusArchiveEntry.h
@@ -21,6 +21,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "archive.h"
 
@@ -38,8 +39,8 @@ using core::logging::Logger;
 
 class UnfocusArchiveEntry : public core::Processor {
  public:
-  explicit UnfocusArchiveEntry(const std::string& name, const utils::Identifier& uuid = {})
-      : core::Processor(name, uuid) {
+  explicit UnfocusArchiveEntry(std::string name, const utils::Identifier& uuid = {})
+      : core::Processor(std::move(name), uuid) {
   }
   ~UnfocusArchiveEntry() override = default;
 
diff --git a/extensions/librdkafka/ConsumeKafka.h b/extensions/librdkafka/ConsumeKafka.h
index d279de612..c6107a5a7 100644
--- a/extensions/librdkafka/ConsumeKafka.h
+++ b/extensions/librdkafka/ConsumeKafka.h
@@ -133,8 +133,8 @@ class ConsumeKafka : public KafkaProcessorBase {
   static constexpr char const* DEFAULT_MAX_POLL_TIME = "4 seconds";
   static constexpr const std::size_t METADATA_COMMUNICATIONS_TIMEOUT_MS{ 60000 };
 
-  explicit ConsumeKafka(const std::string& name, const utils::Identifier& uuid = utils::Identifier()) :
-      KafkaProcessorBase(name, uuid, core::logging::LoggerFactory<ConsumeKafka>::getLogger()) {}
+  explicit ConsumeKafka(std::string name, const utils::Identifier& uuid = utils::Identifier()) :
+      KafkaProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<ConsumeKafka>::getLogger()) {}
 
   ~ConsumeKafka() override = default;
 
diff --git a/extensions/librdkafka/KafkaProcessorBase.h b/extensions/librdkafka/KafkaProcessorBase.h
index 013777871..244825052 100644
--- a/extensions/librdkafka/KafkaProcessorBase.h
+++ b/extensions/librdkafka/KafkaProcessorBase.h
@@ -16,9 +16,10 @@
  */
 #pragma once
 
-#include <optional>
 #include <memory>
+#include <optional>
 #include <string>
+#include <utility>
 
 #include "core/Processor.h"
 #include "rdkafka_utils.h"
@@ -62,8 +63,8 @@ class KafkaProcessorBase : public core::Processor {
     (PLAIN, "PLAIN")
   )
 
-  KafkaProcessorBase(const std::string& name, const utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
-      : core::Processor(name, uuid),
+  KafkaProcessorBase(std::string name, const utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
+      : core::Processor(std::move(name), uuid),
         logger_(logger) {
   }
 
diff --git a/extensions/librdkafka/PublishKafka.h b/extensions/librdkafka/PublishKafka.h
index 50a10354e..095d3d13d 100644
--- a/extensions/librdkafka/PublishKafka.h
+++ b/extensions/librdkafka/PublishKafka.h
@@ -122,8 +122,8 @@ class PublishKafka : public KafkaProcessorBase {
   static constexpr const char* DELIVERY_BEST_EFFORT = "0";
   static constexpr const char* KAFKA_KEY_ATTRIBUTE = "kafka.key";
 
-  explicit PublishKafka(const std::string& name, const utils::Identifier& uuid = {})
-      : KafkaProcessorBase(name, uuid, core::logging::LoggerFactory<PublishKafka>::getLogger()) {
+  explicit PublishKafka(std::string name, const utils::Identifier& uuid = {})
+      : KafkaProcessorBase(std::move(name), uuid, core::logging::LoggerFactory<PublishKafka>::getLogger()) {
   }
 
   ~PublishKafka() override = default;
diff --git a/extensions/mqtt/processors/AbstractMQTTProcessor.h b/extensions/mqtt/processors/AbstractMQTTProcessor.h
index 24063dc73..281bcc75f 100644
--- a/extensions/mqtt/processors/AbstractMQTTProcessor.h
+++ b/extensions/mqtt/processors/AbstractMQTTProcessor.h
@@ -19,6 +19,7 @@
 #include <limits>
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "core/Processor.h"
@@ -37,8 +38,8 @@ static constexpr const char* const MQTT_SECURITY_PROTOCOL_SSL = "ssl";
 
 class AbstractMQTTProcessor : public core::Processor {
  public:
-  explicit AbstractMQTTProcessor(const std::string& name, const utils::Identifier& uuid = {})
-      : core::Processor(name, uuid) {
+  explicit AbstractMQTTProcessor(std::string name, const utils::Identifier& uuid = {})
+      : core::Processor(std::move(name), uuid) {
   }
 
   ~AbstractMQTTProcessor() override {
diff --git a/extensions/mqtt/processors/ConsumeMQTT.h b/extensions/mqtt/processors/ConsumeMQTT.h
index bed71bc27..1e104584b 100644
--- a/extensions/mqtt/processors/ConsumeMQTT.h
+++ b/extensions/mqtt/processors/ConsumeMQTT.h
@@ -40,8 +40,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class ConsumeMQTT : public processors::AbstractMQTTProcessor {
  public:
-  explicit ConsumeMQTT(const std::string& name, const utils::Identifier& uuid = {})
-      : processors::AbstractMQTTProcessor(name, uuid) {
+  explicit ConsumeMQTT(std::string name, const utils::Identifier& uuid = {})
+      : processors::AbstractMQTTProcessor(std::move(name), uuid) {
     maxQueueSize_ = 100;
   }
 
diff --git a/extensions/mqtt/processors/PublishMQTT.h b/extensions/mqtt/processors/PublishMQTT.h
index 38736ba2d..30e3369bc 100644
--- a/extensions/mqtt/processors/PublishMQTT.h
+++ b/extensions/mqtt/processors/PublishMQTT.h
@@ -37,8 +37,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class PublishMQTT : public processors::AbstractMQTTProcessor {
  public:
-  explicit PublishMQTT(const std::string& name, const utils::Identifier& uuid = {})
-      : processors::AbstractMQTTProcessor(name, uuid) {
+  explicit PublishMQTT(std::string name, const utils::Identifier& uuid = {})
+      : processors::AbstractMQTTProcessor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "PublishMQTT serializes FlowFile content as an MQTT payload, sending the message to the configured topic and broker.";
diff --git a/extensions/opc/include/fetchopc.h b/extensions/opc/include/fetchopc.h
index 4be75f717..760661689 100644
--- a/extensions/opc/include/fetchopc.h
+++ b/extensions/opc/include/fetchopc.h
@@ -19,6 +19,7 @@
 #include <memory>
 #include <string>
 #include <unordered_map>
+#include <utility>
 #include <vector>
 
 #include "opc.h"
@@ -37,8 +38,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class FetchOPCProcessor : public BaseOPCProcessor {
  public:
-  explicit FetchOPCProcessor(const std::string& name, const utils::Identifier& uuid = {})
-      : BaseOPCProcessor(name, uuid), nameSpaceIdx_(0), nodesFound_(0), variablesFound_(0), maxDepth_(0) {
+  explicit FetchOPCProcessor(std::string name, const utils::Identifier& uuid = {})
+      : BaseOPCProcessor(std::move(name), uuid), nameSpaceIdx_(0), nodesFound_(0), variablesFound_(0), maxDepth_(0) {
     logger_ = core::logging::LoggerFactory<FetchOPCProcessor>::getLogger();
   }
 
diff --git a/extensions/opc/include/opcbase.h b/extensions/opc/include/opcbase.h
index 3848ca153..7b79b7202 100644
--- a/extensions/opc/include/opcbase.h
+++ b/extensions/opc/include/opcbase.h
@@ -19,6 +19,7 @@
 
 #include <string>
 #include <memory>
+#include <utility>
 #include <vector>
 
 #include "opc.h"
@@ -50,8 +51,8 @@ class BaseOPCProcessor : public core::Processor {
     };
   }
 
-  explicit BaseOPCProcessor(const std::string& name, const utils::Identifier& uuid = {})
-  : Processor(name, uuid) {
+  explicit BaseOPCProcessor(std::string name, const utils::Identifier& uuid = {})
+  : Processor(std::move(name), uuid) {
   }
 
   void onSchedule(const std::shared_ptr<core::ProcessContext> &context, const std::shared_ptr<core::ProcessSessionFactory> &factory) override;
diff --git a/extensions/opc/include/putopc.h b/extensions/opc/include/putopc.h
index 414249052..4f8bd6658 100644
--- a/extensions/opc/include/putopc.h
+++ b/extensions/opc/include/putopc.h
@@ -19,6 +19,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "opc.h"
@@ -70,8 +71,8 @@ class PutOPCProcessor : public BaseOPCProcessor {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit PutOPCProcessor(const std::string& name, const utils::Identifier& uuid = {})
-      : BaseOPCProcessor(name, uuid), nameSpaceIdx_(0), parentExists_(false) {
+  explicit PutOPCProcessor(std::string name, const utils::Identifier& uuid = {})
+      : BaseOPCProcessor(std::move(name), uuid), nameSpaceIdx_(0), parentExists_(false) {
     logger_ = core::logging::LoggerFactory<PutOPCProcessor>::getLogger();
   }
 
diff --git a/extensions/opencv/CaptureRTSPFrame.h b/extensions/opencv/CaptureRTSPFrame.h
index 4502e994a..a8beeb85e 100644
--- a/extensions/opencv/CaptureRTSPFrame.h
+++ b/extensions/opencv/CaptureRTSPFrame.h
@@ -36,8 +36,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class CaptureRTSPFrame : public core::Processor {
  public:
-  explicit CaptureRTSPFrame(const std::string &name, const utils::Identifier &uuid = {})
-      : Processor(name, uuid) {
+  explicit CaptureRTSPFrame(std::string name, const utils::Identifier &uuid = {})
+      : Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "Captures a frame from the RTSP stream at specified intervals.";
diff --git a/extensions/opencv/MotionDetector.h b/extensions/opencv/MotionDetector.h
index a6645a6de..80b57019f 100644
--- a/extensions/opencv/MotionDetector.h
+++ b/extensions/opencv/MotionDetector.h
@@ -20,22 +20,19 @@
 #include <iomanip>
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "core/logging/LoggerConfiguration.h"
 #include "core/Processor.h"
 #include "opencv2/opencv.hpp"
 #include "opencv2/imgproc.hpp"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class MotionDetector : public core::Processor {
  public:
-  explicit MotionDetector(const std::string &name, const utils::Identifier &uuid = {})
-      : Processor(name, uuid) {
+  explicit MotionDetector(std::string name, const utils::Identifier &uuid = {})
+      : Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "Detect motion from captured images.";
@@ -88,8 +85,4 @@ class MotionDetector : public core::Processor {
   const double IMG_WIDTH = 500.0;
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/openwsman/processors/SourceInitiatedSubscriptionListener.cpp b/extensions/openwsman/processors/SourceInitiatedSubscriptionListener.cpp
index 1816b67de..ab8cb17d2 100644
--- a/extensions/openwsman/processors/SourceInitiatedSubscriptionListener.cpp
+++ b/extensions/openwsman/processors/SourceInitiatedSubscriptionListener.cpp
@@ -133,8 +133,8 @@ const core::Property SourceInitiatedSubscriptionListener::ConnectionRetryCount(
 
 const core::Relationship SourceInitiatedSubscriptionListener::Success("success", "All Events are routed to success");
 
-SourceInitiatedSubscriptionListener::SourceInitiatedSubscriptionListener(const std::string& name, const utils::Identifier& uuid)
-    : Processor(name, uuid)
+SourceInitiatedSubscriptionListener::SourceInitiatedSubscriptionListener(std::string name, const utils::Identifier& uuid)
+    : Processor(std::move(name), uuid)
     , session_factory_(nullptr)
     , listen_port_(0U)
     , subscription_expiration_interval_(0)
diff --git a/extensions/openwsman/processors/SourceInitiatedSubscriptionListener.h b/extensions/openwsman/processors/SourceInitiatedSubscriptionListener.h
index cf02f2275..be72d8c1d 100644
--- a/extensions/openwsman/processors/SourceInitiatedSubscriptionListener.h
+++ b/extensions/openwsman/processors/SourceInitiatedSubscriptionListener.h
@@ -46,7 +46,7 @@ class SourceInitiatedSubscriptionListener : public core::Processor {
   static constexpr char const *INITIAL_EXISTING_EVENTS_STRATEGY_NONE = "None";
   static constexpr char const *INITIAL_EXISTING_EVENTS_STRATEGY_ALL = "All";
 
-  explicit SourceInitiatedSubscriptionListener(const std::string& name, const utils::Identifier& uuid = {});
+  explicit SourceInitiatedSubscriptionListener(std::string name, const utils::Identifier& uuid = {});
 
   EXTENSIONAPI static constexpr const char* Description = "This processor implements a Windows Event Forwarding Source Initiated Subscription server with the help of OpenWSMAN. "
       "Windows hosts can be set up to connect and forward Event Logs to this processor.";
diff --git a/extensions/pcap/CapturePacket.h b/extensions/pcap/CapturePacket.h
index 83f662668..893d33867 100644
--- a/extensions/pcap/CapturePacket.h
+++ b/extensions/pcap/CapturePacket.h
@@ -20,8 +20,9 @@
 
 #include <memory>
 #include <regex>
-#include <vector>
 #include <string>
+#include <utility>
+#include <vector>
 
 #include "PcapLiveDeviceList.h"
 #include "PcapFilter.h"
@@ -35,11 +36,7 @@
 #include "core/logging/LoggerConfiguration.h"
 #include "utils/Id.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class CapturePacketMechanism {
  public:
@@ -90,14 +87,13 @@ struct PacketMovers {
   moodycamel::ConcurrentQueue<CapturePacketMechanism*> sink;
 };
 
-// CapturePacket Class
 class CapturePacket : public core::Processor {
  public:
-  explicit CapturePacket(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {
-    mover = std::unique_ptr<PacketMovers>(new PacketMovers());
+  explicit CapturePacket(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {
+    mover = std::make_unique<PacketMovers>();
   }
-  virtual ~CapturePacket();
+  ~CapturePacket() override;
 
   EXTENSIONAPI static constexpr const char* Description = "CapturePacket captures and writes one or more packets into a PCAP file that will be used as the content of a flow file."
     " Configuration options exist to adjust the batching of PCAP files. PCAP batching will place a single PCAP into a flow file. "
@@ -174,8 +170,4 @@ class CapturePacket : public core::Processor {
   static std::shared_ptr<utils::IdGenerator> id_generator_;
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/procfs/processors/ProcFsMonitor.h b/extensions/procfs/processors/ProcFsMonitor.h
index 7d635e47b..b85b8d224 100644
--- a/extensions/procfs/processors/ProcFsMonitor.h
+++ b/extensions/procfs/processors/ProcFsMonitor.h
@@ -37,8 +37,8 @@ namespace org::apache::nifi::minifi::extensions::procfs {
 
 class ProcFsMonitor : public core::Processor {
  public:
-  explicit ProcFsMonitor(const std::string& name, utils::Identifier uuid = utils::Identifier())
-      : Processor(name, uuid) {
+  explicit ProcFsMonitor(std::string name, utils::Identifier uuid = utils::Identifier())
+      : Processor(std::move(name), uuid) {
   }
   ~ProcFsMonitor() override = default;
 
diff --git a/extensions/rocksdb-repos/DatabaseContentRepository.h b/extensions/rocksdb-repos/DatabaseContentRepository.h
index d4c797310..fcf943b11 100644
--- a/extensions/rocksdb-repos/DatabaseContentRepository.h
+++ b/extensions/rocksdb-repos/DatabaseContentRepository.h
@@ -16,8 +16,9 @@
  */
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "core/Core.h"
 #include "core/Connectable.h"
@@ -44,8 +45,8 @@ class DatabaseContentRepository : public core::ContentRepository, public core::C
  public:
   static constexpr const char* ENCRYPTION_KEY_NAME = "nifi.database.content.repository.encryption.key";
 
-  explicit DatabaseContentRepository(const std::string& name = getClassName<DatabaseContentRepository>(), const utils::Identifier& uuid = {})
-      : core::Connectable(name, uuid),
+  explicit DatabaseContentRepository(std::string name = getClassName<DatabaseContentRepository>(), const utils::Identifier& uuid = {})
+      : core::Connectable(std::move(name), uuid),
         is_valid_(false),
         db_(nullptr),
         logger_(logging::LoggerFactory<DatabaseContentRepository>::getLogger()) {
diff --git a/extensions/rocksdb-repos/FlowFileRepository.h b/extensions/rocksdb-repos/FlowFileRepository.h
index b774fcba6..1b5377192 100644
--- a/extensions/rocksdb-repos/FlowFileRepository.h
+++ b/extensions/rocksdb-repos/FlowFileRepository.h
@@ -61,18 +61,18 @@ class FlowFileRepository : public ThreadedRepository, public SwapManager {
  public:
   static constexpr const char* ENCRYPTION_KEY_NAME = "nifi.flowfile.repository.encryption.key";
 
-  FlowFileRepository(const std::string& name, const utils::Identifier& /*uuid*/)
-      : FlowFileRepository(name) {
+  FlowFileRepository(std::string name, const utils::Identifier& /*uuid*/)
+      : FlowFileRepository(std::move(name)) {
   }
 
-  explicit FlowFileRepository(const std::string& repo_name = "",
+  explicit FlowFileRepository(std::string repo_name = "",
                      std::string checkpoint_dir = FLOWFILE_CHECKPOINT_DIRECTORY,
                      std::string directory = FLOWFILE_REPOSITORY_DIRECTORY,
                      std::chrono::milliseconds maxPartitionMillis = MAX_FLOWFILE_REPOSITORY_ENTRY_LIFE_TIME,
                      int64_t maxPartitionBytes = MAX_FLOWFILE_REPOSITORY_STORAGE_SIZE,
                      std::chrono::milliseconds purgePeriod = FLOWFILE_REPOSITORY_PURGE_PERIOD)
       : core::SerializableComponent(repo_name),
-        ThreadedRepository(repo_name.length() > 0 ? repo_name : core::getClassName<FlowFileRepository>(), std::move(directory), maxPartitionMillis, maxPartitionBytes, purgePeriod),
+        ThreadedRepository(repo_name.length() > 0 ? std::move(repo_name) : core::getClassName<FlowFileRepository>(), std::move(directory), maxPartitionMillis, maxPartitionBytes, purgePeriod),
         checkpoint_dir_(std::move(checkpoint_dir)),
         content_repo_(nullptr),
         checkpoint_(nullptr),
diff --git a/extensions/rocksdb-repos/ProvenanceRepository.h b/extensions/rocksdb-repos/ProvenanceRepository.h
index 0ad58ed21..512fedbca 100644
--- a/extensions/rocksdb-repos/ProvenanceRepository.h
+++ b/extensions/rocksdb-repos/ProvenanceRepository.h
@@ -41,16 +41,16 @@ constexpr auto PROVENANCE_PURGE_PERIOD = std::chrono::milliseconds(2500);
 
 class ProvenanceRepository : public core::ThreadedRepository {
  public:
-  ProvenanceRepository(const std::string& name, const utils::Identifier& /*uuid*/)
-      : ProvenanceRepository(name) {
+  ProvenanceRepository(std::string name, const utils::Identifier& /*uuid*/)
+      : ProvenanceRepository(std::move(name)) {
   }
 
-  explicit ProvenanceRepository(const std::string& repo_name = "", std::string directory = PROVENANCE_DIRECTORY,
+  explicit ProvenanceRepository(std::string repo_name = "", std::string directory = PROVENANCE_DIRECTORY,
       std::chrono::milliseconds maxPartitionMillis = MAX_PROVENANCE_ENTRY_LIFE_TIME,
       int64_t maxPartitionBytes = MAX_PROVENANCE_STORAGE_SIZE,
       std::chrono::milliseconds purgePeriod = PROVENANCE_PURGE_PERIOD)
     : core::SerializableComponent(repo_name),
-      ThreadedRepository(repo_name.length() > 0 ? repo_name : core::getClassName<ProvenanceRepository>(), directory,
+      ThreadedRepository(repo_name.length() > 0 ? std::move(repo_name) : core::getClassName<ProvenanceRepository>(), directory,
         maxPartitionMillis, maxPartitionBytes, purgePeriod) {
   }
 
diff --git a/extensions/rocksdb-repos/controllers/RocksDbPersistableKeyValueStoreService.cpp b/extensions/rocksdb-repos/controllers/RocksDbPersistableKeyValueStoreService.cpp
index 11afc6ec1..e4b38f884 100644
--- a/extensions/rocksdb-repos/controllers/RocksDbPersistableKeyValueStoreService.cpp
+++ b/extensions/rocksdb-repos/controllers/RocksDbPersistableKeyValueStoreService.cpp
@@ -16,6 +16,7 @@
  */
 
 #include <fstream>
+#include <utility>
 
 #include "RocksDbPersistableKeyValueStoreService.h"
 #include "../encryption/RocksDbEncryptionProvider.h"
@@ -47,9 +48,9 @@ const core::Property RocksDbPersistableKeyValueStoreService::Directory(
     ->isRequired(true)
     ->build());
 
-RocksDbPersistableKeyValueStoreService::RocksDbPersistableKeyValueStoreService(const std::string& name, const utils::Identifier& uuid /*= utils::Identifier()*/)
+RocksDbPersistableKeyValueStoreService::RocksDbPersistableKeyValueStoreService(std::string name, const utils::Identifier& uuid /*= utils::Identifier()*/)
     : PersistableKeyValueStoreService(name, uuid)
-    , AbstractAutoPersistingKeyValueStoreService(name, uuid) {
+    , AbstractAutoPersistingKeyValueStoreService(std::move(name), uuid) {
 }
 
 void RocksDbPersistableKeyValueStoreService::initialize() {
diff --git a/extensions/rocksdb-repos/controllers/RocksDbPersistableKeyValueStoreService.h b/extensions/rocksdb-repos/controllers/RocksDbPersistableKeyValueStoreService.h
index ab2e65d49..4c6a9a2f7 100644
--- a/extensions/rocksdb-repos/controllers/RocksDbPersistableKeyValueStoreService.h
+++ b/extensions/rocksdb-repos/controllers/RocksDbPersistableKeyValueStoreService.h
@@ -34,7 +34,7 @@ class RocksDbPersistableKeyValueStoreService : public AbstractAutoPersistingKeyV
  public:
   static constexpr const char* ENCRYPTION_KEY_NAME = "nifi.state.management.provider.local.encryption.key";
 
-  explicit RocksDbPersistableKeyValueStoreService(const std::string& name, const utils::Identifier& uuid = {});
+  explicit RocksDbPersistableKeyValueStoreService(std::string name, const utils::Identifier& uuid = {});
 
   ~RocksDbPersistableKeyValueStoreService() override = default;
 
diff --git a/extensions/script/ExecuteScript.h b/extensions/script/ExecuteScript.h
index 3e9053f8e..256ceee0a 100644
--- a/extensions/script/ExecuteScript.h
+++ b/extensions/script/ExecuteScript.h
@@ -71,8 +71,8 @@ class ExecuteScript : public core::Processor {
     (PYTHON, "python")
   )
 
-  explicit ExecuteScript(const std::string &name, const utils::Identifier &uuid = {})
-      : Processor(name, uuid),
+  explicit ExecuteScript(std::string name, const utils::Identifier &uuid = {})
+      : Processor(std::move(name), uuid),
         engine_factory_(Success, Failure, logger_) {
   }
 
diff --git a/extensions/script/python/ExecutePythonProcessor.h b/extensions/script/python/ExecutePythonProcessor.h
index c6384bf00..52eb5aa24 100644
--- a/extensions/script/python/ExecutePythonProcessor.h
+++ b/extensions/script/python/ExecutePythonProcessor.h
@@ -22,6 +22,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "concurrentqueue.h"
@@ -36,17 +37,12 @@
 #pragma GCC visibility push(hidden)
 #endif
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace python {
-namespace processors {
+namespace org::apache::nifi::minifi::python::processors {
 
 class ExecutePythonProcessor : public core::Processor {
  public:
-  explicit ExecutePythonProcessor(const std::string &name, const utils::Identifier &uuid = {})
-      : Processor(name, uuid),
+  explicit ExecutePythonProcessor(std::string name, const utils::Identifier &uuid = {})
+      : Processor(std::move(name), uuid),
         processor_initialized_(false),
         python_dynamic_(false),
         reload_on_script_change_(true) {
@@ -137,12 +133,7 @@ class ExecutePythonProcessor : public core::Processor {
   std::unique_ptr<PythonScriptEngine> createScriptEngine();
 };
 
-} /* namespace processors */
-} /* namespace python */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::python::processors
 
 #if defined(__GNUC__) || defined(__GNUG__)
 #pragma GCC visibility pop
diff --git a/extensions/script/python/PythonCreator.h b/extensions/script/python/PythonCreator.h
index def743bbd..b8a36a870 100644
--- a/extensions/script/python/PythonCreator.h
+++ b/extensions/script/python/PythonCreator.h
@@ -35,19 +35,15 @@
 #include "range/v3/algorithm.hpp"
 #include "properties/Configuration.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace python {
+namespace org::apache::nifi::minifi::python {
 
 /**
  * Can be used to load the python processors from NiFi properties.
  */
 class PythonCreator : public minifi::core::CoreComponent {
  public:
-  explicit PythonCreator(const std::string &name, const utils::Identifier &uuid = {})
-      : minifi::core::CoreComponent(name, uuid) {
+  explicit PythonCreator(std::string name, const utils::Identifier &uuid = {})
+      : minifi::core::CoreComponent(std::move(name), uuid) {
   }
 
   ~PythonCreator() override {
@@ -158,8 +154,4 @@ class PythonCreator : public minifi::core::CoreComponent {
   std::shared_ptr<core::logging::Logger> logger_ = core::logging::LoggerFactory<PythonCreator>::getLogger();
 };
 
-} /* namespace python */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::python
diff --git a/extensions/sensors/GetEnvironmentalSensors.h b/extensions/sensors/GetEnvironmentalSensors.h
index 2d7955f01..2fee7da6c 100644
--- a/extensions/sensors/GetEnvironmentalSensors.h
+++ b/extensions/sensors/GetEnvironmentalSensors.h
@@ -20,6 +20,7 @@
 #include <memory>
 #include <regex>
 #include <string>
+#include <utility>
 
 #include "utils/ByteArrayCallback.h"
 #include "FlowFileRecord.h"
@@ -32,16 +33,12 @@
 #include "SensorBase.h"
 #include "RTMath.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class GetEnvironmentalSensors : public SensorBase {
  public:
-  explicit GetEnvironmentalSensors(const std::string& name, const utils::Identifier& uuid = {})
-      : SensorBase(name, uuid) {
+  explicit GetEnvironmentalSensors(std::string name, const utils::Identifier& uuid = {})
+      : SensorBase(std::move(name), uuid) {
   }
   ~GetEnvironmentalSensors() override;
 
@@ -70,8 +67,4 @@ class GetEnvironmentalSensors : public SensorBase {
   static std::shared_ptr<utils::IdGenerator> id_generator_;
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/sensors/GetMovementSensors.h b/extensions/sensors/GetMovementSensors.h
index d9819ad82..2e438c3cd 100644
--- a/extensions/sensors/GetMovementSensors.h
+++ b/extensions/sensors/GetMovementSensors.h
@@ -20,6 +20,7 @@
 #include <memory>
 #include <regex>
 #include <string>
+#include <utility>
 
 #include "utils/ByteArrayCallback.h"
 #include "FlowFileRecord.h"
@@ -32,16 +33,12 @@
 #include "RTIMULib.h"
 #include "RTMath.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class GetMovementSensors : public SensorBase {
  public:
-  explicit GetMovementSensors(const std::string& name, const utils::Identifier& uuid = {})
-      : SensorBase(name, uuid) {
+  explicit GetMovementSensors(std::string name, const utils::Identifier& uuid = {})
+      : SensorBase(std::move(name), uuid) {
   }
   virtual ~GetMovementSensors();
 
@@ -63,8 +60,4 @@ class GetMovementSensors : public SensorBase {
   std::shared_ptr<core::logging::Logger> logger_ = core::logging::LoggerFactory<GetMovementSensors>::getLogger();
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/sensors/SensorBase.h b/extensions/sensors/SensorBase.h
index 41f183223..7707dada8 100644
--- a/extensions/sensors/SensorBase.h
+++ b/extensions/sensors/SensorBase.h
@@ -26,16 +26,12 @@
 #include "RTIMULib.h"
 #include "RTMath.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class SensorBase : public core::Processor {
  public:
-  explicit SensorBase(const std::string& name, const utils::Identifier& uuid = {})
-    : Processor(name, uuid) {
+  explicit SensorBase(std::string name, const utils::Identifier& uuid = {})
+    : Processor(std::move(name), uuid) {
   }
   ~SensorBase() override;
 
@@ -49,8 +45,4 @@ class SensorBase : public core::Processor {
   std::shared_ptr<core::logging::Logger> logger_ = core::logging::LoggerFactory<SensorBase>::getLogger();
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/sftp/processors/FetchSFTP.cpp b/extensions/sftp/processors/FetchSFTP.cpp
index c1661249a..45b61389c 100644
--- a/extensions/sftp/processors/FetchSFTP.cpp
+++ b/extensions/sftp/processors/FetchSFTP.cpp
@@ -41,8 +41,8 @@ void FetchSFTP::initialize() {
   setSupportedRelationships(relationships());
 }
 
-FetchSFTP::FetchSFTP(const std::string& name, const utils::Identifier& uuid /*= utils::Identifier()*/)
-    : SFTPProcessorBase(name, uuid),
+FetchSFTP::FetchSFTP(std::string name, const utils::Identifier& uuid /*= utils::Identifier()*/)
+    : SFTPProcessorBase(std::move(name), uuid),
       create_directory_(false),
       disable_directory_listing_(false) {
   logger_ = core::logging::LoggerFactory<FetchSFTP>::getLogger();
diff --git a/extensions/sftp/processors/FetchSFTP.h b/extensions/sftp/processors/FetchSFTP.h
index a6a16af84..53f37641e 100644
--- a/extensions/sftp/processors/FetchSFTP.h
+++ b/extensions/sftp/processors/FetchSFTP.h
@@ -39,7 +39,7 @@ class FetchSFTP : public SFTPProcessorBase {
   static constexpr char const *COMPLETION_STRATEGY_MOVE_FILE = "Move File";
   static constexpr char const *COMPLETION_STRATEGY_DELETE_FILE = "Delete File";
 
-  explicit FetchSFTP(const std::string& name, const utils::Identifier& uuid = {});
+  explicit FetchSFTP(std::string name, const utils::Identifier& uuid = {});
   ~FetchSFTP() override;
 
   EXTENSIONAPI static constexpr const char* Description = "Fetches the content of a file from a remote SFTP server "
diff --git a/extensions/sftp/processors/ListSFTP.cpp b/extensions/sftp/processors/ListSFTP.cpp
index aa841fae4..438b7e501 100644
--- a/extensions/sftp/processors/ListSFTP.cpp
+++ b/extensions/sftp/processors/ListSFTP.cpp
@@ -74,8 +74,8 @@ void ListSFTP::initialize() {
   setSupportedRelationships(relationships());
 }
 
-ListSFTP::ListSFTP(const std::string& name, const utils::Identifier& uuid /*= utils::Identifier()*/)
-    : SFTPProcessorBase(name, uuid)
+ListSFTP::ListSFTP(std::string name, const utils::Identifier& uuid /*= utils::Identifier()*/)
+    : SFTPProcessorBase(std::move(name), uuid)
     , search_recursively_(false)
     , follow_symlink_(false)
     , ignore_dotted_files_(false)
diff --git a/extensions/sftp/processors/ListSFTP.h b/extensions/sftp/processors/ListSFTP.h
index 88c850502..b0cba1a18 100644
--- a/extensions/sftp/processors/ListSFTP.h
+++ b/extensions/sftp/processors/ListSFTP.h
@@ -51,7 +51,7 @@ class ListSFTP : public SFTPProcessorBase {
   static constexpr char const *ENTITY_TRACKING_INITIAL_LISTING_TARGET_TRACKING_TIME_WINDOW = "Tracking Time Window";
   static constexpr char const *ENTITY_TRACKING_INITIAL_LISTING_TARGET_ALL_AVAILABLE = "All Available";
 
-  explicit ListSFTP(const std::string& name, const utils::Identifier& uuid = {});
+  explicit ListSFTP(std::string name, const utils::Identifier& uuid = {});
   ~ListSFTP() override;
 
   EXTENSIONAPI static constexpr const char* Description = "Performs a listing of the files residing on an SFTP server. "
diff --git a/extensions/sftp/processors/PutSFTP.cpp b/extensions/sftp/processors/PutSFTP.cpp
index f47d29e99..39dc30f0c 100644
--- a/extensions/sftp/processors/PutSFTP.cpp
+++ b/extensions/sftp/processors/PutSFTP.cpp
@@ -51,8 +51,8 @@ void PutSFTP::initialize() {
   setSupportedRelationships(relationships());
 }
 
-PutSFTP::PutSFTP(const std::string& name, const utils::Identifier& uuid /*= utils::Identifier()*/)
-  : SFTPProcessorBase(name, uuid),
+PutSFTP::PutSFTP(std::string name, const utils::Identifier& uuid /*= utils::Identifier()*/)
+  : SFTPProcessorBase(std::move(name), uuid),
     create_directory_(false),
     batch_size_(0),
     reject_zero_byte_(false),
diff --git a/extensions/sftp/processors/PutSFTP.h b/extensions/sftp/processors/PutSFTP.h
index f59db881f..3c8f6e26b 100644
--- a/extensions/sftp/processors/PutSFTP.h
+++ b/extensions/sftp/processors/PutSFTP.h
@@ -47,7 +47,7 @@ class PutSFTP : public SFTPProcessorBase {
   static constexpr char const *CONFLICT_RESOLUTION_FAIL = "FAIL";
   static constexpr char const *CONFLICT_RESOLUTION_NONE = "NONE";
 
-  explicit PutSFTP(const std::string& name, const utils::Identifier& uuid = {});
+  explicit PutSFTP(std::string name, const utils::Identifier& uuid = {});
   ~PutSFTP() override;
 
   EXTENSIONAPI static constexpr const char* Description = "Sends FlowFiles to an SFTP Server";
diff --git a/extensions/sftp/processors/SFTPProcessorBase.cpp b/extensions/sftp/processors/SFTPProcessorBase.cpp
index 3cfb71d9b..bc4c8fce4 100644
--- a/extensions/sftp/processors/SFTPProcessorBase.cpp
+++ b/extensions/sftp/processors/SFTPProcessorBase.cpp
@@ -43,8 +43,8 @@
 
 namespace org::apache::nifi::minifi::processors {
 
-SFTPProcessorBase::SFTPProcessorBase(const std::string& name, const utils::Identifier& uuid)
-    : Processor(name, uuid),
+SFTPProcessorBase::SFTPProcessorBase(std::string name, const utils::Identifier& uuid)
+    : Processor(std::move(name), uuid),
       connection_timeout_(0),
       data_timeout_(0),
       strict_host_checking_(false),
diff --git a/extensions/sftp/processors/SFTPProcessorBase.h b/extensions/sftp/processors/SFTPProcessorBase.h
index cc555dd4f..cd8c233bc 100644
--- a/extensions/sftp/processors/SFTPProcessorBase.h
+++ b/extensions/sftp/processors/SFTPProcessorBase.h
@@ -38,7 +38,7 @@ namespace org::apache::nifi::minifi::processors {
 
 class SFTPProcessorBase : public core::Processor {
  public:
-  SFTPProcessorBase(const std::string& name, const utils::Identifier& uuid);
+  SFTPProcessorBase(std::string name, const utils::Identifier& uuid);
   ~SFTPProcessorBase() override;
 
   EXTENSIONAPI static const core::Property Hostname;
diff --git a/extensions/splunk/PutSplunkHTTP.h b/extensions/splunk/PutSplunkHTTP.h
index 25099f12f..1570c34a2 100644
--- a/extensions/splunk/PutSplunkHTTP.h
+++ b/extensions/splunk/PutSplunkHTTP.h
@@ -17,8 +17,9 @@
 
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "SplunkHECProcessor.h"
 #include "client/HTTPClient.h"
@@ -30,8 +31,8 @@ namespace org::apache::nifi::minifi::extensions::splunk {
 
 class PutSplunkHTTP final : public SplunkHECProcessor {
  public:
-  explicit PutSplunkHTTP(const std::string& name, const utils::Identifier& uuid = {})
-      : SplunkHECProcessor(name, uuid) {
+  explicit PutSplunkHTTP(std::string name, const utils::Identifier& uuid = {})
+      : SplunkHECProcessor(std::move(name), uuid) {
   }
   PutSplunkHTTP(const PutSplunkHTTP&) = delete;
   PutSplunkHTTP(PutSplunkHTTP&&) = delete;
diff --git a/extensions/splunk/QuerySplunkIndexingStatus.h b/extensions/splunk/QuerySplunkIndexingStatus.h
index 016d10ea7..f75a6347e 100644
--- a/extensions/splunk/QuerySplunkIndexingStatus.h
+++ b/extensions/splunk/QuerySplunkIndexingStatus.h
@@ -17,8 +17,9 @@
 
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "SplunkHECProcessor.h"
 #include "utils/ArrayUtils.h"
@@ -30,8 +31,8 @@ namespace org::apache::nifi::minifi::extensions::splunk {
 
 class QuerySplunkIndexingStatus final : public SplunkHECProcessor {
  public:
-  explicit QuerySplunkIndexingStatus(const std::string& name, const utils::Identifier& uuid = {})
-      : SplunkHECProcessor(name, uuid) {
+  explicit QuerySplunkIndexingStatus(std::string name, const utils::Identifier& uuid = {})
+      : SplunkHECProcessor(std::move(name), uuid) {
   }
   QuerySplunkIndexingStatus(const QuerySplunkIndexingStatus&) = delete;
   QuerySplunkIndexingStatus(QuerySplunkIndexingStatus&&) = delete;
diff --git a/extensions/splunk/SplunkHECProcessor.h b/extensions/splunk/SplunkHECProcessor.h
index 308ac3a25..30f8ab779 100644
--- a/extensions/splunk/SplunkHECProcessor.h
+++ b/extensions/splunk/SplunkHECProcessor.h
@@ -16,13 +16,13 @@
  */
 
 #pragma once
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "controllers/SSLContextService.h"
 #include "core/Processor.h"
 
-
 namespace org::apache::nifi::minifi::extensions::curl {
 class HTTPClient;
 }
@@ -46,8 +46,8 @@ class SplunkHECProcessor : public core::Processor {
     };
   }
 
-  explicit SplunkHECProcessor(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {
+  explicit SplunkHECProcessor(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {
   }
   ~SplunkHECProcessor() override = default;
 
diff --git a/extensions/sql/processors/ExecuteSQL.cpp b/extensions/sql/processors/ExecuteSQL.cpp
index 388798817..f92d04f42 100644
--- a/extensions/sql/processors/ExecuteSQL.cpp
+++ b/extensions/sql/processors/ExecuteSQL.cpp
@@ -36,8 +36,8 @@ namespace org::apache::nifi::minifi::processors {
 const std::string ExecuteSQL::RESULT_ROW_COUNT = "executesql.row.count";
 const std::string ExecuteSQL::INPUT_FLOW_FILE_UUID = "input.flowfile.uuid";
 
-ExecuteSQL::ExecuteSQL(const std::string& name, const utils::Identifier& uuid)
-  : SQLProcessor(name, uuid, core::logging::LoggerFactory<ExecuteSQL>::getLogger()) {
+ExecuteSQL::ExecuteSQL(std::string name, const utils::Identifier& uuid)
+  : SQLProcessor(std::move(name), uuid, core::logging::LoggerFactory<ExecuteSQL>::getLogger()) {
 }
 
 void ExecuteSQL::initialize() {
diff --git a/extensions/sql/processors/ExecuteSQL.h b/extensions/sql/processors/ExecuteSQL.h
index 36d123c4b..ac8c1511d 100644
--- a/extensions/sql/processors/ExecuteSQL.h
+++ b/extensions/sql/processors/ExecuteSQL.h
@@ -28,16 +28,11 @@
 #include "FlowFileSource.h"
 #include "utils/ArrayUtils.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
-//! ExecuteSQL Class
 class ExecuteSQL : public SQLProcessor, public FlowFileSource {
  public:
-  explicit ExecuteSQL(const std::string& name, const utils::Identifier& uuid = {});
+  explicit ExecuteSQL(std::string name, const utils::Identifier& uuid = {});
 
   EXTENSIONAPI static constexpr const char* Description = "ExecuteSQL to execute SELECT statement via ODBC.";
 
@@ -65,8 +60,4 @@ class ExecuteSQL : public SQLProcessor, public FlowFileSource {
   EXTENSIONAPI static const std::string INPUT_FLOW_FILE_UUID;
 };
 
-}  // namespace processors
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/sql/processors/PutSQL.cpp b/extensions/sql/processors/PutSQL.cpp
index eeb1eea17..f579308b3 100644
--- a/extensions/sql/processors/PutSQL.cpp
+++ b/extensions/sql/processors/PutSQL.cpp
@@ -27,8 +27,8 @@
 
 namespace org::apache::nifi::minifi::processors {
 
-PutSQL::PutSQL(const std::string& name, const utils::Identifier& uuid)
-  : SQLProcessor(name, uuid, core::logging::LoggerFactory<PutSQL>::getLogger()) {
+PutSQL::PutSQL(std::string name, const utils::Identifier& uuid)
+  : SQLProcessor(std::move(name), uuid, core::logging::LoggerFactory<PutSQL>::getLogger()) {
 }
 
 void PutSQL::initialize() {
diff --git a/extensions/sql/processors/PutSQL.h b/extensions/sql/processors/PutSQL.h
index 3b8401a26..6a28bc9f9 100644
--- a/extensions/sql/processors/PutSQL.h
+++ b/extensions/sql/processors/PutSQL.h
@@ -30,7 +30,7 @@ namespace org::apache::nifi::minifi::processors {
 
 class PutSQL : public SQLProcessor {
  public:
-  explicit PutSQL(const std::string& name, const utils::Identifier& uuid = {});
+  explicit PutSQL(std::string name, const utils::Identifier& uuid = {});
 
   EXTENSIONAPI static constexpr const char* Description = "PutSQL to execute SQL command via ODBC.";
 
diff --git a/extensions/sql/processors/QueryDatabaseTable.cpp b/extensions/sql/processors/QueryDatabaseTable.cpp
index 940bf1545..6c1ef55d9 100644
--- a/extensions/sql/processors/QueryDatabaseTable.cpp
+++ b/extensions/sql/processors/QueryDatabaseTable.cpp
@@ -44,8 +44,8 @@ const std::string QueryDatabaseTable::RESULT_ROW_COUNT = "querydbtable.row.count
 const std::string QueryDatabaseTable::TABLENAME_KEY = "tablename";
 const std::string QueryDatabaseTable::MAXVALUE_KEY_PREFIX = "maxvalue.";
 
-QueryDatabaseTable::QueryDatabaseTable(const std::string& name, const utils::Identifier& uuid)
-  : SQLProcessor(name, uuid, core::logging::LoggerFactory<QueryDatabaseTable>::getLogger()) {
+QueryDatabaseTable::QueryDatabaseTable(std::string name, const utils::Identifier& uuid)
+  : SQLProcessor(std::move(name), uuid, core::logging::LoggerFactory<QueryDatabaseTable>::getLogger()) {
 }
 
 void QueryDatabaseTable::initialize() {
diff --git a/extensions/sql/processors/QueryDatabaseTable.h b/extensions/sql/processors/QueryDatabaseTable.h
index aeb3c581e..82faf054b 100644
--- a/extensions/sql/processors/QueryDatabaseTable.h
+++ b/extensions/sql/processors/QueryDatabaseTable.h
@@ -31,15 +31,11 @@
 #include "data/SQLColumnIdentifier.h"
 #include "utils/ArrayUtils.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class QueryDatabaseTable: public SQLProcessor, public FlowFileSource {
  public:
-  explicit QueryDatabaseTable(const std::string& name, const utils::Identifier& uuid = {});
+  explicit QueryDatabaseTable(std::string name, const utils::Identifier& uuid = {});
 
   EXTENSIONAPI static const std::string RESULT_TABLE_NAME;
   EXTENSIONAPI static const std::string RESULT_ROW_COUNT;
@@ -95,8 +91,4 @@ class QueryDatabaseTable: public SQLProcessor, public FlowFileSource {
   std::unordered_map<sql::SQLColumnIdentifier, std::string> max_values_;
 };
 
-}  // namespace processors
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/sql/processors/SQLProcessor.h b/extensions/sql/processors/SQLProcessor.h
index a52e59c17..025c07e0a 100644
--- a/extensions/sql/processors/SQLProcessor.h
+++ b/extensions/sql/processors/SQLProcessor.h
@@ -27,11 +27,7 @@
 
 #include "services/DatabaseService.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class SQLProcessor: public core::Processor {
  public:
@@ -39,8 +35,8 @@ class SQLProcessor: public core::Processor {
   static auto properties() { return std::array{DBControllerService}; }
 
  protected:
-  SQLProcessor(const std::string& name, const utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
-    : core::Processor(name, uuid), logger_(std::move(logger)) {
+  SQLProcessor(std::string name, const utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
+    : core::Processor(std::move(name), uuid), logger_(std::move(logger)) {
   }
 
   static std::vector<std::string> collectArguments(const std::shared_ptr<core::FlowFile>& flow_file);
@@ -61,9 +57,5 @@ class SQLProcessor: public core::Processor {
   std::unique_ptr<sql::Connection> connection_;
 };
 
-}  // namespace processors
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::processors
 
diff --git a/extensions/sql/services/DatabaseService.h b/extensions/sql/services/DatabaseService.h
index ec5bf0595..f21e9f410 100644
--- a/extensions/sql/services/DatabaseService.h
+++ b/extensions/sql/services/DatabaseService.h
@@ -32,14 +32,14 @@ namespace org::apache::nifi::minifi::sql::controllers {
  */
 class DatabaseService : public core::controller::ControllerService {
  public:
-  explicit DatabaseService(const std::string &name, const utils::Identifier &uuid = {})
-      : ControllerService(name, uuid),
+  explicit DatabaseService(std::string name, const utils::Identifier &uuid = {})
+      : ControllerService(std::move(name), uuid),
         initialized_(false) {
     initialize();
   }
 
-  explicit DatabaseService(const std::string &name, const std::shared_ptr<Configure> &configuration)
-      : ControllerService(name),
+  explicit DatabaseService(std::string name, const std::shared_ptr<Configure> &configuration)
+      : ControllerService(std::move(name)),
         initialized_(false) {
     setConfiguration(configuration);
     initialize();
diff --git a/extensions/sql/services/ODBCConnector.h b/extensions/sql/services/ODBCConnector.h
index bd2968f31..48b008cf0 100644
--- a/extensions/sql/services/ODBCConnector.h
+++ b/extensions/sql/services/ODBCConnector.h
@@ -32,13 +32,13 @@ namespace org::apache::nifi::minifi::sql::controllers {
  */
 class ODBCService : public DatabaseService {
  public:
-  explicit ODBCService(const std::string &name, const utils::Identifier &uuid = {})
-    : DatabaseService(name, uuid) {
+  explicit ODBCService(std::string name, const utils::Identifier &uuid = {})
+    : DatabaseService(std::move(name), uuid) {
     initialize();
   }
 
-  explicit ODBCService(const std::string &name, const std::shared_ptr<Configure> &configuration)
-      : DatabaseService(name) {
+  explicit ODBCService(std::string name, const std::shared_ptr<Configure> &configuration)
+      : DatabaseService(std::move(name)) {
     setConfiguration(configuration);
     initialize();
   }
diff --git a/extensions/standard-processors/controllers/UnorderedMapKeyValueStoreService.cpp b/extensions/standard-processors/controllers/UnorderedMapKeyValueStoreService.cpp
index 3a9e92d72..ffbd1b241 100644
--- a/extensions/standard-processors/controllers/UnorderedMapKeyValueStoreService.cpp
+++ b/extensions/standard-processors/controllers/UnorderedMapKeyValueStoreService.cpp
@@ -26,12 +26,12 @@ const core::Property UnorderedMapKeyValueStoreService::LinkedServices(
     ->withDescription("Referenced Controller Services")
     ->build());
 
-UnorderedMapKeyValueStoreService::UnorderedMapKeyValueStoreService(const std::string& name, const utils::Identifier& uuid /*= utils::Identifier()*/)
-    : PersistableKeyValueStoreService(name, uuid) {
+UnorderedMapKeyValueStoreService::UnorderedMapKeyValueStoreService(std::string name, const utils::Identifier& uuid /*= utils::Identifier()*/)
+    : PersistableKeyValueStoreService(std::move(name), uuid) {
 }
 
-UnorderedMapKeyValueStoreService::UnorderedMapKeyValueStoreService(const std::string& name, const std::shared_ptr<Configure> &configuration)
-    : PersistableKeyValueStoreService(name) {
+UnorderedMapKeyValueStoreService::UnorderedMapKeyValueStoreService(std::string name, const std::shared_ptr<Configure> &configuration)
+    : PersistableKeyValueStoreService(std::move(name)) {
   setConfiguration(configuration);
 }
 
diff --git a/extensions/standard-processors/controllers/UnorderedMapKeyValueStoreService.h b/extensions/standard-processors/controllers/UnorderedMapKeyValueStoreService.h
index c1595ee2d..baa898daf 100644
--- a/extensions/standard-processors/controllers/UnorderedMapKeyValueStoreService.h
+++ b/extensions/standard-processors/controllers/UnorderedMapKeyValueStoreService.h
@@ -34,8 +34,8 @@ namespace org::apache::nifi::minifi::controllers {
 /// Key-value store service purely in RAM without disk usage
 class UnorderedMapKeyValueStoreService : virtual public PersistableKeyValueStoreService {
  public:
-  explicit UnorderedMapKeyValueStoreService(const std::string& name, const utils::Identifier& uuid = {});
-  explicit UnorderedMapKeyValueStoreService(const std::string& name, const std::shared_ptr<Configure>& configuration);
+  explicit UnorderedMapKeyValueStoreService(std::string name, const utils::Identifier& uuid = {});
+  explicit UnorderedMapKeyValueStoreService(std::string name, const std::shared_ptr<Configure>& configuration);
 
   ~UnorderedMapKeyValueStoreService() override;
 
diff --git a/extensions/standard-processors/controllers/UnorderedMapPersistableKeyValueStoreService.cpp b/extensions/standard-processors/controllers/UnorderedMapPersistableKeyValueStoreService.cpp
index 9bc826f64..309a53a71 100644
--- a/extensions/standard-processors/controllers/UnorderedMapPersistableKeyValueStoreService.cpp
+++ b/extensions/standard-processors/controllers/UnorderedMapPersistableKeyValueStoreService.cpp
@@ -72,16 +72,16 @@ const core::Property UnorderedMapPersistableKeyValueStoreService::File(
     ->isRequired(true)
     ->build());
 
-UnorderedMapPersistableKeyValueStoreService::UnorderedMapPersistableKeyValueStoreService(const std::string& name, const utils::Identifier& uuid /*= utils::Identifier()*/)
+UnorderedMapPersistableKeyValueStoreService::UnorderedMapPersistableKeyValueStoreService(std::string name, const utils::Identifier& uuid /*= utils::Identifier()*/)
     : PersistableKeyValueStoreService(name, uuid)
     , AbstractAutoPersistingKeyValueStoreService(name, uuid)
-    , UnorderedMapKeyValueStoreService(name, uuid) {
+    , UnorderedMapKeyValueStoreService(std::move(name), uuid) {
 }
 
-UnorderedMapPersistableKeyValueStoreService::UnorderedMapPersistableKeyValueStoreService(const std::string& name, const std::shared_ptr<Configure> &configuration)
+UnorderedMapPersistableKeyValueStoreService::UnorderedMapPersistableKeyValueStoreService(std::string name, const std::shared_ptr<Configure> &configuration)
     : PersistableKeyValueStoreService(name)
     , AbstractAutoPersistingKeyValueStoreService(name)
-    , UnorderedMapKeyValueStoreService(name) {
+    , UnorderedMapKeyValueStoreService(std::move(name)) {
   setConfiguration(configuration);
 }
 
diff --git a/extensions/standard-processors/controllers/UnorderedMapPersistableKeyValueStoreService.h b/extensions/standard-processors/controllers/UnorderedMapPersistableKeyValueStoreService.h
index 68a973236..d0675c25f 100644
--- a/extensions/standard-processors/controllers/UnorderedMapPersistableKeyValueStoreService.h
+++ b/extensions/standard-processors/controllers/UnorderedMapPersistableKeyValueStoreService.h
@@ -34,8 +34,8 @@ namespace org::apache::nifi::minifi::controllers {
 class UnorderedMapPersistableKeyValueStoreService : public AbstractAutoPersistingKeyValueStoreService,
                                                     public UnorderedMapKeyValueStoreService {
  public:
-  explicit UnorderedMapPersistableKeyValueStoreService(const std::string& name, const utils::Identifier& uuid = {});
-  explicit UnorderedMapPersistableKeyValueStoreService(const std::string& name, const std::shared_ptr<Configure>& configuration);
+  explicit UnorderedMapPersistableKeyValueStoreService(std::string name, const utils::Identifier& uuid = {});
+  explicit UnorderedMapPersistableKeyValueStoreService(std::string name, const std::shared_ptr<Configure>& configuration);
 
   ~UnorderedMapPersistableKeyValueStoreService() override;
 
diff --git a/extensions/standard-processors/processors/AppendHostInfo.h b/extensions/standard-processors/processors/AppendHostInfo.h
index f0ff08772..13ec9ca4c 100644
--- a/extensions/standard-processors/processors/AppendHostInfo.h
+++ b/extensions/standard-processors/processors/AppendHostInfo.h
@@ -21,10 +21,11 @@
 #define EXTENSIONS_STANDARD_PROCESSORS_PROCESSORS_APPENDHOSTINFO_H_
 
 #include <memory>
-#include <string>
 #include <optional>
 #include <regex>
 #include <shared_mutex>
+#include <string>
+#include <utility>
 
 #include "core/Property.h"
 #include "FlowFileRecord.h"
@@ -34,19 +35,15 @@
 #include "core/logging/LoggerConfiguration.h"
 #include "utils/Export.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class AppendHostInfo : public core::Processor {
  public:
   static constexpr const char* REFRESH_POLICY_ON_TRIGGER = "On every trigger";
   static constexpr const char* REFRESH_POLICY_ON_SCHEDULE = "On schedule";
 
-  explicit AppendHostInfo(const std::string& name, const utils::Identifier& uuid = {})
-      : core::Processor(name, uuid),
+  explicit AppendHostInfo(std::string name, const utils::Identifier& uuid = {})
+      : core::Processor(std::move(name), uuid),
         refresh_on_trigger_(false) {
   }
   ~AppendHostInfo() override = default;
@@ -95,10 +92,6 @@ class AppendHostInfo : public core::Processor {
   std::optional<std::string> ipaddresses_;
 };
 
-}  // namespace processors
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::processors
 
 #endif  // EXTENSIONS_STANDARD_PROCESSORS_PROCESSORS_APPENDHOSTINFO_H_
diff --git a/extensions/standard-processors/processors/AttributesToJSON.h b/extensions/standard-processors/processors/AttributesToJSON.h
index b20f0e3a2..0d90174cf 100644
--- a/extensions/standard-processors/processors/AttributesToJSON.h
+++ b/extensions/standard-processors/processors/AttributesToJSON.h
@@ -19,12 +19,13 @@
  */
 #pragma once
 
-#include <vector>
-#include <string>
+#include <map>
+#include <memory>
 #include <set>
+#include <string>
 #include <unordered_set>
-#include <memory>
-#include <map>
+#include <utility>
+#include <vector>
 
 #include "rapidjson/document.h"
 #include "core/FlowFile.h"
@@ -36,11 +37,7 @@
 #include "utils/Export.h"
 #include "utils/RegexUtils.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class AttributesToJSON : public core::Processor {
  public:
@@ -77,8 +74,8 @@ class AttributesToJSON : public core::Processor {
     (FLOWFILE_CONTENT, "flowfile-content")
   )
 
-  explicit AttributesToJSON(const std::string& name, const utils::Identifier& uuid = {})
-      : core::Processor(name, uuid) {
+  explicit AttributesToJSON(std::string name, const utils::Identifier& uuid = {})
+      : core::Processor(std::move(name), uuid) {
   }
 
   void initialize() override;
@@ -99,8 +96,4 @@ class AttributesToJSON : public core::Processor {
   bool null_value_ = false;
 };
 
-}  // namespace processors
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/standard-processors/processors/DefragmentText.h b/extensions/standard-processors/processors/DefragmentText.h
index 3ec22eb0a..ac97b0dd4 100644
--- a/extensions/standard-processors/processors/DefragmentText.h
+++ b/extensions/standard-processors/processors/DefragmentText.h
@@ -18,9 +18,10 @@
 #pragma once
 
 #include <memory>
-#include <string>
 #include <set>
+#include <string>
 #include <unordered_map>
+#include <utility>
 
 #include "core/Processor.h"
 #include "core/FlowFileStore.h"
@@ -34,8 +35,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class DefragmentText : public core::Processor {
  public:
-  explicit DefragmentText(const std::string& name,  const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {
+  explicit DefragmentText(std::string name,  const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "DefragmentText splits and merges incoming flowfiles so cohesive messages are not split between them. "
diff --git a/extensions/standard-processors/processors/ExecuteProcess.h b/extensions/standard-processors/processors/ExecuteProcess.h
index f61681b8b..e8e3c0d97 100644
--- a/extensions/standard-processors/processors/ExecuteProcess.h
+++ b/extensions/standard-processors/processors/ExecuteProcess.h
@@ -33,6 +33,7 @@
 #include <thread>
 #include <vector>
 
+#include <utility>
 #include "core/Core.h"
 #include "core/logging/LoggerConfiguration.h"
 #include "core/Processor.h"
@@ -44,8 +45,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class ExecuteProcess : public core::Processor {
  public:
-  explicit ExecuteProcess(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid),
+  explicit ExecuteProcess(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid),
         working_dir_("."),
         redirect_error_stream_(false),
         pid_(0) {
diff --git a/extensions/standard-processors/processors/ExtractText.h b/extensions/standard-processors/processors/ExtractText.h
index 415093008..e51136209 100644
--- a/extensions/standard-processors/processors/ExtractText.h
+++ b/extensions/standard-processors/processors/ExtractText.h
@@ -21,6 +21,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "core/Processor.h"
@@ -32,8 +33,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class ExtractText : public core::Processor {
  public:
-  explicit ExtractText(const std::string& name,  const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {
+  explicit ExtractText(std::string name,  const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "Extracts the content of a FlowFile and places it into an attribute.";
diff --git a/extensions/standard-processors/processors/FetchFile.h b/extensions/standard-processors/processors/FetchFile.h
index e0f09f69c..70112fa59 100644
--- a/extensions/standard-processors/processors/FetchFile.h
+++ b/extensions/standard-processors/processors/FetchFile.h
@@ -16,8 +16,9 @@
  */
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "core/Processor.h"
 #include "core/ProcessSession.h"
@@ -51,8 +52,8 @@ class FetchFile : public core::Processor {
     (LOGGING_OFF, "OFF")
   )
 
-  explicit FetchFile(const std::string& name, const utils::Identifier& uuid = {})
-    : core::Processor(name, uuid) {
+  explicit FetchFile(std::string name, const utils::Identifier& uuid = {})
+    : core::Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "Reads the contents of a file from disk and streams it into the contents of an incoming FlowFile. "
diff --git a/extensions/standard-processors/processors/GenerateFlowFile.h b/extensions/standard-processors/processors/GenerateFlowFile.h
index 65573ec04..e033ee816 100644
--- a/extensions/standard-processors/processors/GenerateFlowFile.h
+++ b/extensions/standard-processors/processors/GenerateFlowFile.h
@@ -35,8 +35,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class GenerateFlowFile : public core::Processor {
  public:
-  GenerateFlowFile(const std::string& name, const utils::Identifier& uuid = {}) // NOLINT
-      : Processor(name, uuid) {
+  GenerateFlowFile(std::string name, const utils::Identifier& uuid = {}) // NOLINT
+      : Processor(std::move(name), uuid) {
     batchSize_ = 1;
     uniqueFlowFile_ = true;
     fileSize_ = 1024;
diff --git a/extensions/standard-processors/processors/GetFile.h b/extensions/standard-processors/processors/GetFile.h
index 9e7d9ca9c..ada85962e 100644
--- a/extensions/standard-processors/processors/GetFile.h
+++ b/extensions/standard-processors/processors/GetFile.h
@@ -80,8 +80,8 @@ class GetFileMetrics : public core::ProcessorMetrics {
 
 class GetFile : public core::Processor {
  public:
-  explicit GetFile(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid, std::make_shared<GetFileMetrics>(*this)) {
+  explicit GetFile(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid, std::make_shared<GetFileMetrics>(*this)) {
   }
   ~GetFile() override = default;
 
diff --git a/extensions/standard-processors/processors/GetTCP.h b/extensions/standard-processors/processors/GetTCP.h
index c2085ce37..0685f20cf 100644
--- a/extensions/standard-processors/processors/GetTCP.h
+++ b/extensions/standard-processors/processors/GetTCP.h
@@ -99,8 +99,8 @@ class DataHandler {
 
 class GetTCP : public core::Processor {
  public:
-  explicit GetTCP(const std::string& name, const utils::Identifier& uuid = {})
-    : Processor(name, uuid),
+  explicit GetTCP(std::string name, const utils::Identifier& uuid = {})
+    : Processor(std::move(name), uuid),
       running_(false),
       stay_connected_(true),
       concurrent_handlers_(2),
diff --git a/extensions/standard-processors/processors/HashContent.h b/extensions/standard-processors/processors/HashContent.h
index a0c877c90..b7818e6a4 100644
--- a/extensions/standard-processors/processors/HashContent.h
+++ b/extensions/standard-processors/processors/HashContent.h
@@ -126,8 +126,8 @@ static const std::map<std::string, const std::function<HashReturnType(const std:
 
 class HashContent : public core::Processor {
  public:
-  explicit HashContent(const std::string& name,  const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {
+  explicit HashContent(std::string name,  const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "HashContent calculates the checksum of the content of the flowfile and adds it as an attribute. "
diff --git a/extensions/standard-processors/processors/ListFile.h b/extensions/standard-processors/processors/ListFile.h
index 2fb3d12dc..1d80bcca7 100644
--- a/extensions/standard-processors/processors/ListFile.h
+++ b/extensions/standard-processors/processors/ListFile.h
@@ -16,10 +16,11 @@
  */
 #pragma once
 
-#include <string>
-#include <regex>
-#include <optional>
 #include <memory>
+#include <optional>
+#include <regex>
+#include <string>
+#include <utility>
 
 #include "core/Processor.h"
 #include "core/ProcessSession.h"
@@ -33,8 +34,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class ListFile : public core::Processor {
  public:
-  explicit ListFile(const std::string& name, const utils::Identifier& uuid = {})
-    : core::Processor(name, uuid) {
+  explicit ListFile(std::string name, const utils::Identifier& uuid = {})
+    : core::Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "Retrieves a listing of files from the local filesystem. For each file that is listed, "
diff --git a/extensions/standard-processors/processors/ListenSyslog.h b/extensions/standard-processors/processors/ListenSyslog.h
index 4f60a3ab7..ebdb16d2c 100644
--- a/extensions/standard-processors/processors/ListenSyslog.h
+++ b/extensions/standard-processors/processors/ListenSyslog.h
@@ -30,8 +30,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class ListenSyslog : public NetworkListenerProcessor {
  public:
-  explicit ListenSyslog(const std::string& name, const utils::Identifier& uuid = {})
-      : NetworkListenerProcessor(name, uuid, core::logging::LoggerFactory<ListenSyslog>::getLogger()) {
+  explicit ListenSyslog(std::string name, const utils::Identifier& uuid = {})
+      : NetworkListenerProcessor(std::move(name), uuid, core::logging::LoggerFactory<ListenSyslog>::getLogger()) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "Listens for Syslog messages being sent to a given port over TCP or UDP. "
diff --git a/extensions/standard-processors/processors/ListenTCP.h b/extensions/standard-processors/processors/ListenTCP.h
index c720941b9..ed41eba80 100644
--- a/extensions/standard-processors/processors/ListenTCP.h
+++ b/extensions/standard-processors/processors/ListenTCP.h
@@ -18,6 +18,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "NetworkListenerProcessor.h"
 #include "core/logging/LoggerConfiguration.h"
@@ -27,8 +28,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class ListenTCP : public NetworkListenerProcessor {
  public:
-  explicit ListenTCP(const std::string& name, const utils::Identifier& uuid = {})
-    : NetworkListenerProcessor(name, uuid, core::logging::LoggerFactory<ListenTCP>::getLogger()) {
+  explicit ListenTCP(std::string name, const utils::Identifier& uuid = {})
+    : NetworkListenerProcessor(std::move(name), uuid, core::logging::LoggerFactory<ListenTCP>::getLogger()) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "Listens for incoming TCP connections and reads data from each connection using a line separator as the message demarcator. "
diff --git a/extensions/standard-processors/processors/LogAttribute.h b/extensions/standard-processors/processors/LogAttribute.h
index ab3ee71c4..e539a8979 100644
--- a/extensions/standard-processors/processors/LogAttribute.h
+++ b/extensions/standard-processors/processors/LogAttribute.h
@@ -36,8 +36,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class LogAttribute : public core::Processor {
  public:
-  explicit LogAttribute(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid),
+  explicit LogAttribute(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid),
         flowfiles_to_log_(1),
         hexencode_(false),
         max_line_length_(80U) {
diff --git a/extensions/standard-processors/processors/NetworkListenerProcessor.h b/extensions/standard-processors/processors/NetworkListenerProcessor.h
index 24ad94436..c06de77dd 100644
--- a/extensions/standard-processors/processors/NetworkListenerProcessor.h
+++ b/extensions/standard-processors/processors/NetworkListenerProcessor.h
@@ -32,8 +32,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class NetworkListenerProcessor : public core::Processor {
  public:
-  NetworkListenerProcessor(const std::string& name, const utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
-    : core::Processor(name, uuid),
+  NetworkListenerProcessor(std::string name, const utils::Identifier& uuid, std::shared_ptr<core::logging::Logger> logger)
+    : core::Processor(std::move(name), uuid),
       logger_(std::move(logger)) {
   }
   ~NetworkListenerProcessor() override;
diff --git a/extensions/standard-processors/processors/PutFile.h b/extensions/standard-processors/processors/PutFile.h
index d2b2e1c11..4ee674cd1 100644
--- a/extensions/standard-processors/processors/PutFile.h
+++ b/extensions/standard-processors/processors/PutFile.h
@@ -39,8 +39,8 @@ class PutFile : public core::Processor {
   static constexpr char const *CONFLICT_RESOLUTION_STRATEGY_IGNORE = "ignore";
   static constexpr char const *CONFLICT_RESOLUTION_STRATEGY_FAIL = "fail";
 
-  PutFile(const std::string& name,  const utils::Identifier& uuid = {}) // NOLINT
-      : core::Processor(name, uuid) {
+  explicit PutFile(std::string name,  const utils::Identifier& uuid = {})
+      : core::Processor(std::move(name), uuid) {
   }
 
   ~PutFile() override = default;
diff --git a/extensions/standard-processors/processors/PutUDP.cpp b/extensions/standard-processors/processors/PutUDP.cpp
index 56af0f306..037336769 100644
--- a/extensions/standard-processors/processors/PutUDP.cpp
+++ b/extensions/standard-processors/processors/PutUDP.cpp
@@ -48,8 +48,8 @@ const core::Property PutUDP::Port = core::PropertyBuilder::createProperty("Port"
 const core::Relationship PutUDP::Success{"success", "FlowFiles that are sent to the destination are sent out this relationship."};
 const core::Relationship PutUDP::Failure{"failure", "FlowFiles that encountered IO errors are send out this relationship."};
 
-PutUDP::PutUDP(const std::string& name, const utils::Identifier& uuid)
-    :Processor(name, uuid), logger_{core::logging::LoggerFactory<PutUDP>::getLogger()}
+PutUDP::PutUDP(std::string name, const utils::Identifier& uuid)
+    : Processor(std::move(name), uuid), logger_{core::logging::LoggerFactory<PutUDP>::getLogger()}
 { }
 
 PutUDP::~PutUDP() = default;
diff --git a/extensions/standard-processors/processors/PutUDP.h b/extensions/standard-processors/processors/PutUDP.h
index cf69fce3d..82f1c92e9 100644
--- a/extensions/standard-processors/processors/PutUDP.h
+++ b/extensions/standard-processors/processors/PutUDP.h
@@ -18,6 +18,7 @@
 #include <cstddef>
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "Processor.h"
@@ -47,7 +48,7 @@ class PutUDP final : public core::Processor {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit PutUDP(const std::string& name, const utils::Identifier& uuid = {});
+  explicit PutUDP(std::string name, const utils::Identifier& uuid = {});
   PutUDP(const PutUDP&) = delete;
   PutUDP& operator=(const PutUDP&) = delete;
   ~PutUDP() final;
diff --git a/extensions/standard-processors/processors/ReplaceText.cpp b/extensions/standard-processors/processors/ReplaceText.cpp
index 74d0357ce..ac16e230b 100644
--- a/extensions/standard-processors/processors/ReplaceText.cpp
+++ b/extensions/standard-processors/processors/ReplaceText.cpp
@@ -75,8 +75,8 @@ const core::Relationship ReplaceText::Success("success", "FlowFiles that have be
                                                          "This includes both FlowFiles that had text replaced and those that did not.");
 const core::Relationship ReplaceText::Failure("failure", "FlowFiles that could not be updated are routed to this relationship.");
 
-ReplaceText::ReplaceText(const std::string& name, const utils::Identifier& uuid)
-  : core::Processor(name, uuid),
+ReplaceText::ReplaceText(std::string name, const utils::Identifier& uuid)
+  : core::Processor(std::move(name), uuid),
     logger_(core::logging::LoggerFactory<ReplaceText>::getLogger()) {
 }
 
diff --git a/extensions/standard-processors/processors/ReplaceText.h b/extensions/standard-processors/processors/ReplaceText.h
index 70b16ad53..d47b55b16 100644
--- a/extensions/standard-processors/processors/ReplaceText.h
+++ b/extensions/standard-processors/processors/ReplaceText.h
@@ -84,7 +84,7 @@ class ReplaceText : public core::Processor {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit ReplaceText(const std::string& name, const utils::Identifier& uuid = {});
+  explicit ReplaceText(std::string name, const utils::Identifier& uuid = {});
   void initialize() override;
   void onSchedule(const std::shared_ptr<core::ProcessContext>& context, const std::shared_ptr<core::ProcessSessionFactory>&) override;
   void onTrigger(const std::shared_ptr<core::ProcessContext>& context, const std::shared_ptr<core::ProcessSession>& session) override;
diff --git a/extensions/standard-processors/processors/RetryFlowFile.h b/extensions/standard-processors/processors/RetryFlowFile.h
index 270fb331d..c1b24be8d 100644
--- a/extensions/standard-processors/processors/RetryFlowFile.h
+++ b/extensions/standard-processors/processors/RetryFlowFile.h
@@ -33,16 +33,12 @@
 #include "utils/OptionalUtils.h"
 #include "utils/Export.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class RetryFlowFile : public core::Processor {
  public:
-  explicit RetryFlowFile(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {}
+  explicit RetryFlowFile(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {}
   ~RetryFlowFile() override = default;
 
   EXTENSIONAPI static constexpr const char* Description = "FlowFiles passed to this Processor have a 'Retry Attribute' value checked against a configured 'Maximum Retries' value. "
@@ -110,8 +106,4 @@ class RetryFlowFile : public core::Processor {
   std::shared_ptr<core::logging::Logger> logger_ = core::logging::LoggerFactory<RetryFlowFile>::getLogger();
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/extensions/standard-processors/processors/RouteOnAttribute.h b/extensions/standard-processors/processors/RouteOnAttribute.h
index 1c54e36a7..28a4c222b 100644
--- a/extensions/standard-processors/processors/RouteOnAttribute.h
+++ b/extensions/standard-processors/processors/RouteOnAttribute.h
@@ -23,6 +23,7 @@
 #include <map>
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "FlowFileRecord.h"
 #include "core/Processor.h"
@@ -30,16 +31,12 @@
 #include "core/Core.h"
 #include "core/logging/LoggerConfiguration.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class RouteOnAttribute : public core::Processor {
  public:
-  explicit RouteOnAttribute(const std::string& name, const utils::Identifier& uuid = {})
-      : core::Processor(name, uuid) {
+  explicit RouteOnAttribute(std::string name, const utils::Identifier& uuid = {})
+      : core::Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "Routes FlowFiles based on their Attributes using the Attribute Expression Language.";
@@ -67,10 +64,6 @@ class RouteOnAttribute : public core::Processor {
   std::map<std::string, core::Relationship> route_rels_;
 };
 
-}  // namespace processors
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::processors
 
 #endif  // EXTENSIONS_STANDARD_PROCESSORS_PROCESSORS_ROUTEONATTRIBUTE_H_
diff --git a/extensions/standard-processors/processors/RouteText.cpp b/extensions/standard-processors/processors/RouteText.cpp
index 0f1592cb0..98f5af206 100644
--- a/extensions/standard-processors/processors/RouteText.cpp
+++ b/extensions/standard-processors/processors/RouteText.cpp
@@ -104,8 +104,8 @@ const core::Relationship RouteText::Unmatched("unmatched", "Segments that do not
 
 const core::Relationship RouteText::Matched("matched", "Segments that satisfy the required user-defined rules will be routed to this Relationship");
 
-RouteText::RouteText(const std::string& name, const utils::Identifier& uuid)
-    : core::Processor(name, uuid), logger_(core::logging::LoggerFactory<RouteText>::getLogger()) {}
+RouteText::RouteText(std::string name, const utils::Identifier& uuid)
+    : core::Processor(std::move(name), uuid), logger_(core::logging::LoggerFactory<RouteText>::getLogger()) {}
 
 void RouteText::initialize() {
   setSupportedProperties(properties());
diff --git a/extensions/standard-processors/processors/RouteText.h b/extensions/standard-processors/processors/RouteText.h
index e2b465dd0..9fd0a396c 100644
--- a/extensions/standard-processors/processors/RouteText.h
+++ b/extensions/standard-processors/processors/RouteText.h
@@ -74,7 +74,7 @@ class RouteText : public core::Processor {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit RouteText(const std::string& name, const utils::Identifier& uuid = {});
+  explicit RouteText(std::string name, const utils::Identifier& uuid = {});
 
   void initialize() override;
   void onSchedule(core::ProcessContext *context, core::ProcessSessionFactory* sessionFactory) override;
diff --git a/extensions/standard-processors/processors/TailFile.h b/extensions/standard-processors/processors/TailFile.h
index 88cf7c018..0523ad73e 100644
--- a/extensions/standard-processors/processors/TailFile.h
+++ b/extensions/standard-processors/processors/TailFile.h
@@ -79,8 +79,8 @@ SMART_ENUM(InitialStartPositions,
 
 class TailFile : public core::Processor {
  public:
-  explicit TailFile(const std::string& name, const utils::Identifier& uuid = {})
-      : core::Processor(name, uuid) {
+  explicit TailFile(std::string name, const utils::Identifier& uuid = {})
+      : core::Processor(std::move(name), uuid) {
   }
 
   ~TailFile() override = default;
diff --git a/extensions/standard-processors/processors/UpdateAttribute.h b/extensions/standard-processors/processors/UpdateAttribute.h
index 81e6a2c28..a408e2352 100644
--- a/extensions/standard-processors/processors/UpdateAttribute.h
+++ b/extensions/standard-processors/processors/UpdateAttribute.h
@@ -22,6 +22,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "FlowFileRecord.h"
@@ -30,16 +31,12 @@
 #include "core/Core.h"
 #include "core/logging/LoggerConfiguration.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class UpdateAttribute : public core::Processor {
  public:
-  UpdateAttribute(const std::string& name,  const utils::Identifier& uuid = {}) // NOLINT
-      : core::Processor(name, uuid) {
+  UpdateAttribute(std::string name,  const utils::Identifier& uuid = {}) // NOLINT
+      : core::Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "This processor updates the attributes of a FlowFile using properties that are added by the user. "
@@ -67,10 +64,6 @@ class UpdateAttribute : public core::Processor {
   std::vector<core::Property> attributes_;
 };
 
-}  // namespace processors
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::processors
 
 #endif  // EXTENSIONS_STANDARD_PROCESSORS_PROCESSORS_UPDATEATTRIBUTE_H_
diff --git a/extensions/standard-processors/tests/unit/DefragmentTextTests.cpp b/extensions/standard-processors/tests/unit/DefragmentTextTests.cpp
index 7fcbbdc8c..b746218cf 100644
--- a/extensions/standard-processors/tests/unit/DefragmentTextTests.cpp
+++ b/extensions/standard-processors/tests/unit/DefragmentTextTests.cpp
@@ -322,8 +322,8 @@ class FragmentGenerator : public core::Processor {
   static constexpr bool IsSingleThreaded = false;
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit FragmentGenerator(const std::string& name, const utils::Identifier& uuid = utils::Identifier())
-      : Processor(name, uuid) {
+  explicit FragmentGenerator(std::string name, const utils::Identifier& uuid = utils::Identifier())
+      : Processor(std::move(name), uuid) {
   }
 
   void onTrigger(core::ProcessContext*, core::ProcessSession* session) override {
diff --git a/extensions/standard-processors/tests/unit/ProcessorTests.cpp b/extensions/standard-processors/tests/unit/ProcessorTests.cpp
index 3b4d49079..e7253779b 100644
--- a/extensions/standard-processors/tests/unit/ProcessorTests.cpp
+++ b/extensions/standard-processors/tests/unit/ProcessorTests.cpp
@@ -497,8 +497,8 @@ TEST_CASE("Test Find file", "[getfileCreate3]") {
 
 class TestProcessorNoContent : public minifi::core::Processor {
  public:
-  explicit TestProcessorNoContent(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {
+  explicit TestProcessorNoContent(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {
   }
 
   static constexpr const char* Description = "test resource";
diff --git a/extensions/systemd/ConsumeJournald.cpp b/extensions/systemd/ConsumeJournald.cpp
index 979cadbaf..b43788210 100644
--- a/extensions/systemd/ConsumeJournald.cpp
+++ b/extensions/systemd/ConsumeJournald.cpp
@@ -73,8 +73,8 @@ const core::Property ConsumeJournald::TimestampFormat = core::PropertyBuilder::c
     ->isRequired(true)
     ->build();
 
-ConsumeJournald::ConsumeJournald(const std::string &name, const utils::Identifier &id, std::unique_ptr<libwrapper::LibWrapper>&& libwrapper)
-    :core::Processor{name, id}, libwrapper_{std::move(libwrapper)}
+ConsumeJournald::ConsumeJournald(std::string name, const utils::Identifier &id, std::unique_ptr<libwrapper::LibWrapper>&& libwrapper)
+    :core::Processor{std::move(name), id}, libwrapper_{std::move(libwrapper)}
 {}
 
 void ConsumeJournald::initialize() {
diff --git a/extensions/systemd/ConsumeJournald.h b/extensions/systemd/ConsumeJournald.h
index 0554729ad..f6add017c 100644
--- a/extensions/systemd/ConsumeJournald.h
+++ b/extensions/systemd/ConsumeJournald.h
@@ -37,7 +37,7 @@
 #include "utils/gsl.h"
 #include "utils/FifoExecutor.h"
 
-namespace org { namespace apache { namespace nifi { namespace minifi { namespace extensions { namespace systemd {
+namespace org::apache::nifi::minifi::extensions::systemd {
 
 enum class PayloadFormat { Raw, Syslog };
 
@@ -80,7 +80,7 @@ class ConsumeJournald final : public core::Processor {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit ConsumeJournald(const std::string& name, const utils::Identifier& id = {}, std::unique_ptr<libwrapper::LibWrapper>&& = libwrapper::createLibWrapper());
+  explicit ConsumeJournald(std::string name, const utils::Identifier& id = {}, std::unique_ptr<libwrapper::LibWrapper>&& = libwrapper::createLibWrapper());
   ConsumeJournald(const ConsumeJournald&) = delete;
   ConsumeJournald(ConsumeJournald&&) = delete;
   ConsumeJournald& operator=(const ConsumeJournald&) = delete;
@@ -123,9 +123,4 @@ class ConsumeJournald final : public core::Processor {
   std::string timestamp_format_ = "%x %X %Z";
 };
 
-}  // namespace systemd
-}  // namespace extensions
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::extensions::systemd
diff --git a/extensions/test-processors/KamikazeProcessor.h b/extensions/test-processors/KamikazeProcessor.h
index c13b1b29d..aea568f8a 100644
--- a/extensions/test-processors/KamikazeProcessor.h
+++ b/extensions/test-processors/KamikazeProcessor.h
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "core/Processor.h"
 #include "core/ProcessSession.h"
@@ -34,8 +35,8 @@ class KamikazeProcessor : public core::Processor {
   EXTENSIONAPI static const std::string OnTriggerLogStr;
   EXTENSIONAPI static const std::string OnUnScheduleLogStr;
 
-  explicit KamikazeProcessor(const std::string& name, const utils::Identifier& uuid = utils::Identifier())
-      : Processor(name, uuid) {
+  explicit KamikazeProcessor(std::string name, const utils::Identifier& uuid = utils::Identifier())
+      : Processor(std::move(name), uuid) {
   }
 
   EXTENSIONAPI static constexpr const char* Description = "This processor can throw exceptions in onTrigger and onSchedule calls based on configuration. Only for testing purposes.";
diff --git a/extensions/test-processors/LogOnDestructionProcessor.h b/extensions/test-processors/LogOnDestructionProcessor.h
index f9be1152b..aa8670a4e 100644
--- a/extensions/test-processors/LogOnDestructionProcessor.h
+++ b/extensions/test-processors/LogOnDestructionProcessor.h
@@ -20,6 +20,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "core/logging/LoggerConfiguration.h"
 #include "core/Processor.h"
@@ -28,8 +29,8 @@ namespace org::apache::nifi::minifi::processors {
 
 class LogOnDestructionProcessor : public core::Processor {
  public:
-  explicit LogOnDestructionProcessor(const std::string& name, const utils::Identifier& uuid = utils::Identifier())
-    : Processor(name, uuid) {
+  explicit LogOnDestructionProcessor(std::string name, const utils::Identifier& uuid = utils::Identifier())
+    : Processor(std::move(name), uuid) {
   }
 
   ~LogOnDestructionProcessor() override {
diff --git a/extensions/usb-camera/GetUSBCamera.h b/extensions/usb-camera/GetUSBCamera.h
index 54a17d2c9..410f5cd96 100644
--- a/extensions/usb-camera/GetUSBCamera.h
+++ b/extensions/usb-camera/GetUSBCamera.h
@@ -22,6 +22,7 @@
 #include <list>
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "libuvc/libuvc.h"
@@ -32,16 +33,12 @@
 #include "core/Core.h"
 #include "core/logging/LoggerConfiguration.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class GetUSBCamera : public core::Processor {
  public:
-  explicit GetUSBCamera(const std::string &name, const utils::Identifier &uuid = {})
-      : core::Processor(name, uuid) {
+  explicit GetUSBCamera(std::string name, const utils::Identifier &uuid = {})
+      : core::Processor(std::move(name), uuid) {
     png_write_mtx_ = std::make_shared<std::mutex>();
     dev_access_mtx_ = std::make_shared<std::recursive_mutex>();
   }
@@ -147,8 +144,4 @@ class GetUSBCamera : public core::Processor {
   void cleanupUvc();
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/libminifi/include/Connection.h b/libminifi/include/Connection.h
index 8aacce653..40c5611a2 100644
--- a/libminifi/include/Connection.h
+++ b/libminifi/include/Connection.h
@@ -44,14 +44,14 @@ struct ConnectionTestAccessor;
 class Connection : public core::Connectable {
   friend struct test::utils::ConnectionTestAccessor;
  public:
-  explicit Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, const std::string &name);
-  explicit Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, const std::string &name, const utils::Identifier &uuid);
-  explicit Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, const std::string &name, const utils::Identifier &uuid,
+  explicit Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::string name);
+  explicit Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::string name, const utils::Identifier &uuid);
+  explicit Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::string name, const utils::Identifier &uuid,
                       const utils::Identifier &srcUUID);
-  explicit Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, const std::string &name, const utils::Identifier &uuid,
+  explicit Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::string name, const utils::Identifier &uuid,
                       const utils::Identifier &srcUUID, const utils::Identifier &destUUID);
   explicit Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::shared_ptr<SwapManager> swap_manager,
-                      const std::string& name, const utils::Identifier& uuid);
+                      std::string name, const utils::Identifier& uuid);
   // Destructor
   ~Connection() override = default;
 
diff --git a/libminifi/include/RemoteProcessorGroupPort.h b/libminifi/include/RemoteProcessorGroupPort.h
index ebd907e38..8d5d4e5b1 100644
--- a/libminifi/include/RemoteProcessorGroupPort.h
+++ b/libminifi/include/RemoteProcessorGroupPort.h
@@ -73,9 +73,9 @@ struct RPG {
 
 class RemoteProcessorGroupPort : public core::Processor {
  public:
-  RemoteProcessorGroupPort(const std::shared_ptr<io::StreamFactory> &stream_factory, const std::string &name, std::string url, const std::shared_ptr<Configure> &configure, const utils::Identifier &uuid = {}) // NOLINT
-      : core::Processor(name, uuid),
-        configure_(configure),
+  RemoteProcessorGroupPort(const std::shared_ptr<io::StreamFactory> &stream_factory, std::string name, std::string url, std::shared_ptr<Configure> configure, const utils::Identifier &uuid = {})
+      : core::Processor(std::move(name), uuid),
+        configure_(std::move(configure)),
         direction_(sitetosite::SEND),
         transmitting_(false),
         timeout_(0),
diff --git a/libminifi/include/c2/C2Protocol.h b/libminifi/include/c2/C2Protocol.h
index 23e774873..5db0dcdbd 100644
--- a/libminifi/include/c2/C2Protocol.h
+++ b/libminifi/include/c2/C2Protocol.h
@@ -20,24 +20,21 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "C2Payload.h"
 #include "core/controller/ControllerServiceProvider.h"
 #include "properties/Configure.h"
 #include "core/Connectable.h"
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace c2 {
+namespace org::apache::nifi::minifi::c2 {
 
 /**
  * Defines a protocol to perform state management of the minifi agent.
  */
 class C2Protocol : public core::Connectable {
  public:
-  C2Protocol(const std::string &name, const utils::Identifier &uuid)
-      : core::Connectable(name, uuid),
+  C2Protocol(std::string name, const utils::Identifier &uuid)
+      : core::Connectable(std::move(name), uuid),
         running_(true) {
   }
 
@@ -107,10 +104,6 @@ class C2Protocol : public core::Connectable {
   std::shared_ptr<Configure> configuration_;
 };
 
-}  // namespace c2
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::c2
 
 #endif  // LIBMINIFI_INCLUDE_C2_C2PROTOCOL_H_
diff --git a/libminifi/include/c2/C2Trigger.h b/libminifi/include/c2/C2Trigger.h
index 7635e34bd..8641ba5a1 100644
--- a/libminifi/include/c2/C2Trigger.h
+++ b/libminifi/include/c2/C2Trigger.h
@@ -19,17 +19,14 @@
 #define LIBMINIFI_INCLUDE_C2_C2TRIGGER_H_
 
 #include <memory>
+#include <utility>
 #include <string>
 
 #include "core/Connectable.h"
 #include "c2/C2Payload.h"
 #include "properties/Configure.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace c2 {
+namespace org::apache::nifi::minifi::c2 {
 
 /**
  * Purpose: Defines basic triggering mechanism for command and control interfaces
@@ -38,12 +35,12 @@ namespace c2 {
  *
  * The state machine expects triggered (yes ) -> getAction -> reset(optional)
  */
-class C2Trigger : public core::Connectable{
+class C2Trigger : public core::Connectable {
  public:
-  C2Trigger(const std::string& name, const utils::Identifier& uuid)
-        : core::Connectable(name, uuid) {
+  C2Trigger(std::string name, const utils::Identifier& uuid)
+        : core::Connectable(std::move(name), uuid) {
   }
-  virtual ~C2Trigger() = default;
+  ~C2Trigger() override = default;
 
 
   /**
@@ -73,10 +70,6 @@ class C2Trigger : public core::Connectable{
   virtual C2Payload getAction() = 0;
 };
 
-}  // namespace c2
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::c2
 
 #endif  // LIBMINIFI_INCLUDE_C2_C2TRIGGER_H_
diff --git a/libminifi/include/c2/ControllerSocketProtocol.h b/libminifi/include/c2/ControllerSocketProtocol.h
index e85d5238b..12c4e83d6 100644
--- a/libminifi/include/c2/ControllerSocketProtocol.h
+++ b/libminifi/include/c2/ControllerSocketProtocol.h
@@ -19,6 +19,7 @@
 #include <map>
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "HeartbeatReporter.h"
@@ -33,8 +34,8 @@ namespace org::apache::nifi::minifi::c2 {
  */
 class ControllerSocketProtocol : public HeartbeatReporter {
  public:
-  ControllerSocketProtocol(const std::string& name, const utils::Identifier& uuid = {}) // NOLINT
-      : HeartbeatReporter(name, uuid) {
+  ControllerSocketProtocol(std::string name, const utils::Identifier& uuid = {}) // NOLINT
+      : HeartbeatReporter(std::move(name), uuid) {
   }
 
   MINIFIAPI static constexpr const char* Description = "Creates a reporter that can handle basic c2 operations for a localized environment through a simple TCP socket.";
diff --git a/libminifi/include/c2/HeartbeatLogger.h b/libminifi/include/c2/HeartbeatLogger.h
index 7dc169958..80e516dcb 100644
--- a/libminifi/include/c2/HeartbeatLogger.h
+++ b/libminifi/include/c2/HeartbeatLogger.h
@@ -30,7 +30,7 @@ class HeartbeatLogger : public RESTProtocol, public HeartbeatReporter {
  public:
   MINIFIAPI static constexpr const char* Description = "Logs heartbeats at TRACE level.";
 
-  explicit HeartbeatLogger(const std::string& name, const utils::Identifier& id = {});
+  explicit HeartbeatLogger(std::string name, const utils::Identifier& id = {});
   int16_t heartbeat(const C2Payload &heartbeat) override;
   void initialize(core::controller::ControllerServiceProvider* controller, state::StateMonitor* updateSink, const std::shared_ptr<Configure> &configure) override;
 
diff --git a/libminifi/include/c2/HeartbeatReporter.h b/libminifi/include/c2/HeartbeatReporter.h
index 88c251333..9ae00859c 100644
--- a/libminifi/include/c2/HeartbeatReporter.h
+++ b/libminifi/include/c2/HeartbeatReporter.h
@@ -20,26 +20,24 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "C2Protocol.h"
 #include "C2Payload.h"
 #include "core/controller/ControllerServiceProvider.h"
 #include "properties/Configure.h"
 #include "core/Connectable.h"
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace c2 {
+
+namespace org::apache::nifi::minifi::c2 {
 
 /**
- * Defines a heart beat reporting interface. Note that this differs from
+ * Defines a heartbeat reporting interface. Note that this differs from
  * C2Protocol as heartbeats can be any interface which provides only one way communication.
  */
 class HeartbeatReporter : public core::Connectable {
  public:
-  HeartbeatReporter(const std::string& name, const utils::Identifier& uuid)
-      : core::Connectable(name, uuid),
+  HeartbeatReporter(std::string name, const utils::Identifier& uuid)
+      : core::Connectable(std::move(name), uuid),
         controller_(nullptr),
         update_sink_(nullptr),
         configuration_(nullptr) {
@@ -51,9 +49,11 @@ class HeartbeatReporter : public core::Connectable {
     update_sink_ = updateSink;
     configuration_ = configure;
   }
-  virtual ~HeartbeatReporter() = default;
+
+  ~HeartbeatReporter() override = default;
+
   /**
-   * Send a C2 payloadd to the provided URI. The direction indicates to the protocol whether or not this a transmit or receive operation.
+   * Send a C2 payload to the provided URI. The direction indicates to the protocol whether or not this a transmit or receive operation.
    * Depending on the protocol this may mean different things.
    *
    * @param url url.
@@ -67,39 +67,27 @@ class HeartbeatReporter : public core::Connectable {
   /**
    * Determines if we are connected and operating
    */
-  virtual bool isRunning() {
+  bool isRunning() override {
     return true;
   }
 
-  /**
-   * Block until work is available on any input connection, or the given duration elapses
-   * @param timeoutMs timeout in milliseconds
-   */
-  void waitForWork(uint64_t timeoutMs);
-
-  virtual void yield() {
+  void yield() override {
   }
 
   /**
    * Determines if work is available by this connectable
    * @return boolean if work is available.
    */
-  virtual bool isWorkAvailable() {
+  bool isWorkAvailable() override {
     return true;
   }
 
  protected:
   core::controller::ControllerServiceProvider* controller_;
-
   state::StateMonitor* update_sink_;
-
   std::shared_ptr<Configure> configuration_;
 };
 
-}  // namespace c2
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::c2
 
 #endif  // LIBMINIFI_INCLUDE_C2_HEARTBEATREPORTER_H_
diff --git a/libminifi/include/c2/triggers/FileUpdateTrigger.h b/libminifi/include/c2/triggers/FileUpdateTrigger.h
index 4b05c5b6d..a4b8a4581 100644
--- a/libminifi/include/c2/triggers/FileUpdateTrigger.h
+++ b/libminifi/include/c2/triggers/FileUpdateTrigger.h
@@ -16,9 +16,11 @@
  */
 #pragma once
 
+#include <atomic>
 #include <memory>
 #include <string>
-#include <atomic>
+#include <utility>
+
 #include "c2/C2Trigger.h"
 #include "utils/StringUtils.h"
 #include "utils/file/FileUtils.h"
@@ -36,8 +38,8 @@ class FileUpdateTrigger : public C2Trigger {
  public:
   MINIFIAPI static constexpr const char* Description = "Defines a file update trigger when the last write time of a file has been changed.";
 
-  explicit FileUpdateTrigger(const std::string &name, const utils::Identifier &uuid = {})
-      : C2Trigger(name, uuid),
+  explicit FileUpdateTrigger(std::string name, const utils::Identifier &uuid = {})
+      : C2Trigger(std::move(name), uuid),
         update_(false) {
   }
 
diff --git a/libminifi/include/controllers/LinuxPowerManagementService.h b/libminifi/include/controllers/LinuxPowerManagementService.h
index 343ddec07..ad27fd37e 100644
--- a/libminifi/include/controllers/LinuxPowerManagementService.h
+++ b/libminifi/include/controllers/LinuxPowerManagementService.h
@@ -36,8 +36,8 @@ namespace org::apache::nifi::minifi::controllers {
  */
 class LinuxPowerManagerService : public ThreadManagementService {
  public:
-  explicit LinuxPowerManagerService(const std::string &name, const utils::Identifier &uuid = {})
-      : ThreadManagementService(name, uuid),
+  explicit LinuxPowerManagerService(std::string name, const utils::Identifier &uuid = {})
+      : ThreadManagementService(std::move(name), uuid),
         enabled_(false),
         battery_level_(0),
         wait_period_(0),
@@ -46,8 +46,8 @@ class LinuxPowerManagerService : public ThreadManagementService {
         low_battery_trigger_(0) {
   }
 
-  explicit LinuxPowerManagerService(const std::string &name, const std::shared_ptr<Configure> &configuration)
-      : LinuxPowerManagerService(name) {
+  explicit LinuxPowerManagerService(std::string name, const std::shared_ptr<Configure> &configuration)
+      : LinuxPowerManagerService(std::move(name)) {
     setConfiguration(configuration);
     initialize();
   }
diff --git a/libminifi/include/controllers/NetworkPrioritizerService.h b/libminifi/include/controllers/NetworkPrioritizerService.h
index 5a70f92e7..b2d4db8a2 100644
--- a/libminifi/include/controllers/NetworkPrioritizerService.h
+++ b/libminifi/include/controllers/NetworkPrioritizerService.h
@@ -39,10 +39,10 @@ namespace org::apache::nifi::minifi::controllers {
  */
 class NetworkPrioritizerService : public core::controller::ControllerService, public minifi::io::NetworkPrioritizer, public std::enable_shared_from_this<NetworkPrioritizerService> {
  public:
-  explicit NetworkPrioritizerService(const std::string& name,
+  explicit NetworkPrioritizerService(std::string name,
                                      const utils::Identifier& uuid = {},
                                      std::shared_ptr<utils::timeutils::Clock> clock = std::make_shared<utils::timeutils::SteadyClock>())
-      : ControllerService(name, uuid),
+      : ControllerService(std::move(name), uuid),
         enabled_(false),
         max_throughput_(std::numeric_limits<uint64_t>::max()),
         max_payload_(std::numeric_limits<uint64_t>::max()),
@@ -54,8 +54,8 @@ class NetworkPrioritizerService : public core::controller::ControllerService, pu
         clock_(std::move(clock)) {
   }
 
-  explicit NetworkPrioritizerService(const std::string &name, const std::shared_ptr<Configure> &configuration)
-      : NetworkPrioritizerService(name) {
+  explicit NetworkPrioritizerService(std::string name, const std::shared_ptr<Configure> &configuration)
+      : NetworkPrioritizerService(std::move(name)) {
     setConfiguration(configuration);
     initialize();
   }
diff --git a/libminifi/include/controllers/SSLContextService.h b/libminifi/include/controllers/SSLContextService.h
index aa165ab12..e2f09b843 100644
--- a/libminifi/include/controllers/SSLContextService.h
+++ b/libminifi/include/controllers/SSLContextService.h
@@ -31,9 +31,12 @@
 #include <openssl/bio.h>
 #include <openssl/pkcs12.h>
 #endif
+
 #include <iostream>
 #include <memory>
 #include <string>
+#include <utility>
+
 #include "utils/StringUtils.h"
 #include "utils/tls/ExtendedKeyUsage.h"
 #include "io/validation.h"
@@ -76,15 +79,15 @@ class SSLContext {
  */
 class SSLContextService : public core::controller::ControllerService {
  public:
-  explicit SSLContextService(const std::string &name, const utils::Identifier &uuid = {})
-      : ControllerService(name, uuid),
+  explicit SSLContextService(std::string name, const utils::Identifier &uuid = {})
+      : ControllerService(std::move(name), uuid),
         initialized_(false),
         valid_(false),
         logger_(core::logging::LoggerFactory<SSLContextService>::getLogger()) {
   }
 
-  explicit SSLContextService(const std::string &name, const std::shared_ptr<Configure> &configuration)
-      : ControllerService(name),
+  explicit SSLContextService(std::string name, const std::shared_ptr<Configure> &configuration)
+      : ControllerService(std::move(name)),
         initialized_(false),
         valid_(false),
         logger_(core::logging::LoggerFactory<SSLContextService>::getLogger()) {
diff --git a/libminifi/include/controllers/ThreadManagementService.h b/libminifi/include/controllers/ThreadManagementService.h
index b61d77234..c60bdf3ce 100644
--- a/libminifi/include/controllers/ThreadManagementService.h
+++ b/libminifi/include/controllers/ThreadManagementService.h
@@ -18,19 +18,17 @@
 #ifndef LIBMINIFI_INCLUDE_CONTROLLERS_THREADMANAGEMENTSERVICE_H_
 #define LIBMINIFI_INCLUDE_CONTROLLERS_THREADMANAGEMENTSERVICE_H_
 
-#include <string>
 #include <iostream>
+#include <string>
 #include <memory>
+#include <utility>
+
 #include "utils/StringUtils.h"
 #include "io/validation.h"
 #include "core/controller/ControllerService.h"
 #include "core/logging/LoggerFactory.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace controllers {
+namespace org::apache::nifi::minifi::controllers {
 
 /**
  * Purpose: Thread management service provides a contextual awareness across
@@ -38,13 +36,13 @@ namespace controllers {
  */
 class ThreadManagementService : public core::controller::ControllerService {
  public:
-  explicit ThreadManagementService(const std::string &name, const utils::Identifier &uuid = {})
-      : ControllerService(name, uuid),
+  explicit ThreadManagementService(std::string name, const utils::Identifier &uuid = {})
+      : ControllerService(std::move(name), uuid),
         logger_(core::logging::LoggerFactory<ThreadManagementService>::getLogger()) {
   }
 
-  explicit ThreadManagementService(const std::string &name, const std::shared_ptr<Configure>& /*configuration*/)
-      : ControllerService(name),
+  explicit ThreadManagementService(std::string name, const std::shared_ptr<Configure>& /*configuration*/)
+      : ControllerService(std::move(name)),
         logger_(core::logging::LoggerFactory<ThreadManagementService>::getLogger()) {
   }
 
@@ -111,10 +109,6 @@ class ThreadManagementService : public core::controller::ControllerService {
   std::shared_ptr<core::logging::Logger> logger_;
 };
 
-}  // namespace controllers
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::controllers
 
 #endif  // LIBMINIFI_INCLUDE_CONTROLLERS_THREADMANAGEMENTSERVICE_H_
diff --git a/libminifi/include/controllers/UpdatePolicyControllerService.h b/libminifi/include/controllers/UpdatePolicyControllerService.h
index 2cc68b1f3..9c75e4d7e 100644
--- a/libminifi/include/controllers/UpdatePolicyControllerService.h
+++ b/libminifi/include/controllers/UpdatePolicyControllerService.h
@@ -16,10 +16,12 @@
  */
 #pragma once
 
-#include <string>
 #include <iostream>
-#include <memory>
 #include <limits>
+#include <memory>
+#include <string>
+#include <utility>
+
 #include "utils/StringUtils.h"
 #include "io/validation.h"
 #include "core/controller/ControllerService.h"
@@ -35,12 +37,12 @@ namespace org::apache::nifi::minifi::controllers {
  */
 class UpdatePolicyControllerService : public core::controller::ControllerService, public std::enable_shared_from_this<UpdatePolicyControllerService> {
  public:
-  explicit UpdatePolicyControllerService(const std::string &name, const utils::Identifier &uuid = {})
-      : ControllerService(name, uuid) {
+  explicit UpdatePolicyControllerService(std::string name, const utils::Identifier &uuid = {})
+      : ControllerService(std::move(name), uuid) {
   }
 
-  explicit UpdatePolicyControllerService(const std::string &name, const std::shared_ptr<Configure> &configuration)
-      : UpdatePolicyControllerService(name) {
+  explicit UpdatePolicyControllerService(std::string name, const std::shared_ptr<Configure> &configuration)
+      : UpdatePolicyControllerService(std::move(name)) {
     setConfiguration(configuration);
     initialize();
   }
diff --git a/libminifi/include/controllers/keyvalue/AbstractAutoPersistingKeyValueStoreService.h b/libminifi/include/controllers/keyvalue/AbstractAutoPersistingKeyValueStoreService.h
index 46e564df6..35a87bb03 100644
--- a/libminifi/include/controllers/keyvalue/AbstractAutoPersistingKeyValueStoreService.h
+++ b/libminifi/include/controllers/keyvalue/AbstractAutoPersistingKeyValueStoreService.h
@@ -33,7 +33,7 @@ namespace org::apache::nifi::minifi::controllers {
 
 class AbstractAutoPersistingKeyValueStoreService : virtual public PersistableKeyValueStoreService {
  public:
-  explicit AbstractAutoPersistingKeyValueStoreService(const std::string& name, const utils::Identifier& uuid = {});
+  explicit AbstractAutoPersistingKeyValueStoreService(std::string name, const utils::Identifier& uuid = {});
 
   ~AbstractAutoPersistingKeyValueStoreService() override;
 
diff --git a/libminifi/include/controllers/keyvalue/KeyValueStoreService.h b/libminifi/include/controllers/keyvalue/KeyValueStoreService.h
index a4880df55..489b977a8 100644
--- a/libminifi/include/controllers/keyvalue/KeyValueStoreService.h
+++ b/libminifi/include/controllers/keyvalue/KeyValueStoreService.h
@@ -27,15 +27,11 @@
 #include "properties/Configure.h"
 #include "core/controller/ControllerService.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace controllers {
+namespace org::apache::nifi::minifi::controllers {
 
 class KeyValueStoreService : public core::controller::ControllerService {
  public:
-  explicit KeyValueStoreService(const std::string& name, const utils::Identifier& uuid = {});
+  explicit KeyValueStoreService(std::string name, const utils::Identifier& uuid = {});
 
   ~KeyValueStoreService() override;
 
@@ -56,10 +52,6 @@ class KeyValueStoreService : public core::controller::ControllerService {
   virtual bool update(const std::string& key, const std::function<bool(bool /*exists*/, std::string& /*value*/)>& update_func) = 0;
 };
 
-}  // namespace controllers
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::controllers
 
 #endif  // LIBMINIFI_INCLUDE_CONTROLLERS_KEYVALUE_KEYVALUESTORESERVICE_H_
diff --git a/libminifi/include/controllers/keyvalue/PersistableKeyValueStoreService.h b/libminifi/include/controllers/keyvalue/PersistableKeyValueStoreService.h
index d65856fd9..80b49f60f 100644
--- a/libminifi/include/controllers/keyvalue/PersistableKeyValueStoreService.h
+++ b/libminifi/include/controllers/keyvalue/PersistableKeyValueStoreService.h
@@ -26,15 +26,11 @@
 #include "core/Core.h"
 #include "properties/Configure.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace controllers {
+namespace org::apache::nifi::minifi::controllers {
 
 class PersistableKeyValueStoreService : public KeyValueStoreService, public AbstractCoreComponentStateManagerProvider {
  public:
-  explicit PersistableKeyValueStoreService(const std::string& name, const utils::Identifier& uuid = {});
+  explicit PersistableKeyValueStoreService(std::string name, const utils::Identifier& uuid = {});
 
   ~PersistableKeyValueStoreService() override;
 
@@ -48,10 +44,6 @@ class PersistableKeyValueStoreService : public KeyValueStoreService, public Abst
   bool persistImpl() override;
 };
 
-}  // namespace controllers
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::controllers
 
 #endif  // LIBMINIFI_INCLUDE_CONTROLLERS_KEYVALUE_PERSISTABLEKEYVALUESTORESERVICE_H_
diff --git a/libminifi/include/core/Connectable.h b/libminifi/include/core/Connectable.h
index beb1a44fb..4b1ac2cd7 100644
--- a/libminifi/include/core/Connectable.h
+++ b/libminifi/include/core/Connectable.h
@@ -44,9 +44,9 @@ class FlowFile;
  */
 class Connectable : public CoreComponent {
  public:
-  explicit Connectable(const std::string &name);
+  explicit Connectable(std::string name);
 
-  explicit Connectable(const std::string &name, const utils::Identifier &uuid);
+  explicit Connectable(std::string name, const utils::Identifier &uuid);
 
   Connectable(const Connectable &other) = delete;
   Connectable(Connectable &&other) = delete;
diff --git a/libminifi/include/core/Core.h b/libminifi/include/core/Core.h
index cc9a266ae..21ec3b69d 100644
--- a/libminifi/include/core/Core.h
+++ b/libminifi/include/core/Core.h
@@ -111,7 +111,7 @@ std::unique_ptr<T> instantiate(const std::string name = {}) {
  */
 class CoreComponent {
  public:
-  explicit CoreComponent(const std::string &name, const utils::Identifier &uuid = {}, const std::shared_ptr<utils::IdGenerator> &idGenerator = utils::IdGenerator::getIdGenerator());
+  explicit CoreComponent(std::string name, const utils::Identifier &uuid = {}, const std::shared_ptr<utils::IdGenerator> &idGenerator = utils::IdGenerator::getIdGenerator());
   CoreComponent(const CoreComponent &other) = default;
   CoreComponent(CoreComponent &&other) = default;
   CoreComponent& operator=(const CoreComponent&) = default;
@@ -119,20 +119,20 @@ class CoreComponent {
 
   virtual ~CoreComponent() = default;
 
-  // Get component name Name
+  // Get component name
   [[nodiscard]] virtual std::string getName() const;
 
   /**
    * Set name.
    * @param name
    */
-  void setName(const std::string &name);
+  virtual void setName(std::string name);
 
   /**
    * Set UUID in this instance
    * @param uuid uuid to apply to the internal representation.
    */
-  void setUUID(const utils::Identifier& uuid);
+  virtual void setUUID(const utils::Identifier& uuid);
 
   /**
    * Returns the UUID.
diff --git a/libminifi/include/core/Funnel.h b/libminifi/include/core/Funnel.h
index e7783d49d..8c8e08c52 100644
--- a/libminifi/include/core/Funnel.h
+++ b/libminifi/include/core/Funnel.h
@@ -17,8 +17,9 @@
  */
 #pragma once
 
-#include <string>
 #include <memory>
+#include <string>
+#include <utility>
 
 #include "logging/LoggerFactory.h"
 #include "Processor.h"
@@ -27,8 +28,8 @@ namespace org::apache::nifi::minifi::core {
 
 class Funnel final : public Processor {
  public:
-  Funnel(const std::string& name, const utils::Identifier& uuid) : Processor(name, uuid), logger_(logging::LoggerFactory<Funnel>::getLogger()) {}
-  explicit Funnel(const std::string& name) : Processor(name), logger_(logging::LoggerFactory<Funnel>::getLogger()) {}
+  Funnel(std::string name, const utils::Identifier& uuid) : Processor(std::move(name), uuid), logger_(logging::LoggerFactory<Funnel>::getLogger()) {}
+  explicit Funnel(std::string name) : Processor(std::move(name)), logger_(logging::LoggerFactory<Funnel>::getLogger()) {}
 
   static auto properties() { return std::array<core::Property, 0>{}; }
   MINIFIAPI static const core::Relationship Success;
diff --git a/libminifi/include/core/ProcessContextBuilder.h b/libminifi/include/core/ProcessContextBuilder.h
index 80260860b..6b848ad89 100644
--- a/libminifi/include/core/ProcessContextBuilder.h
+++ b/libminifi/include/core/ProcessContextBuilder.h
@@ -50,9 +50,9 @@ namespace org::apache::nifi::minifi::core {
  */
 class ProcessContextBuilder : public core::CoreComponent, public std::enable_shared_from_this<ProcessContextBuilder> {
  public:
-  ProcessContextBuilder(const std::string &name, const minifi::utils::Identifier &uuid);
+  ProcessContextBuilder(std::string name, const minifi::utils::Identifier &uuid);
 
-  ProcessContextBuilder(const std::string &name); // NOLINT
+  explicit ProcessContextBuilder(std::string name);
 
   ~ProcessContextBuilder() override = default;
 
diff --git a/libminifi/include/core/ProcessGroup.h b/libminifi/include/core/ProcessGroup.h
index f9473e024..76a0c9259 100644
--- a/libminifi/include/core/ProcessGroup.h
+++ b/libminifi/include/core/ProcessGroup.h
@@ -52,7 +52,6 @@ class ProcessorController;
 
 namespace core {
 
-// Process Group Type
 enum ProcessGroupType {
   ROOT_PROCESS_GROUP = 0,
   SIMPLE_PROCESS_GROUP,
@@ -61,7 +60,6 @@ enum ProcessGroupType {
 
 #define ONSCHEDULE_RETRY_INTERVAL 30000  // millisecs
 
-// ProcessGroup Class
 class ProcessGroup : public CoreComponent {
   friend struct ::ProcessGroupTestAccessor;
  public:
@@ -69,15 +67,11 @@ class ProcessGroup : public CoreComponent {
     ExcludeChildren,
     IncludeChildren
   };
-  // Constructor
-  /*!
-   * Create a new process group
-   */
 
-  ProcessGroup(ProcessGroupType type, const std::string& name, const utils::Identifier& uuid, int version, ProcessGroup *parent);
-  ProcessGroup(ProcessGroupType type, const std::string& name);
-  ProcessGroup(ProcessGroupType type, const std::string& name, const utils::Identifier& uuid);
-  ProcessGroup(ProcessGroupType type, const std::string& name, const utils::Identifier& uuid, int version);
+  ProcessGroup(ProcessGroupType type, std::string name, const utils::Identifier& uuid, int version, ProcessGroup *parent);
+  ProcessGroup(ProcessGroupType type, std::string name);
+  ProcessGroup(ProcessGroupType type, std::string name, const utils::Identifier& uuid);
+  ProcessGroup(ProcessGroupType type, std::string name, const utils::Identifier& uuid, int version);
   // Destructor
   ~ProcessGroup() override;
   // Set URL
diff --git a/libminifi/include/core/Processor.h b/libminifi/include/core/Processor.h
index 900f5d0c5..bf3164016 100644
--- a/libminifi/include/core/Processor.h
+++ b/libminifi/include/core/Processor.h
@@ -76,8 +76,8 @@ constexpr std::chrono::nanoseconds MINIMUM_SCHEDULING_NANOS{30000};
 
 class Processor : public Connectable, public ConfigurableComponent, public state::response::ResponseNodeSource {
  public:
-  Processor(const std::string& name, const utils::Identifier& uuid, std::shared_ptr<ProcessorMetrics> metrics = nullptr);
-  explicit Processor(const std::string& name, std::shared_ptr<ProcessorMetrics> metrics = nullptr);
+  Processor(std::string name, const utils::Identifier& uuid, std::shared_ptr<ProcessorMetrics> metrics = nullptr);
+  explicit Processor(std::string name, std::shared_ptr<ProcessorMetrics> metrics = nullptr);
 
   Processor(const Processor& parent) = delete;
   Processor& operator=(const Processor& parent) = delete;
diff --git a/libminifi/include/core/ProcessorNode.h b/libminifi/include/core/ProcessorNode.h
index 6b289608b..7afce4ceb 100644
--- a/libminifi/include/core/ProcessorNode.h
+++ b/libminifi/include/core/ProcessorNode.h
@@ -21,17 +21,14 @@
 #include <memory>
 #include <set>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "ConfigurableComponent.h"
 #include "Connectable.h"
 #include "Property.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace core {
+namespace org::apache::nifi::minifi::core {
 
 /**
  * Processor node functions as a pass through to the implementing Connectables
@@ -182,16 +179,16 @@ class ProcessorNode : public ConfigurableComponent, public Connectable {
    * Set name.
    * @param name
    */
-  void setName(const std::string &name) {
+  void setName(std::string name) override {
     Connectable::setName(name);
-    processor_->setName(name);
+    processor_->setName(std::move(name));
   }
 
   /**
    * Set UUID in this instance
    * @param uuid uuid to apply to the internal representation.
    */
-  void setUUID(const utils::Identifier& uuid) {
+  void setUUID(const utils::Identifier& uuid) override {
     Connectable::setUUID(uuid);
     processor_->setUUID(uuid);
   }
@@ -280,10 +277,6 @@ class ProcessorNode : public ConfigurableComponent, public Connectable {
   Connectable* processor_;
 };
 
-}  // namespace core
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::core
 
 #endif  // LIBMINIFI_INCLUDE_CORE_PROCESSORNODE_H_
diff --git a/libminifi/include/core/Repository.h b/libminifi/include/core/Repository.h
index 5e2169187..54ffeab2e 100644
--- a/libminifi/include/core/Repository.h
+++ b/libminifi/include/core/Repository.h
@@ -57,12 +57,12 @@ constexpr auto REPOSITORY_PURGE_PERIOD = std::chrono::milliseconds(2500);
 
 class Repository : public virtual core::SerializableComponent {
  public:
-  explicit Repository(const std::string& repo_name = "Repository",
+  explicit Repository(std::string repo_name = "Repository",
              std::string directory = REPOSITORY_DIRECTORY,
              std::chrono::milliseconds maxPartitionMillis = MAX_REPOSITORY_ENTRY_LIFE_TIME,
              int64_t maxPartitionBytes = MAX_REPOSITORY_STORAGE_SIZE,
              std::chrono::milliseconds purgePeriod = REPOSITORY_PURGE_PERIOD)
-      : core::SerializableComponent(repo_name),
+      : core::SerializableComponent(std::move(repo_name)),
         directory_(std::move(directory)),
         max_partition_millis_(maxPartitionMillis),
         max_partition_bytes_(maxPartitionBytes),
diff --git a/libminifi/include/core/SerializableComponent.h b/libminifi/include/core/SerializableComponent.h
index 66adcf8a0..d5b0b037b 100644
--- a/libminifi/include/core/SerializableComponent.h
+++ b/libminifi/include/core/SerializableComponent.h
@@ -20,6 +20,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "core/Connectable.h"
 #include "core/Core.h"
@@ -32,12 +33,12 @@ namespace org::apache::nifi::minifi::core {
  */
 class SerializableComponent : public core::Connectable {
  public:
-  SerializableComponent(const std::string& name) // NOLINT
-        : core::Connectable(name) {
+  explicit SerializableComponent(std::string name)
+        : core::Connectable(std::move(name)) {
     }
 
-  SerializableComponent(const std::string& name, const utils::Identifier& uuid)
-      : core::Connectable(name, uuid) {
+  SerializableComponent(std::string name, const utils::Identifier& uuid)
+      : core::Connectable(std::move(name), uuid) {
   }
 
   ~SerializableComponent() override = default;
diff --git a/libminifi/include/core/controller/ControllerService.h b/libminifi/include/core/controller/ControllerService.h
index 622201437..5aae23f8c 100644
--- a/libminifi/include/core/controller/ControllerService.h
+++ b/libminifi/include/core/controller/ControllerService.h
@@ -20,7 +20,9 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
+
 #include "properties/Configure.h"
 #include "core/Core.h"
 #include "core/ConfigurableComponent.h"
@@ -29,12 +31,7 @@
 #define ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_CONTROLLER_SERVICES \
   bool supportsDynamicProperties() const override { return SupportsDynamicProperties; }
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace core {
-namespace controller {
+namespace org::apache::nifi::minifi::core::controller {
 
 enum ControllerServiceState {
   /**
@@ -63,32 +60,23 @@ enum ControllerServiceState {
  */
 class ControllerService : public ConfigurableComponent, public Connectable {
  public:
-  /**
-   * Controller Service constructor.
-   */
   ControllerService()
       : Connectable(core::getClassName<ControllerService>()),
         configuration_(std::make_shared<Configure>()) {
     current_state_ = DISABLED;
   }
 
-  /**
-   * Controller Service constructor.
-   */
-  explicit ControllerService(const std::string &name, const utils::Identifier &uuid)
-      : Connectable(name, uuid),
+  explicit ControllerService(std::string name, const utils::Identifier &uuid)
+      : Connectable(std::move(name), uuid),
         configuration_(std::make_shared<Configure>()) {
     current_state_ = DISABLED;
   }
 
-  /**
-     * Controller Service constructor.
-     */
-    explicit ControllerService(const std::string &name)
-        : Connectable(name),
-          configuration_(std::make_shared<Configure>()) {
-      current_state_ = DISABLED;
-    }
+  explicit ControllerService(std::string name)
+      : Connectable(std::move(name)),
+        configuration_(std::make_shared<Configure>()) {
+    current_state_ = DISABLED;
+  }
 
   void initialize() override {
     current_state_ = ENABLED;
@@ -145,11 +133,6 @@ class ControllerService : public ConfigurableComponent, public Connectable {
   }
 };
 
-}  // namespace controller
-}  // namespace core
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::core::controller
 
 #endif  // LIBMINIFI_INCLUDE_CORE_CONTROLLER_CONTROLLERSERVICE_H_
diff --git a/libminifi/include/core/controller/ControllerServiceNode.h b/libminifi/include/core/controller/ControllerServiceNode.h
index b8452d195..6ae1bb0ac 100644
--- a/libminifi/include/core/controller/ControllerServiceNode.h
+++ b/libminifi/include/core/controller/ControllerServiceNode.h
@@ -20,6 +20,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "core/Core.h"
@@ -30,12 +31,7 @@
 #include "io/validation.h"
 #include "Exception.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace core {
-namespace controller {
+namespace org::apache::nifi::minifi::core::controller {
 
 class ControllerServiceNode : public CoreComponent, public ConfigurableComponent {
  public:
@@ -45,19 +41,18 @@ class ControllerServiceNode : public CoreComponent, public ConfigurableComponent
    * @param id identifier for this node.
    * @param configuration shared pointer configuration.
    */
-  explicit ControllerServiceNode(std::shared_ptr<ControllerService> service, const std::string &id, std::shared_ptr<Configure> configuration)
-      : CoreComponent(id),
-        ConfigurableComponent(),
+  explicit ControllerServiceNode(std::shared_ptr<ControllerService> service, std::string id, std::shared_ptr<Configure> configuration)
+      : CoreComponent(std::move(id)),
         active(false),
-        configuration_(configuration),
-        controller_service_(service) {
-    if (service == nullptr || IsNullOrEmpty(service.get())) {
+        configuration_(std::move(configuration)),
+        controller_service_(std::move(service)) {
+    if (controller_service_ == nullptr || IsNullOrEmpty(controller_service_.get())) {
       throw Exception(GENERAL_EXCEPTION, "Service must be properly configured");
     }
-    if (IsNullOrEmpty(configuration)) {
+    if (IsNullOrEmpty(configuration_)) {
       throw Exception(GENERAL_EXCEPTION, "Configuration must be properly configured");
     }
-    service->setConfiguration(configuration);
+    controller_service_->setConfiguration(configuration_);
   }
 
   void initialize() override {
@@ -67,12 +62,12 @@ class ControllerServiceNode : public CoreComponent, public ConfigurableComponent
     });
   }
 
-  void setName(const std::string name) {
-    CoreComponent::setName(name);
+  void setName(std::string name) override {
     controller_service_->setName(name);
+    CoreComponent::setName(std::move(name));
   }
 
-  void setUUID(const utils::Identifier& uuid) {
+  void setUUID(const utils::Identifier& uuid) override {
     CoreComponent::setUUID(uuid);
     controller_service_->setUUID(uuid);
   }
@@ -131,11 +126,6 @@ class ControllerServiceNode : public CoreComponent, public ConfigurableComponent
   std::vector<std::shared_ptr<ConfigurableComponent> > linked_components_;
 };
 
-}  // namespace controller
-}  // namespace core
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::core::controller
 
 #endif  // LIBMINIFI_INCLUDE_CORE_CONTROLLER_CONTROLLERSERVICENODE_H_
diff --git a/libminifi/include/core/controller/ControllerServiceProvider.h b/libminifi/include/core/controller/ControllerServiceProvider.h
index 79c6738cf..bb1f826a8 100644
--- a/libminifi/include/core/controller/ControllerServiceProvider.h
+++ b/libminifi/include/core/controller/ControllerServiceProvider.h
@@ -31,31 +31,23 @@
 #include "core/ClassLoader.h"
 #include "utils/Monitors.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace core {
-namespace controller {
+namespace org::apache::nifi::minifi::core::controller {
 
 class ControllerServiceProvider : public CoreComponent, public ConfigurableComponent, public ControllerServiceLookup {
  public:
-  explicit ControllerServiceProvider(const std::string &name)
-      : CoreComponent(name),
-        ConfigurableComponent() {
+  explicit ControllerServiceProvider(std::string name)
+      : CoreComponent(std::move(name)) {
     controller_map_ = std::make_shared<ControllerServiceMap>();
   }
 
   explicit ControllerServiceProvider(std::shared_ptr<ControllerServiceMap> services)
       : CoreComponent(core::getClassName<ControllerServiceProvider>()),
-        ConfigurableComponent(),
-        controller_map_(services) {
+        controller_map_(std::move(services)) {
   }
 
-  explicit ControllerServiceProvider(const std::string &name, std::shared_ptr<ControllerServiceMap> services)
-      : CoreComponent(name),
-        ConfigurableComponent(),
-        controller_map_(services) {
+  explicit ControllerServiceProvider(std::string name, std::shared_ptr<ControllerServiceMap> services)
+      : CoreComponent(std::move(name)),
+        controller_map_(std::move(services)) {
   }
 
   ControllerServiceProvider(const ControllerServiceProvider &other) = delete;
@@ -279,11 +271,6 @@ class ControllerServiceProvider : public CoreComponent, public ConfigurableCompo
   std::shared_ptr<ControllerServiceMap> controller_map_;
 };
 
-}  // namespace controller
-}  // namespace core
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::core::controller
 
 #endif  // LIBMINIFI_INCLUDE_CORE_CONTROLLER_CONTROLLERSERVICEPROVIDER_H_
diff --git a/libminifi/include/core/controller/StandardControllerServiceNode.h b/libminifi/include/core/controller/StandardControllerServiceNode.h
index df65ef91a..72f7de1bd 100644
--- a/libminifi/include/core/controller/StandardControllerServiceNode.h
+++ b/libminifi/include/core/controller/StandardControllerServiceNode.h
@@ -19,6 +19,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "core/Core.h"
 #include "ControllerServiceNode.h"
@@ -29,15 +30,15 @@ namespace org::apache::nifi::minifi::core::controller {
 
 class StandardControllerServiceNode : public ControllerServiceNode {
  public:
-  explicit StandardControllerServiceNode(std::shared_ptr<ControllerService> service, std::shared_ptr<ControllerServiceProvider> provider, const std::string &id,
+  explicit StandardControllerServiceNode(std::shared_ptr<ControllerService> service, std::shared_ptr<ControllerServiceProvider> provider, std::string id,
                                          std::shared_ptr<Configure> configuration)
-      : ControllerServiceNode(service, id, configuration),
-        provider(provider),
+      : ControllerServiceNode(std::move(service), std::move(id), std::move(configuration)),
+        provider(std::move(provider)),
         logger_(logging::LoggerFactory<StandardControllerServiceNode>::getLogger()) {
   }
 
-  explicit StandardControllerServiceNode(std::shared_ptr<ControllerService> service, const std::string &id, std::shared_ptr<Configure> configuration)
-      : ControllerServiceNode(service, id, configuration),
+  explicit StandardControllerServiceNode(std::shared_ptr<ControllerService> service, std::string id, std::shared_ptr<Configure> configuration)
+      : ControllerServiceNode(std::move(service), std::move(id), std::move(configuration)),
         provider(nullptr),
         logger_(logging::LoggerFactory<StandardControllerServiceNode>::getLogger()) {
   }
diff --git a/libminifi/include/core/reporting/SiteToSiteProvenanceReportingTask.h b/libminifi/include/core/reporting/SiteToSiteProvenanceReportingTask.h
index f1c3e31bd..66ec7e97f 100644
--- a/libminifi/include/core/reporting/SiteToSiteProvenanceReportingTask.h
+++ b/libminifi/include/core/reporting/SiteToSiteProvenanceReportingTask.h
@@ -19,9 +19,11 @@
  */
 #pragma once
 
-#include <mutex>
 #include <memory>
+#include <mutex>
 #include <stack>
+#include <utility>
+
 #include "FlowFileRecord.h"
 #include "core/Processor.h"
 #include "core/ProcessSession.h"
@@ -31,50 +33,39 @@
 
 namespace org::apache::nifi::minifi::core::reporting {
 
-//! SiteToSiteProvenanceReportingTask Class
 class SiteToSiteProvenanceReportingTask : public minifi::RemoteProcessorGroupPort {
  public:
-  //! Constructor
-  /*!
-   * Create a new processor
-   */
   SiteToSiteProvenanceReportingTask(const std::shared_ptr<io::StreamFactory> &stream_factory, std::shared_ptr<Configure> configure)
-      : minifi::RemoteProcessorGroupPort(stream_factory, ReportTaskName, "", configure),
+      : minifi::RemoteProcessorGroupPort(stream_factory, ReportTaskName, "", std::move(configure)),
         logger_(logging::LoggerFactory<SiteToSiteProvenanceReportingTask>::getLogger()) {
     this->setTriggerWhenEmpty(true);
     batch_size_ = 100;
   }
-  //! Destructor
-  ~SiteToSiteProvenanceReportingTask() = default;
-  //! Report Task Name
+
+  ~SiteToSiteProvenanceReportingTask() override = default;
+
   static constexpr char const* ReportTaskName = "SiteToSiteProvenanceReportingTask";
   static const char *ProvenanceAppStr;
 
- public:
-  //! Get provenance json report
   static void getJsonReport(const std::shared_ptr<core::ProcessContext> &context, const std::shared_ptr<core::ProcessSession> &session, std::vector<std::shared_ptr<core::SerializableComponent>> &records, std::string &report); // NOLINT
 
+  void onSchedule(const std::shared_ptr<core::ProcessContext> &context, const std::shared_ptr<core::ProcessSessionFactory> &sessionFactory) override;
+  void onTrigger(const std::shared_ptr<core::ProcessContext> &context, const std::shared_ptr<core::ProcessSession> &session) override;
 
-  void onSchedule(const std::shared_ptr<core::ProcessContext> &context, const std::shared_ptr<core::ProcessSessionFactory> &sessionFactory);
-  //! OnTrigger method, implemented by NiFi SiteToSiteProvenanceReportingTask
-  void onTrigger(const std::shared_ptr<core::ProcessContext> &context, const std::shared_ptr<core::ProcessSession> &session);
+  void initialize() override;
 
-  //! Initialize, over write by NiFi SiteToSiteProvenanceReportingTask
-  virtual void initialize(void);
-  //! Set Port UUID
   void setPortUUID(utils::Identifier &port_uuid) {
     protocol_uuid_ = port_uuid;
   }
 
-  //! Set Batch Size
   void setBatchSize(int size) {
     batch_size_ = size;
   }
-  //! Get Batch Size
-  int getBatchSize(void) {
+
+  int getBatchSize() const {
     return (batch_size_);
   }
-  //! Get Port UUID
+
   void getPortUUID(utils::Identifier & port_uuid) {
     port_uuid = protocol_uuid_;
   }
diff --git a/libminifi/include/core/repository/FileSystemRepository.h b/libminifi/include/core/repository/FileSystemRepository.h
index 68566be1f..5b6edaecb 100644
--- a/libminifi/include/core/repository/FileSystemRepository.h
+++ b/libminifi/include/core/repository/FileSystemRepository.h
@@ -20,6 +20,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "core/Core.h"
 #include "../ContentRepository.h"
@@ -33,8 +34,8 @@ namespace org::apache::nifi::minifi::core::repository {
  */
 class FileSystemRepository : public core::ContentRepository, public core::CoreComponent {
  public:
-  explicit FileSystemRepository(const std::string& name = getClassName<FileSystemRepository>())
-      : core::CoreComponent(name),
+  explicit FileSystemRepository(std::string name = getClassName<FileSystemRepository>())
+      : core::CoreComponent(std::move(name)),
         logger_(logging::LoggerFactory<FileSystemRepository>::getLogger()) {
   }
 
diff --git a/libminifi/include/core/state/nodes/AgentInformation.h b/libminifi/include/core/state/nodes/AgentInformation.h
index 827a3e7d6..3de8ad837 100644
--- a/libminifi/include/core/state/nodes/AgentInformation.h
+++ b/libminifi/include/core/state/nodes/AgentInformation.h
@@ -68,12 +68,12 @@ namespace org::apache::nifi::minifi::state::response {
 
 class ComponentManifest : public DeviceInformation {
  public:
-  ComponentManifest(const std::string& name, const utils::Identifier& uuid)
-      : DeviceInformation(name, uuid) {
+  ComponentManifest(std::string name, const utils::Identifier& uuid)
+      : DeviceInformation(std::move(name), uuid) {
   }
 
-  ComponentManifest(const std::string &name) // NOLINT
-      : DeviceInformation(name) {
+  explicit ComponentManifest(std::string name)
+      : DeviceInformation(std::move(name)) {
   }
 
   std::string getName() const override {
@@ -310,12 +310,12 @@ class ComponentManifest : public DeviceInformation {
 
 class ExternalManifest : public ComponentManifest {
  public:
-  ExternalManifest(const std::string& name, const utils::Identifier& uuid)
-      : ComponentManifest(name, uuid) {
+  ExternalManifest(std::string name, const utils::Identifier& uuid)
+      : ComponentManifest(std::move(name), uuid) {
   }
 
-  ExternalManifest(const std::string &name) // NOLINT
-      : ComponentManifest(name) {
+  explicit ExternalManifest(std::string name)
+      : ComponentManifest(std::move(name)) {
   }
 
   std::vector<SerializedResponseNode> serialize() override {
@@ -332,13 +332,13 @@ class ExternalManifest : public ComponentManifest {
 
 class Bundles : public DeviceInformation {
  public:
-  Bundles(const std::string& name, const utils::Identifier& uuid)
-      : DeviceInformation(name, uuid) {
+  Bundles(std::string name, const utils::Identifier& uuid)
+      : DeviceInformation(std::move(name), uuid) {
     setArray(true);
   }
 
-  Bundles(const std::string &name) // NOLINT
-      : DeviceInformation(name) {
+  explicit Bundles(std::string name)
+      : DeviceInformation(std::move(name)) {
     setArray(true);
   }
 
@@ -410,12 +410,12 @@ class Bundles : public DeviceInformation {
  */
 class AgentStatus : public StateMonitorNode {
  public:
-  AgentStatus(const std::string& name, const utils::Identifier& uuid)
-      : StateMonitorNode(name, uuid) {
+  AgentStatus(std::string name, const utils::Identifier& uuid)
+      : StateMonitorNode(std::move(name), uuid) {
   }
 
-  AgentStatus(const std::string &name) // NOLINT
-      : StateMonitorNode(name) {
+  explicit AgentStatus(std::string name)
+      : StateMonitorNode(std::move(name)) {
   }
 
   MINIFIAPI static constexpr const char* Description = "Metric node that defines current agent status including repository, component and resource usage information.";
@@ -629,12 +629,12 @@ class AgentMonitor {
  */
 class AgentManifest : public DeviceInformation {
  public:
-  AgentManifest(const std::string& name, const utils::Identifier& uuid)
-    : DeviceInformation(name, uuid) {
+  AgentManifest(std::string name, const utils::Identifier& uuid)
+    : DeviceInformation(std::move(name), uuid) {
   }
 
-  explicit AgentManifest(const std::string& name)
-    : DeviceInformation(name) {
+  explicit AgentManifest(std::string name)
+    : DeviceInformation(std::move(name)) {
   }
 
   std::string getName() const override {
@@ -694,13 +694,13 @@ class AgentManifest : public DeviceInformation {
 
 class AgentNode : public DeviceInformation, public AgentMonitor, public AgentIdentifier {
  public:
-  AgentNode(const std::string& name, const utils::Identifier& uuid)
-      : DeviceInformation(name, uuid) {
+  AgentNode(std::string name, const utils::Identifier& uuid)
+      : DeviceInformation(std::move(name), uuid) {
     setArray(false);
   }
 
-  explicit AgentNode(const std::string& name)
-      : DeviceInformation(name) {
+  explicit AgentNode(std::string name)
+      : DeviceInformation(std::move(name)) {
     setArray(false);
   }
 
@@ -779,14 +779,14 @@ class AgentNode : public DeviceInformation, public AgentMonitor, public AgentIde
  */
 class AgentInformation : public AgentNode {
  public:
-  AgentInformation(const std::string& name, const utils::Identifier& uuid)
-      : AgentNode(name, uuid),
+  AgentInformation(std::string name, const utils::Identifier& uuid)
+      : AgentNode(std::move(name), uuid),
         include_agent_status_(true) {
     setArray(false);
   }
 
-  explicit AgentInformation(const std::string &name)
-      : AgentNode(name),
+  explicit AgentInformation(std::string name)
+      : AgentNode(std::move(name)),
         include_agent_status_(true) {
     setArray(false);
   }
diff --git a/libminifi/include/core/state/nodes/BuildInformation.h b/libminifi/include/core/state/nodes/BuildInformation.h
index 8331fc557..973487359 100644
--- a/libminifi/include/core/state/nodes/BuildInformation.h
+++ b/libminifi/include/core/state/nodes/BuildInformation.h
@@ -17,6 +17,7 @@
 #pragma once
 
 #include <string>
+#include <utility>
 #include <vector>
 
 #ifndef WIN32
@@ -59,12 +60,12 @@ namespace org::apache::nifi::minifi::state::response {
  */
 class BuildInformation : public DeviceInformation {
  public:
-  BuildInformation(const std::string &name, const utils::Identifier &uuid)
-      : DeviceInformation(name, uuid) {
+  BuildInformation(std::string name, const utils::Identifier &uuid)
+      : DeviceInformation(std::move(name), uuid) {
   }
 
-  explicit BuildInformation(const std::string &name)
-      : DeviceInformation(name) {
+  explicit BuildInformation(std::string name)
+      : DeviceInformation(std::move(name)) {
   }
 
   MINIFIAPI static constexpr const char* Description = "Metric node that defines the pertinent build information for this agent binary";
diff --git a/libminifi/include/core/state/nodes/ConfigurationChecksums.h b/libminifi/include/core/state/nodes/ConfigurationChecksums.h
index 901447893..733c5834d 100644
--- a/libminifi/include/core/state/nodes/ConfigurationChecksums.h
+++ b/libminifi/include/core/state/nodes/ConfigurationChecksums.h
@@ -18,6 +18,7 @@
 #pragma once
 
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "core/state/nodes/MetricsBase.h"
@@ -29,7 +30,7 @@ namespace org::apache::nifi::minifi::state::response {
 class ConfigurationChecksums : public ResponseNode {
  public:
   ConfigurationChecksums() = default;
-  explicit ConfigurationChecksums(const std::string& name, const utils::Identifier& uuid = {}) : ResponseNode(name, uuid) {}
+  explicit ConfigurationChecksums(std::string name, const utils::Identifier& uuid = {}) : ResponseNode(std::move(name), uuid) {}
 
   MINIFIAPI static constexpr const char* Description = "Metric node that defines checksums of configuration files in the C2 protocol";
 
diff --git a/libminifi/include/core/state/nodes/DeviceInformation.h b/libminifi/include/core/state/nodes/DeviceInformation.h
index 0aa7b1cb1..6938c17ce 100644
--- a/libminifi/include/core/state/nodes/DeviceInformation.h
+++ b/libminifi/include/core/state/nodes/DeviceInformation.h
@@ -43,13 +43,14 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <set>
-#include <string>
-#include <vector>
 #include <fstream>
 #include <functional>
 #include <map>
+#include <set>
 #include <sstream>
+#include <string>
+#include <vector>
+#include <utility>
 
 #include "../nodes/MetricsBase.h"
 #include "Connection.h"
@@ -287,16 +288,16 @@ class Device {
  */
 class DeviceInfoNode : public DeviceInformation {
  public:
-  DeviceInfoNode(const std::string& name, const utils::Identifier& uuid)
-      : DeviceInformation(name, uuid) {
+  DeviceInfoNode(std::string name, const utils::Identifier& uuid)
+      : DeviceInformation(std::move(name), uuid) {
     static Device device;
     hostname_ = device.canonical_hostname_;
     ip_ = device.ip_;
     device_id_ = device.device_id_;
   }
 
-  explicit DeviceInfoNode(const std::string &name)
-      : DeviceInformation(name) {
+  explicit DeviceInfoNode(std::string name)
+      : DeviceInformation(std::move(name)) {
     static Device device;
     hostname_ = device.canonical_hostname_;
     ip_ = device.ip_;
diff --git a/libminifi/include/core/state/nodes/FlowInformation.h b/libminifi/include/core/state/nodes/FlowInformation.h
index 318c3c01d..e0f95c1a7 100644
--- a/libminifi/include/core/state/nodes/FlowInformation.h
+++ b/libminifi/include/core/state/nodes/FlowInformation.h
@@ -127,12 +127,12 @@ class FlowVersion : public DeviceInformation {
 
 class FlowMonitor : public StateMonitorNode, public ConnectionStore {
  public:
-  FlowMonitor(const std::string &name, const utils::Identifier &uuid)
-      : StateMonitorNode(name, uuid) {
+  FlowMonitor(std::string name, const utils::Identifier &uuid)
+      : StateMonitorNode(std::move(name), uuid) {
   }
 
-  FlowMonitor(const std::string &name) // NOLINT
-      : StateMonitorNode(name) {
+  explicit FlowMonitor(std::string name)
+      : StateMonitorNode(std::move(name)) {
   }
 
   void setFlowVersion(std::shared_ptr<state::response::FlowVersion> flow_version) {
@@ -148,12 +148,12 @@ class FlowMonitor : public StateMonitorNode, public ConnectionStore {
  */
 class FlowInformation : public FlowMonitor {
  public:
-  FlowInformation(const std::string &name, const utils::Identifier &uuid)
-      : FlowMonitor(name, uuid) {
+  FlowInformation(std::string name, const utils::Identifier &uuid)
+      : FlowMonitor(std::move(name), uuid) {
   }
 
-  FlowInformation(const std::string &name) // NOLINT
-      : FlowMonitor(name) {
+  explicit FlowInformation(std::string name)
+      : FlowMonitor(std::move(name)) {
   }
 
   MINIFIAPI static constexpr const char* Description = "Metric node that defines the flow ID and flow URL deployed to this agent";
diff --git a/libminifi/include/core/state/nodes/MetricsBase.h b/libminifi/include/core/state/nodes/MetricsBase.h
index 57ef26187..ff2e20d10 100644
--- a/libminifi/include/core/state/nodes/MetricsBase.h
+++ b/libminifi/include/core/state/nodes/MetricsBase.h
@@ -41,16 +41,17 @@ class ResponseNode : public core::Connectable, public PublishedMetricProvider {
         is_array_(false) {
   }
 
-  ResponseNode(const std::string& name) // NOLINT
-      : core::Connectable(name),
+  explicit ResponseNode(std::string name)
+      : core::Connectable(std::move(name)),
         is_array_(false) {
   }
 
-  ResponseNode(const std::string& name, const utils::Identifier& uuid)
-      : core::Connectable(name, uuid),
+  ResponseNode(std::string name, const utils::Identifier& uuid)
+      : core::Connectable(std::move(name), uuid),
         is_array_(false) {
   }
-  virtual ~ResponseNode() = default;
+
+  ~ResponseNode() override = default;
 
   static std::vector<state::response::SerializedResponseNode> serializeAndMergeResponseNodes(const std::vector<std::shared_ptr<ResponseNode>>& nodes) {
     if (nodes.empty()) {
@@ -67,16 +68,18 @@ class ResponseNode : public core::Connectable, public PublishedMetricProvider {
 
   virtual std::vector<SerializedResponseNode> serialize() = 0;
 
-  virtual void yield() {
+  void yield() override {
   }
-  virtual bool isRunning() {
+
+  bool isRunning() override {
     return true;
   }
-  virtual bool isWorkAvailable() {
+
+  bool isWorkAvailable() override {
     return true;
   }
 
-  bool isArray() {
+  bool isArray() const {
     return is_array_;
   }
 
@@ -97,11 +100,12 @@ class ResponseNode : public core::Connectable, public PublishedMetricProvider {
  */
 class DeviceInformation : public ResponseNode {
  public:
-  DeviceInformation(const std::string& name, const utils::Identifier& uuid)
-      : ResponseNode(name, uuid) {
+  DeviceInformation(std::string name, const utils::Identifier& uuid)
+      : ResponseNode(std::move(name), uuid) {
   }
-  DeviceInformation(const std::string& name) // NOLINT
-      : ResponseNode(name) {
+
+  explicit DeviceInformation(std::string name)
+      : ResponseNode(std::move(name)) {
   }
 };
 
@@ -110,8 +114,8 @@ class DeviceInformation : public ResponseNode {
  */
 class ObjectNode : public ResponseNode {
  public:
-  ObjectNode(const std::string& name, const utils::Identifier& uuid = {}) // NOLINT
-      : ResponseNode(name, uuid) {
+  explicit ObjectNode(std::string name, const utils::Identifier& uuid = {})
+      : ResponseNode(std::move(name), uuid) {
   }
 
   void add_node(const std::shared_ptr<ResponseNode> &node) {
diff --git a/libminifi/include/core/state/nodes/RepositoryMetrics.h b/libminifi/include/core/state/nodes/RepositoryMetrics.h
index 009f577b3..599730bef 100644
--- a/libminifi/include/core/state/nodes/RepositoryMetrics.h
+++ b/libminifi/include/core/state/nodes/RepositoryMetrics.h
@@ -36,12 +36,12 @@ namespace org::apache::nifi::minifi::state::response {
  */
 class RepositoryMetrics : public ResponseNode {
  public:
-  RepositoryMetrics(const std::string &name, const utils::Identifier &uuid)
-      : ResponseNode(name, uuid) {
+  RepositoryMetrics(std::string name, const utils::Identifier &uuid)
+      : ResponseNode(std::move(name), uuid) {
   }
 
-  RepositoryMetrics(const std::string &name) // NOLINT
-      : ResponseNode(name) {
+  explicit RepositoryMetrics(std::string name)
+      : ResponseNode(std::move(name)) {
   }
 
   RepositoryMetrics()
diff --git a/libminifi/include/core/state/nodes/SchedulingNodes.h b/libminifi/include/core/state/nodes/SchedulingNodes.h
index 4d8acdac5..2262cd6e7 100644
--- a/libminifi/include/core/state/nodes/SchedulingNodes.h
+++ b/libminifi/include/core/state/nodes/SchedulingNodes.h
@@ -19,9 +19,9 @@
 #define LIBMINIFI_INCLUDE_CORE_STATE_NODES_SCHEDULINGNODES_H_
 
 #include <string>
+#include <utility>
 #include <vector>
 
-
 #include "MetricsBase.h"
 #include "core/ProcessorConfig.h"
 
@@ -29,12 +29,12 @@ namespace org::apache::nifi::minifi::state::response {
 
 class SchedulingDefaults : public DeviceInformation {
  public:
-  SchedulingDefaults(const std::string &name, const utils::Identifier &uuid)
-      : DeviceInformation(name, uuid) {
+  SchedulingDefaults(std::string name, const utils::Identifier &uuid)
+      : DeviceInformation(std::move(name), uuid) {
   }
 
-  SchedulingDefaults(const std::string &name) // NOLINT
-      : DeviceInformation(name) {
+  explicit SchedulingDefaults(std::string name)
+      : DeviceInformation(std::move(name)) {
   }
 
   std::string getName() const override {
diff --git a/libminifi/include/core/state/nodes/StateMonitor.h b/libminifi/include/core/state/nodes/StateMonitor.h
index cbeffa80b..3f6d74d2f 100644
--- a/libminifi/include/core/state/nodes/StateMonitor.h
+++ b/libminifi/include/core/state/nodes/StateMonitor.h
@@ -25,6 +25,7 @@
 #include <memory>
 #include <sstream>
 #include <string>
+#include <utility>
 
 #include "../nodes/MetricsBase.h"
 #include "agent/agent_version.h"
@@ -34,22 +35,17 @@
 #include "core/state/UpdateController.h"
 #include "io/ClientSocket.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace state {
-namespace response {
+namespace org::apache::nifi::minifi::state::response {
 
 class StateMonitorNode : public DeviceInformation {
  public:
-  StateMonitorNode(const std::string& name, const utils::Identifier& uuid)
-      : DeviceInformation(name, uuid),
+  StateMonitorNode(std::string name, const utils::Identifier& uuid)
+      : DeviceInformation(std::move(name), uuid),
         monitor_(nullptr) {
   }
 
-  StateMonitorNode(const std::string &name) // NOLINT
-      : DeviceInformation(name),
+  explicit StateMonitorNode(std::string name)
+      : DeviceInformation(std::move(name)),
         monitor_(nullptr) {
   }
 
@@ -60,11 +56,6 @@ class StateMonitorNode : public DeviceInformation {
   state::StateMonitor* monitor_;
 };
 
-}  // namespace response
-}  // namespace state
-}  // namespace minifi
-}  // namespace nifi
-}  // namespace apache
-}  // namespace org
+}  // namespace org::apache::nifi::minifi::state::response
 
 #endif  // LIBMINIFI_INCLUDE_CORE_STATE_NODES_STATEMONITOR_H_
diff --git a/libminifi/include/core/state/nodes/SupportedOperations.h b/libminifi/include/core/state/nodes/SupportedOperations.h
index 8aa147126..930c56cc6 100644
--- a/libminifi/include/core/state/nodes/SupportedOperations.h
+++ b/libminifi/include/core/state/nodes/SupportedOperations.h
@@ -30,8 +30,8 @@ namespace org::apache::nifi::minifi::state::response {
 
 class SupportedOperations : public DeviceInformation {
  public:
-  SupportedOperations(const std::string &name, const utils::Identifier &uuid);
-  explicit SupportedOperations(const std::string &name);
+  SupportedOperations(std::string name, const utils::Identifier &uuid);
+  explicit SupportedOperations(std::string name);
 
   MINIFIAPI static constexpr const char* Description = "Metric node that defines the supported C2 operations in the Agent Manifest.";
 
diff --git a/libminifi/include/provenance/Provenance.h b/libminifi/include/provenance/Provenance.h
index 3eab418ae..e3feb6708 100644
--- a/libminifi/include/provenance/Provenance.h
+++ b/libminifi/include/provenance/Provenance.h
@@ -153,11 +153,6 @@ class ProvenanceEventRecord : public core::SerializableComponent {
   };
   static const char *ProvenanceEventTypeStr[REPLAY + 1];
 
- public:
-  // Constructor
-  /*!
-   * Create a new provenance event record
-   */
   ProvenanceEventRecord(ProvenanceEventType event, std::string componentId, std::string componentType);
 
   ProvenanceEventRecord()
diff --git a/libminifi/include/sitetosite/RawSocketProtocol.h b/libminifi/include/sitetosite/RawSocketProtocol.h
index 8b3dc39c1..b209f7d27 100644
--- a/libminifi/include/sitetosite/RawSocketProtocol.h
+++ b/libminifi/include/sitetosite/RawSocketProtocol.h
@@ -53,10 +53,6 @@ class RawSiteToSiteClient : public sitetosite::SiteToSiteClient {
   // HandShakeProperty Str
   static const char *HandShakePropertyStr[MAX_HANDSHAKE_PROPERTY];
 
-  // Constructor
-  /*!
-   * Create a new control protocol
-   */
   RawSiteToSiteClient(std::unique_ptr<SiteToSitePeer> peer) { // NOLINT
     peer_ = std::move(peer);
     _batchSize = 0;
@@ -75,7 +71,7 @@ class RawSiteToSiteClient : public sitetosite::SiteToSiteClient {
     _currentCodecVersion = _supportedCodecVersion[0];
     _currentCodecVersionIndex = 0;
   }
-  // Destructor
+
   ~RawSiteToSiteClient() override {
     tearDown();
   }
diff --git a/libminifi/src/Connection.cpp b/libminifi/src/Connection.cpp
index 440fddbb7..cddd0463c 100644
--- a/libminifi/src/Connection.cpp
+++ b/libminifi/src/Connection.cpp
@@ -37,32 +37,32 @@ using namespace std::literals::chrono_literals;
 
 namespace org::apache::nifi::minifi {
 
-Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, const std::string &name)
-    : core::Connectable(name),
+Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::string name)
+    : core::Connectable(std::move(name)),
       flow_repository_(std::move(flow_repository)),
       content_repo_(std::move(content_repo)) {
   logger_->log_debug("Connection %s created", name_);
 }
 
-Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, const std::string &name, const utils::Identifier &uuid)
-    : core::Connectable(name, uuid),
+Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::string name, const utils::Identifier &uuid)
+    : core::Connectable(std::move(name), uuid),
       flow_repository_(std::move(flow_repository)),
       content_repo_(std::move(content_repo)) {
   logger_->log_debug("Connection %s created", name_);
 }
 
-Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, const std::string &name, const utils::Identifier &uuid,
+Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::string name, const utils::Identifier &uuid,
                        const utils::Identifier& srcUUID)
-    : core::Connectable(name, uuid),
+    : core::Connectable(std::move(name), uuid),
       flow_repository_(std::move(flow_repository)),
       content_repo_(std::move(content_repo)) {
   src_uuid_ = srcUUID;
   logger_->log_debug("Connection %s created", name_);
 }
 
-Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, const std::string &name, const utils::Identifier &uuid,
+Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::string name, const utils::Identifier &uuid,
                        const utils::Identifier& srcUUID, const utils::Identifier& destUUID)
-    : core::Connectable(name, uuid),
+    : core::Connectable(std::move(name), uuid),
       flow_repository_(std::move(flow_repository)),
       content_repo_(std::move(content_repo)) {
   src_uuid_ = srcUUID;
@@ -71,8 +71,8 @@ Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::s
 }
 
 Connection::Connection(std::shared_ptr<core::Repository> flow_repository, std::shared_ptr<core::ContentRepository> content_repo, std::shared_ptr<SwapManager> swap_manager,
-                       const std::string& name, const utils::Identifier& uuid)
-    : core::Connectable(name, uuid),
+                       std::string name, const utils::Identifier& uuid)
+    : core::Connectable(std::move(name), uuid),
       flow_repository_(std::move(flow_repository)),
       content_repo_(std::move(content_repo)),
       queue_(std::move(swap_manager)) {
diff --git a/libminifi/src/c2/HeartbeatLogger.cpp b/libminifi/src/c2/HeartbeatLogger.cpp
index ffcd9be76..a764de632 100644
--- a/libminifi/src/c2/HeartbeatLogger.cpp
+++ b/libminifi/src/c2/HeartbeatLogger.cpp
@@ -20,8 +20,8 @@
 
 namespace org::apache::nifi::minifi::c2 {
 
-HeartbeatLogger::HeartbeatLogger(const std::string& name, const utils::Identifier& id)
-  : HeartbeatReporter(name, id) {
+HeartbeatLogger::HeartbeatLogger(std::string name, const utils::Identifier& id)
+  : HeartbeatReporter(std::move(name), id) {
   logger_->set_max_log_size(-1);  // log however huge the heartbeat is
 }
 
diff --git a/libminifi/src/controllers/keyvalue/AbstractAutoPersistingKeyValueStoreService.cpp b/libminifi/src/controllers/keyvalue/AbstractAutoPersistingKeyValueStoreService.cpp
index bf6c271f3..4a8535815 100644
--- a/libminifi/src/controllers/keyvalue/AbstractAutoPersistingKeyValueStoreService.cpp
+++ b/libminifi/src/controllers/keyvalue/AbstractAutoPersistingKeyValueStoreService.cpp
@@ -23,8 +23,8 @@ using namespace std::literals::chrono_literals;
 
 namespace org::apache::nifi::minifi::controllers {
 
-AbstractAutoPersistingKeyValueStoreService::AbstractAutoPersistingKeyValueStoreService(const std::string& name, const utils::Identifier& uuid /*= utils::Identifier()*/)
-    : PersistableKeyValueStoreService(name, uuid)
+AbstractAutoPersistingKeyValueStoreService::AbstractAutoPersistingKeyValueStoreService(std::string name, const utils::Identifier& uuid /*= utils::Identifier()*/)
+    : PersistableKeyValueStoreService(std::move(name), uuid)
     , always_persist_(false)
     , auto_persistence_interval_(0U)
     , running_(false) {
diff --git a/libminifi/src/controllers/keyvalue/KeyValueStoreService.cpp b/libminifi/src/controllers/keyvalue/KeyValueStoreService.cpp
index 7f2298782..717ddbeb1 100644
--- a/libminifi/src/controllers/keyvalue/KeyValueStoreService.cpp
+++ b/libminifi/src/controllers/keyvalue/KeyValueStoreService.cpp
@@ -17,14 +17,10 @@
 
 #include "controllers/keyvalue/KeyValueStoreService.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace controllers {
-
-KeyValueStoreService::KeyValueStoreService(const std::string& name, const utils::Identifier& uuid /*= utils::Identifier()*/)
-    : ControllerService(name, uuid) {
+namespace org::apache::nifi::minifi::controllers {
+
+KeyValueStoreService::KeyValueStoreService(std::string name, const utils::Identifier& uuid /*= utils::Identifier()*/)
+    : ControllerService(std::move(name), uuid) {
 }
 
 KeyValueStoreService::~KeyValueStoreService() = default;
@@ -40,9 +36,4 @@ bool KeyValueStoreService::isWorkAvailable() {
   return false;
 }
 
-
-} /* namespace controllers */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::controllers
diff --git a/libminifi/src/controllers/keyvalue/PersistableKeyValueStoreService.cpp b/libminifi/src/controllers/keyvalue/PersistableKeyValueStoreService.cpp
index bffd24207..7a17c010b 100644
--- a/libminifi/src/controllers/keyvalue/PersistableKeyValueStoreService.cpp
+++ b/libminifi/src/controllers/keyvalue/PersistableKeyValueStoreService.cpp
@@ -18,14 +18,10 @@
 #include "controllers/keyvalue/PersistableKeyValueStoreService.h"
 #include "core/logging/LoggerConfiguration.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace controllers {
+namespace org::apache::nifi::minifi::controllers {
 
-PersistableKeyValueStoreService::PersistableKeyValueStoreService(const std::string& name, const utils::Identifier& uuid /*= utils::Identifier()*/)
-    : KeyValueStoreService(name, uuid) {
+PersistableKeyValueStoreService::PersistableKeyValueStoreService(std::string name, const utils::Identifier& uuid /*= utils::Identifier()*/)
+    : KeyValueStoreService(std::move(name), uuid) {
 }
 
 PersistableKeyValueStoreService::~PersistableKeyValueStoreService() = default;
@@ -64,8 +60,4 @@ bool PersistableKeyValueStoreService::persistImpl() {
   return persist();
 }
 
-} /* namespace controllers */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::controllers
diff --git a/libminifi/src/core/Connectable.cpp b/libminifi/src/core/Connectable.cpp
index 491a8b91a..00a8cef37 100644
--- a/libminifi/src/core/Connectable.cpp
+++ b/libminifi/src/core/Connectable.cpp
@@ -25,15 +25,15 @@
 
 namespace org::apache::nifi::minifi::core {
 
-Connectable::Connectable(const std::string &name, const utils::Identifier &uuid)
-    : CoreComponent(name, uuid),
+Connectable::Connectable(std::string name, const utils::Identifier &uuid)
+    : CoreComponent(std::move(name), uuid),
       max_concurrent_tasks_(1),
       connectable_version_(nullptr),
       logger_(logging::LoggerFactory<Connectable>::getLogger()) {
 }
 
-Connectable::Connectable(const std::string &name)
-    : CoreComponent(name),
+Connectable::Connectable(std::string name)
+    : CoreComponent(std::move(name)),
       max_concurrent_tasks_(1),
       connectable_version_(nullptr),
       logger_(logging::LoggerFactory<Connectable>::getLogger()) {
diff --git a/libminifi/src/core/Core.cpp b/libminifi/src/core/Core.cpp
index fc472ee17..b3e2722c0 100644
--- a/libminifi/src/core/Core.cpp
+++ b/libminifi/src/core/Core.cpp
@@ -22,8 +22,8 @@
 
 namespace org::apache::nifi::minifi::core {
 
-CoreComponent::CoreComponent(const std::string& name, const utils::Identifier& uuid, const std::shared_ptr<utils::IdGenerator>& idGenerator)
-    : name_(name) {
+CoreComponent::CoreComponent(std::string name, const utils::Identifier& uuid, const std::shared_ptr<utils::IdGenerator>& idGenerator)
+    : name_(std::move(name)) {
   if (uuid.isNil()) {
     // Generate the global UUID for the flow record
     uuid_ = idGenerator->generate();
@@ -43,8 +43,8 @@ utils::Identifier CoreComponent::getUUID() const {
 }
 
 // Set Processor Name
-void CoreComponent::setName(const std::string &name) {
-  name_ = name;
+void CoreComponent::setName(std::string name) {
+  name_ = std::move(name);
 }
 // Get Process Name
 std::string CoreComponent::getName() const {
diff --git a/libminifi/src/core/ProcessContextBuilder.cpp b/libminifi/src/core/ProcessContextBuilder.cpp
index 00a70d1f1..e7adb178f 100644
--- a/libminifi/src/core/ProcessContextBuilder.cpp
+++ b/libminifi/src/core/ProcessContextBuilder.cpp
@@ -22,14 +22,14 @@
 
 namespace org::apache::nifi::minifi::core {
 
-ProcessContextBuilder::ProcessContextBuilder(const std::string &name, const minifi::utils::Identifier &uuid)
-    : core::CoreComponent(name, uuid) {
+ProcessContextBuilder::ProcessContextBuilder(std::string name, const minifi::utils::Identifier &uuid)
+    : core::CoreComponent(std::move(name), uuid) {
   content_repo_ = std::make_shared<core::repository::FileSystemRepository>();
   configuration_ = std::make_shared<minifi::Configure>();
 }
 
-ProcessContextBuilder::ProcessContextBuilder(const std::string &name)
-    : core::CoreComponent(name) {
+ProcessContextBuilder::ProcessContextBuilder(std::string name)
+    : core::CoreComponent(std::move(name)) {
   content_repo_ = std::make_shared<core::repository::FileSystemRepository>();
   configuration_ = std::make_shared<minifi::Configure>();
 }
diff --git a/libminifi/src/core/ProcessGroup.cpp b/libminifi/src/core/ProcessGroup.cpp
index 946fed413..b7444ecd0 100644
--- a/libminifi/src/core/ProcessGroup.cpp
+++ b/libminifi/src/core/ProcessGroup.cpp
@@ -25,38 +25,33 @@
 #include <set>
 #include <chrono>
 #include <thread>
-#include "core/logging/LoggerConfiguration.h"
 #include "core/Processor.h"
 #include "core/state/ProcessorController.h"
 #include "core/state/UpdateController.h"
 
 using namespace std::literals::chrono_literals;
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace core {
+namespace org::apache::nifi::minifi::core {
 
 std::shared_ptr<utils::IdGenerator> ProcessGroup::id_generator_ = utils::IdGenerator::getIdGenerator();
 
-ProcessGroup::ProcessGroup(ProcessGroupType type, const std::string& name, const utils::Identifier& uuid)
-    : ProcessGroup(type, name, uuid, 0, 0) {
+ProcessGroup::ProcessGroup(ProcessGroupType type, std::string name, const utils::Identifier& uuid)
+    : ProcessGroup(type, std::move(name), uuid, 0, nullptr) {
 }
 
-ProcessGroup::ProcessGroup(ProcessGroupType type, const std::string& name, const utils::Identifier& uuid, int version)
-    : ProcessGroup(type, name, uuid, version, 0) {
+ProcessGroup::ProcessGroup(ProcessGroupType type, std::string name, const utils::Identifier& uuid, int version)
+    : ProcessGroup(type, std::move(name), uuid, version, nullptr) {
 }
 
-ProcessGroup::ProcessGroup(ProcessGroupType type, const std::string& name, const utils::Identifier& uuid, int version, ProcessGroup* parent)
-    : CoreComponent(name, uuid, id_generator_),
+ProcessGroup::ProcessGroup(ProcessGroupType type, std::string name, const utils::Identifier& uuid, int version, ProcessGroup* parent)
+    : CoreComponent(std::move(name), uuid, id_generator_),
       config_version_(version),
       type_(type),
       parent_process_group_(parent),
       logger_(logging::LoggerFactory<ProcessGroup>::getLogger()) {
   yield_period_msec_ = 0ms;
 
-  if (parent_process_group_ != 0) {
+  if (parent_process_group_ != nullptr) {
     onschedule_retry_msec_ = parent_process_group_->getOnScheduleRetryPeriod();
   } else {
     onschedule_retry_msec_ = ONSCHEDULE_RETRY_INTERVAL;
@@ -67,8 +62,8 @@ ProcessGroup::ProcessGroup(ProcessGroupType type, const std::string& name, const
   logger_->log_debug("ProcessGroup %s created", name_);
 }
 
-ProcessGroup::ProcessGroup(ProcessGroupType type, const std::string& name)
-    : CoreComponent(name, {}, id_generator_),
+ProcessGroup::ProcessGroup(ProcessGroupType type, std::string name)
+    : CoreComponent(std::move(name), {}, id_generator_),
       config_version_(0),
       type_(type),
       parent_process_group_(nullptr),
@@ -385,8 +380,4 @@ void ProcessGroup::verify() const {
   }
 }
 
-} /* namespace core */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::core
diff --git a/libminifi/src/core/Processor.cpp b/libminifi/src/core/Processor.cpp
index 4e73c2976..26adfe1ef 100644
--- a/libminifi/src/core/Processor.cpp
+++ b/libminifi/src/core/Processor.cpp
@@ -41,8 +41,8 @@ using namespace std::literals::chrono_literals;
 
 namespace org::apache::nifi::minifi::core {
 
-Processor::Processor(const std::string& name, std::shared_ptr<ProcessorMetrics> metrics)
-    : Connectable(name),
+Processor::Processor(std::string name, std::shared_ptr<ProcessorMetrics> metrics)
+    : Connectable(std::move(name)),
       logger_(logging::LoggerFactory<Processor>::getLogger()),
       metrics_(metrics ? std::move(metrics) : std::make_shared<ProcessorMetrics>(*this)) {
   has_work_.store(false);
@@ -60,8 +60,8 @@ Processor::Processor(const std::string& name, std::shared_ptr<ProcessorMetrics>
   logger_->log_debug("Processor %s created UUID %s", name_, getUUIDStr());
 }
 
-Processor::Processor(const std::string& name, const utils::Identifier& uuid, std::shared_ptr<ProcessorMetrics> metrics)
-    : Connectable(name, uuid),
+Processor::Processor(std::string name, const utils::Identifier& uuid, std::shared_ptr<ProcessorMetrics> metrics)
+    : Connectable(std::move(name), uuid),
       logger_(logging::LoggerFactory<Processor>::getLogger()),
       metrics_(metrics ? std::move(metrics) : std::make_shared<ProcessorMetrics>(*this)) {
   has_work_.store(false);
diff --git a/libminifi/src/core/RepositoryFactory.cpp b/libminifi/src/core/RepositoryFactory.cpp
index 6ee1e6af1..f376dbeb1 100644
--- a/libminifi/src/core/RepositoryFactory.cpp
+++ b/libminifi/src/core/RepositoryFactory.cpp
@@ -61,9 +61,9 @@ createContentRepository(const std::string& configuration_class_name, bool fail_s
 
 class NoOpThreadedRepository : public core::ThreadedRepository {
  public:
-  explicit NoOpThreadedRepository(const std::string& repo_name)
+  explicit NoOpThreadedRepository(std::string repo_name)
           : core::SerializableComponent(repo_name),
-            ThreadedRepository(repo_name) {
+            ThreadedRepository(std::move(repo_name)) {
   }
 
   ~NoOpThreadedRepository() override {
diff --git a/libminifi/src/core/state/nodes/SupportedOperations.cpp b/libminifi/src/core/state/nodes/SupportedOperations.cpp
index 252103116..453bd4bf9 100644
--- a/libminifi/src/core/state/nodes/SupportedOperations.cpp
+++ b/libminifi/src/core/state/nodes/SupportedOperations.cpp
@@ -22,13 +22,13 @@
 
 namespace org::apache::nifi::minifi::state::response {
 
-SupportedOperations::SupportedOperations(const std::string &name, const utils::Identifier &uuid)
-    : DeviceInformation(name, uuid) {
+SupportedOperations::SupportedOperations(std::string name, const utils::Identifier &uuid)
+    : DeviceInformation(std::move(name), uuid) {
   setArray(true);
 }
 
-SupportedOperations::SupportedOperations(const std::string &name)
-    : DeviceInformation(name) {
+SupportedOperations::SupportedOperations(std::string name)
+    : DeviceInformation(std::move(name)) {
   setArray(true);
 }
 
diff --git a/libminifi/test/DummyProcessor.h b/libminifi/test/DummyProcessor.h
index a5eceecc4..0774b6bbf 100644
--- a/libminifi/test/DummyProcessor.h
+++ b/libminifi/test/DummyProcessor.h
@@ -18,6 +18,7 @@
 
 #include <array>
 #include <string>
+#include <utility>
 
 #include "core/Processor.h"
 #include "agent/agent_docs.h"
@@ -28,8 +29,8 @@ class DummyProcessor : public minifi::core::Processor {
   using minifi::core::Processor::Processor;
 
  public:
-  DummyProcessor(const std::string& name, const minifi::utils::Identifier& uuid) : Processor(name, uuid) {}
-  explicit DummyProcessor(const std::string& name) : Processor(name) {}
+  DummyProcessor(std::string name, const minifi::utils::Identifier& uuid) : Processor(std::move(name), uuid) {}
+  explicit DummyProcessor(std::string name) : Processor(std::move(name)) {}
   static constexpr const char* Description = "A processor that does nothing.";
   static auto properties() { return std::array<core::Property, 0>{}; }
   static auto relationships() { return std::array<core::Relationship, 0>{}; }
diff --git a/libminifi/test/ReadFromFlowFileTestProcessor.h b/libminifi/test/ReadFromFlowFileTestProcessor.h
index 0451fdc7e..bb65aedc9 100644
--- a/libminifi/test/ReadFromFlowFileTestProcessor.h
+++ b/libminifi/test/ReadFromFlowFileTestProcessor.h
@@ -15,10 +15,11 @@
  * limitations under the License.
  */
 
-#include <string>
+#include <map>
 #include <memory>
+#include <string>
 #include <vector>
-#include <map>
+#include <utility>
 
 #include "core/Processor.h"
 #include "core/ProcessSession.h"
@@ -37,8 +38,8 @@ class ReadFromFlowFileTestProcessor : public core::Processor {
   static constexpr const char* ON_TRIGGER_LOG_STR = "ReadFromFlowFileTestProcessor::onTrigger executed";
   static constexpr const char* ON_UNSCHEDULE_LOG_STR = "ReadFromFlowFileTestProcessor::onUnSchedule executed";
 
-  explicit ReadFromFlowFileTestProcessor(const std::string& name, const utils::Identifier& uuid = utils::Identifier())
-      : Processor(name, uuid) {
+  explicit ReadFromFlowFileTestProcessor(std::string name, const utils::Identifier& uuid = utils::Identifier())
+      : Processor(std::move(name), uuid) {
   }
 
   static constexpr const char* Description = "ReadFromFlowFileTestProcessor (only for testing purposes)";
diff --git a/libminifi/test/WriteToFlowFileTestProcessor.h b/libminifi/test/WriteToFlowFileTestProcessor.h
index 73ea7212f..08dd520af 100644
--- a/libminifi/test/WriteToFlowFileTestProcessor.h
+++ b/libminifi/test/WriteToFlowFileTestProcessor.h
@@ -36,8 +36,8 @@ class WriteToFlowFileTestProcessor : public core::Processor {
   static constexpr const char* ON_TRIGGER_LOG_STR = "WriteToFlowFileTestProcessor::onTrigger executed";
   static constexpr const char* ON_UNSCHEDULE_LOG_STR = "WriteToFlowFileTestProcessor::onUnSchedule executed";
 
-  explicit WriteToFlowFileTestProcessor(const std::string& name, const utils::Identifier& uuid = utils::Identifier())
-      : Processor(name, uuid) {
+  explicit WriteToFlowFileTestProcessor(std::string name, const utils::Identifier& uuid = utils::Identifier())
+      : Processor(std::move(name), uuid) {
   }
 
   static constexpr const char* Description = "WriteToFlowFileTestProcessor (only for testing purposes)";
diff --git a/libminifi/test/flow-tests/CustomProcessors.h b/libminifi/test/flow-tests/CustomProcessors.h
index 7dedb063c..803d39350 100644
--- a/libminifi/test/flow-tests/CustomProcessors.h
+++ b/libminifi/test/flow-tests/CustomProcessors.h
@@ -18,10 +18,12 @@
 
 #pragma once
 
-#include <unordered_map>
-#include <string>
 #include <memory>
 #include <random>
+#include <string>
+#include <unordered_map>
+#include <utility>
+
 #include <YamlConfiguration.h>
 #include "core/Processor.h"
 #include "TestBase.h"
@@ -30,11 +32,7 @@
 #include "core/PropertyBuilder.h"
 #include "core/Resource.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 static core::Relationship Apple{"apple", ""};
 static core::Relationship Banana{"banana", ""};
@@ -51,7 +49,7 @@ class ProcessorWithStatistics {
 
 class TestProcessor : public core::Processor, public ProcessorWithStatistics {
  public:
-  TestProcessor(const std::string& name, const utils::Identifier& uuid) : Processor(name, uuid) {}
+  TestProcessor(std::string name, const utils::Identifier& uuid) : Processor(std::move(name), uuid) {}
   explicit TestProcessor(const std::string& name) : Processor(name) {}
 
   static constexpr const char* Description = "Processor used for testing cycles";
@@ -105,7 +103,7 @@ class TestProcessor : public core::Processor, public ProcessorWithStatistics {
 
 class TestFlowFileGenerator : public processors::GenerateFlowFile, public ProcessorWithStatistics {
  public:
-  TestFlowFileGenerator(const std::string& name, const utils::Identifier& uuid) : GenerateFlowFile(name, uuid) {}
+  TestFlowFileGenerator(std::string name, const utils::Identifier& uuid) : GenerateFlowFile(std::move(name), uuid) {}
   explicit TestFlowFileGenerator(const std::string& name) : GenerateFlowFile(name) {}
 
   static constexpr const char* Description = "Processor generating files and notifying us";
@@ -123,8 +121,4 @@ class TestFlowFileGenerator : public processors::GenerateFlowFile, public Proces
 REGISTER_RESOURCE(TestProcessor, Processor);
 REGISTER_RESOURCE(TestFlowFileGenerator, Processor);
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
diff --git a/libminifi/test/persistence-tests/PersistenceTests.cpp b/libminifi/test/persistence-tests/PersistenceTests.cpp
index 91b4b15c0..7c6536c0c 100644
--- a/libminifi/test/persistence-tests/PersistenceTests.cpp
+++ b/libminifi/test/persistence-tests/PersistenceTests.cpp
@@ -248,7 +248,7 @@ TEST_CASE("Processors Can Store FlowFiles", "[TestP1]") {
 
 class ContentUpdaterProcessor : public core::Processor {
  public:
-  ContentUpdaterProcessor(const std::string& name, const utils::Identifier& id) : Processor(name, id) {}
+  ContentUpdaterProcessor(std::string name, const utils::Identifier& id) : Processor(std::move(name), id) {}
 
   static constexpr bool SupportsDynamicProperties = false;
   static constexpr bool SupportsDynamicRelationships = false;
diff --git a/libminifi/test/sql-tests/mocks/MockODBCService.h b/libminifi/test/sql-tests/mocks/MockODBCService.h
index 0043b87e4..056aa93f0 100644
--- a/libminifi/test/sql-tests/mocks/MockODBCService.h
+++ b/libminifi/test/sql-tests/mocks/MockODBCService.h
@@ -19,6 +19,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "MockConnectors.h"
 #include "services/DatabaseService.h"
@@ -29,14 +30,14 @@ namespace org::apache::nifi::minifi::sql::controllers {
 
 class MockODBCService : public DatabaseService {
  public:
-  explicit MockODBCService(const std::string &name, utils::Identifier uuid = utils::Identifier())
-    : DatabaseService(name, uuid),
+  explicit MockODBCService(std::string name, utils::Identifier uuid = utils::Identifier())
+    : DatabaseService(std::move(name), uuid),
       logger_(logging::LoggerFactory<MockODBCService>::getLogger()) {
     initialize();
   }
 
-  explicit MockODBCService(const std::string &name, const std::shared_ptr<Configure> &configuration)
-      : DatabaseService(name),
+  explicit MockODBCService(std::string name, const std::shared_ptr<Configure> &configuration)
+      : DatabaseService(std::move(name)),
         logger_(logging::LoggerFactory<MockODBCService>::getLogger()) {
     setConfiguration(configuration);
     initialize();
diff --git a/libminifi/test/unit/MockClasses.h b/libminifi/test/unit/MockClasses.h
index 366d4f605..042833314 100644
--- a/libminifi/test/unit/MockClasses.h
+++ b/libminifi/test/unit/MockClasses.h
@@ -18,6 +18,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
 #include "core/controller/ControllerService.h"
 #include "core/Processor.h"
@@ -31,12 +32,12 @@ std::mutex control_mutex;
 
 class MockControllerService : public minifi::core::controller::ControllerService {
  public:
-  explicit MockControllerService(const std::string &name, const minifi::utils::Identifier &uuid)
-      : ControllerService(name, uuid) {
+  explicit MockControllerService(std::string name, const minifi::utils::Identifier &uuid)
+      : ControllerService(std::move(name), uuid) {
   }
 
-  explicit MockControllerService(const std::string &name)
-      : ControllerService(name) {
+  explicit MockControllerService(std::string name)
+      : ControllerService(std::move(name)) {
   }
   MockControllerService() = default;
 
@@ -77,13 +78,13 @@ class MockControllerService : public minifi::core::controller::ControllerService
 
 class MockProcessor : public minifi::core::Processor {
  public:
-  explicit MockProcessor(const std::string &name, const minifi::utils::Identifier &uuid)
-      : Processor(name, uuid) {
+  explicit MockProcessor(std::string name, const minifi::utils::Identifier &uuid)
+      : Processor(std::move(name), uuid) {
     setTriggerWhenEmpty(true);
   }
 
-  explicit MockProcessor(const std::string &name)
-      : Processor(name) {
+  explicit MockProcessor(std::string name)
+      : Processor(std::move(name)) {
     setTriggerWhenEmpty(true);
   }
 
diff --git a/nanofi/include/cxx/CallbackProcessor.h b/nanofi/include/cxx/CallbackProcessor.h
index 082e4c35f..5eeb96a75 100644
--- a/nanofi/include/cxx/CallbackProcessor.h
+++ b/nanofi/include/cxx/CallbackProcessor.h
@@ -36,11 +36,7 @@
 #include "core/Core.h"
 #include "core/logging/LoggerConfiguration.h"
 
-namespace org {
-namespace apache {
-namespace nifi {
-namespace minifi {
-namespace processors {
+namespace org::apache::nifi::minifi::processors {
 
 class CallbackProcessor : public core::Processor {
  public:
@@ -56,8 +52,8 @@ class CallbackProcessor : public core::Processor {
 
   ADD_COMMON_VIRTUAL_FUNCTIONS_FOR_PROCESSORS
 
-  explicit CallbackProcessor(const std::string& name, const utils::Identifier& uuid = {})
-      : Processor(name, uuid) {
+  explicit CallbackProcessor(std::string name, const utils::Identifier& uuid = {})
+      : Processor(std::move(name), uuid) {
   }
   ~CallbackProcessor() override = default;
 
@@ -80,10 +76,6 @@ class CallbackProcessor : public core::Processor {
   std::shared_ptr<core::logging::Logger> logger_{ core::logging::LoggerFactory<CallbackProcessor>::getLogger() };
 };
 
-} /* namespace processors */
-} /* namespace minifi */
-} /* namespace nifi */
-} /* namespace apache */
-} /* namespace org */
+}  // namespace org::apache::nifi::minifi::processors
 
 #endif


[nifi-minifi-cpp] 02/04: MINIFICPP-1959 - Ensure that VolatileFlowFileRepository does not delete referenced resource

Posted by fg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit 8bda98d4a959cdf18459cc57f156e2d6dc557e75
Author: Adam Debreceni <ad...@apache.org>
AuthorDate: Fri Oct 14 14:15:40 2022 +0200

    MINIFICPP-1959 - Ensure that VolatileFlowFileRepository does not delete referenced resource
    
    Signed-off-by: Ferenc Gerlits <fg...@gmail.com>
    This closes #1435
---
 extensions/sftp/tests/ListSFTPTests.cpp            |  2 +-
 .../tests/unit/TailFileTests.cpp                   |  4 +-
 .../core/repository/VolatileFlowFileRepository.h   |  4 +
 .../include/core/repository/VolatileRepository.h   | 11 +--
 libminifi/src/core/ProcessSession.cpp              | 94 +++++++++++++---------
 libminifi/test/TestBase.cpp                        | 32 ++++++--
 libminifi/test/TestBase.h                          | 13 ++-
 .../test/unit/ContentRepositoryDependentTests.h    |  2 +-
 libminifi/test/unit/ProcessSessionTests.cpp        | 51 +++++++++++-
 9 files changed, 156 insertions(+), 57 deletions(-)

diff --git a/extensions/sftp/tests/ListSFTPTests.cpp b/extensions/sftp/tests/ListSFTPTests.cpp
index f98a51d40..0ddabf900 100644
--- a/extensions/sftp/tests/ListSFTPTests.cpp
+++ b/extensions/sftp/tests/ListSFTPTests.cpp
@@ -94,7 +94,7 @@ class ListSFTPTestsFixture {
     list_sftp.reset();
     plan.reset();
 
-    plan = testController.createPlan(configuration, state_dir.c_str());
+    plan = testController.createPlan(configuration, state_dir);
     if (list_sftp_uuid == nullptr) {
       list_sftp = plan->addProcessor(
           "ListSFTP",
diff --git a/extensions/standard-processors/tests/unit/TailFileTests.cpp b/extensions/standard-processors/tests/unit/TailFileTests.cpp
index 808dbb190..ccfba30ec 100644
--- a/extensions/standard-processors/tests/unit/TailFileTests.cpp
+++ b/extensions/standard-processors/tests/unit/TailFileTests.cpp
@@ -1117,7 +1117,7 @@ TEST_CASE("TailFile finds and finishes the renamed file and continues with the n
   // use persistent state storage that defaults to rocksDB, not volatile
   const auto configuration = std::make_shared<minifi::Configure>();
   {
-    auto test_plan = testController.createPlan(configuration, state_dir.c_str());
+    auto test_plan = testController.createPlan(configuration, state_dir);
     auto tail_file = test_plan->addProcessor("TailFile", tail_file_uuid, "Tail", {success_relationship});
     test_plan->setProperty(tail_file, minifi::processors::TailFile::FileName.getName(), test_file);
     auto log_attr = test_plan->addProcessor("LogAttribute", "Log", success_relationship, true);
@@ -1138,7 +1138,7 @@ TEST_CASE("TailFile finds and finishes the renamed file and continues with the n
   createTempFile(log_dir, "test.log", "line eight is the last line\n");
 
   {
-    auto test_plan = testController.createPlan(configuration, state_dir.c_str());
+    auto test_plan = testController.createPlan(configuration, state_dir);
     auto tail_file = test_plan->addProcessor("TailFile", tail_file_uuid, "Tail", {success_relationship});
     test_plan->setProperty(tail_file, minifi::processors::TailFile::FileName.getName(), test_file);
     auto log_attr = test_plan->addProcessor("LogAttribute", "Log", success_relationship, true);
diff --git a/libminifi/include/core/repository/VolatileFlowFileRepository.h b/libminifi/include/core/repository/VolatileFlowFileRepository.h
index 79fbf7671..23b00be97 100644
--- a/libminifi/include/core/repository/VolatileFlowFileRepository.h
+++ b/libminifi/include/core/repository/VolatileFlowFileRepository.h
@@ -26,6 +26,8 @@
 #include "core/ThreadedRepository.h"
 #include "utils/gsl.h"
 
+struct VolatileFlowFileRepositoryTestAccessor;
+
 namespace org {
 namespace apache {
 namespace nifi {
@@ -38,6 +40,8 @@ namespace repository {
  * those which we no longer hold.
  */
 class VolatileFlowFileRepository : public VolatileRepository<std::string, core::ThreadedRepository> {
+  friend struct ::VolatileFlowFileRepositoryTestAccessor;
+
  public:
   explicit VolatileFlowFileRepository(const std::string& repo_name = "",
                                       const std::string& /*dir*/ = REPOSITORY_DIRECTORY,
diff --git a/libminifi/include/core/repository/VolatileRepository.h b/libminifi/include/core/repository/VolatileRepository.h
index d3771e612..097f551c5 100644
--- a/libminifi/include/core/repository/VolatileRepository.h
+++ b/libminifi/include/core/repository/VolatileRepository.h
@@ -25,6 +25,7 @@
 #include <string>
 #include <utility>
 #include <vector>
+#include <cinttypes>
 
 #include "AtomicRepoEntries.h"
 #include "Connection.h"
@@ -134,7 +135,7 @@ class VolatileRepository : public RepositoryType {
   // current size of the volatile repo.
   std::atomic<size_t> current_size_;
   // current index.
-  std::atomic<uint16_t> current_index_;
+  std::atomic<uint32_t> current_index_;
   // value vector that exists for non blocking iteration over
   // objects that store data for this repo instance.
   std::vector<AtomicEntry<KeyType>*> value_vector_;
@@ -226,11 +227,11 @@ bool VolatileRepository<KeyType, RepositoryType>::Put(const KeyType& key, const
   size_t reclaimed_size = 0;
   RepoValue<KeyType> old_value;
   do {
-    uint16_t private_index = current_index_.fetch_add(1);
+    uint32_t private_index = current_index_.fetch_add(1);
     // round robin through the beginning
     if (private_index >= max_count_) {
-      uint16_t new_index = 0;
-      if (current_index_.compare_exchange_weak(new_index, 0)) {
+      uint32_t new_index = private_index + 1;
+      if (current_index_.compare_exchange_weak(new_index, 1)) {
         private_index = 0;
       } else {
         continue;
@@ -256,7 +257,7 @@ bool VolatileRepository<KeyType, RepositoryType>::Put(const KeyType& key, const
   } while (!updated);
   current_size_ += size;
 
-  logger_->log_debug("VolatileRepository -- put %u %u", current_size_.load(), current_index_.load());
+  logger_->log_debug("VolatileRepository -- put %zu %" PRIu32, current_size_.load(), current_index_.load());
   return true;
 }
 
diff --git a/libminifi/src/core/ProcessSession.cpp b/libminifi/src/core/ProcessSession.cpp
index b9ca57272..d472fff0e 100644
--- a/libminifi/src/core/ProcessSession.cpp
+++ b/libminifi/src/core/ProcessSession.cpp
@@ -976,54 +976,72 @@ void ProcessSession::persistFlowFilesBeforeTransfer(
   auto flowFileRepo = process_context_->getFlowFileRepository();
   auto contentRepo = process_context_->getContentRepository();
 
-  for (auto& [target, flows] : transactionMap) {
-    const auto connection = dynamic_cast<Connection*>(target);
-    const bool shouldDropEmptyFiles = connection && connection->getDropEmptyFlowFiles();
-    for (auto &ff : flows) {
-      if (shouldDropEmptyFiles && ff->getSize() == 0) {
-        // the receiver will drop this FF
-        continue;
+  enum class Type {
+    Dropped, Transferred
+  };
+
+  auto forEachFlowFile = [&] (Type type, auto fn) {
+    for (auto& [target, flows] : transactionMap) {
+      const auto connection = dynamic_cast<Connection*>(target);
+      const bool shouldDropEmptyFiles = connection && connection->getDropEmptyFlowFiles();
+      for (auto &ff : flows) {
+        auto snapshotIt = modifiedFlowFiles.find(ff->getUUID());
+        auto original = snapshotIt != modifiedFlowFiles.end() ? snapshotIt->second.snapshot : nullptr;
+        if (shouldDropEmptyFiles && ff->getSize() == 0) {
+          // the receiver will drop this FF
+          if (type == Type::Dropped) {
+            fn(ff, original);
+          }
+        } else {
+          if (type == Type::Transferred) {
+            fn(ff, original);
+          }
+        }
       }
+    }
+  };
 
-      std::unique_ptr<io::BufferStream> stream(new io::BufferStream());
-      std::static_pointer_cast<FlowFileRecord>(ff)->Serialize(*stream);
+  // collect serialized flowfiles
+  forEachFlowFile(Type::Transferred, [&] (auto& ff, auto& /*original*/) {
+    auto stream = std::make_unique<io::BufferStream>();
+    std::static_pointer_cast<FlowFileRecord>(ff)->Serialize(*stream);
 
-      flowData.emplace_back(ff->getUUIDStr(), std::move(stream));
-    }
-  }
+    flowData.emplace_back(ff->getUUIDStr(), std::move(stream));
+  });
+
+  // increment on behalf of the to be persisted instance
+  forEachFlowFile(Type::Transferred, [&] (auto& ff, auto& /*original*/) {
+    if (auto claim = ff->getResourceClaim())
+      claim->increaseFlowFileRecordOwnedCount();
+  });
 
   if (!flowFileRepo->MultiPut(flowData)) {
     logger_->log_error("Failed execute multiput on FF repo!");
+    // decrement on behalf of the failed persisted instance
+    forEachFlowFile(Type::Transferred, [&] (auto& ff, auto& /*original*/) {
+      if (auto claim = ff->getResourceClaim())
+        claim->decreaseFlowFileRecordOwnedCount();
+    });
     throw Exception(PROCESS_SESSION_EXCEPTION, "Failed to put flowfiles to repository");
   }
 
-  for (auto& [target, flows] : transactionMap) {
-    const auto connection = dynamic_cast<Connection*>(target);
-    const bool shouldDropEmptyFiles = connection && connection->getDropEmptyFlowFiles();
-    for (auto &ff : flows) {
-      utils::Identifier uuid = ff->getUUID();
-      auto snapshotIt = modifiedFlowFiles.find(uuid);
-      auto original = snapshotIt != modifiedFlowFiles.end() ? snapshotIt->second.snapshot : nullptr;
-      if (shouldDropEmptyFiles && ff->getSize() == 0) {
-        // the receiver promised to drop this FF, no need for it anymore
-        if (ff->isStored() && flowFileRepo->Delete(ff->getUUIDStr())) {
-          // original must be non-null since this flowFile is already stored in the repos ->
-          // must have come from a session->get()
-          assert(original);
-          ff->setStoredToRepository(false);
-        }
-        continue;
-      }
-      auto claim = ff->getResourceClaim();
-      // increment on behalf of the persisted instance
-      if (claim) claim->increaseFlowFileRecordOwnedCount();
-      auto originalClaim = original ? original->getResourceClaim() : nullptr;
-      // decrement on behalf of the overridden instance if any
-      if (originalClaim) originalClaim->decreaseFlowFileRecordOwnedCount();
-
-      ff->setStoredToRepository(true);
+  // decrement on behalf of the overridden instance if any
+  forEachFlowFile(Type::Transferred, [&] (auto& ff, auto& original) {
+    if (auto original_claim = original ? original->getResourceClaim() : nullptr) {
+      original_claim->decreaseFlowFileRecordOwnedCount();
     }
-  }
+    ff->setStoredToRepository(true);
+  });
+
+  forEachFlowFile(Type::Dropped, [&] (auto& ff, auto& original) {
+    // the receiver promised to drop this FF, no need for it anymore
+    if (ff->isStored() && flowFileRepo->Delete(ff->getUUIDStr())) {
+      // original must be non-null since this flowFile is already stored in the repos ->
+      // must have come from a session->get()
+      gsl_Assert(original);
+      ff->setStoredToRepository(false);
+    }
+  });
 }
 
 void ProcessSession::ensureNonNullResourceClaim(
diff --git a/libminifi/test/TestBase.cpp b/libminifi/test/TestBase.cpp
index b8599f9cc..f09983677 100644
--- a/libminifi/test/TestBase.cpp
+++ b/libminifi/test/TestBase.cpp
@@ -619,16 +619,34 @@ TestController::TestController()
   flow_version_ = std::make_shared<minifi::state::response::FlowVersion>("test", "test", "test");
 }
 
-std::shared_ptr<TestPlan> TestController::createPlan(std::shared_ptr<minifi::Configure> configuration, const char* state_dir, std::shared_ptr<minifi::core::ContentRepository> content_repo) {
-  if (configuration == nullptr) {
-    configuration = std::make_shared<minifi::Configure>();
-    configuration->set(minifi::Configure::nifi_state_management_provider_local_class_name, "UnorderedMapKeyValueStoreService");
-      configuration->set(minifi::Configure::nifi_dbcontent_repository_directory_default, createTempDirectory());
+std::shared_ptr<TestPlan> TestController::createPlan(PlanConfig config) {
+  if (!config.configuration) {
+    config.configuration = std::make_shared<minifi::Configure>();
+    config.configuration->set(minifi::Configure::nifi_state_management_provider_local_class_name, "UnorderedMapKeyValueStoreService");
+    config.configuration->set(minifi::Configure::nifi_dbcontent_repository_directory_default, createTempDirectory());
   }
 
-  content_repo->initialize(configuration);
+  if (!config.flow_file_repo)
+    config.flow_file_repo = std::make_shared<TestRepository>();
 
-  return std::make_shared<TestPlan>(std::move(content_repo), std::make_shared<TestRepository>(), std::make_shared<TestRepository>(), flow_version_, configuration, state_dir);
+  if (!config.content_repo)
+    config.content_repo = std::make_shared<minifi::core::repository::VolatileContentRepository>();
+
+  config.content_repo->initialize(config.configuration);
+  config.flow_file_repo->initialize(config.configuration);
+  config.flow_file_repo->loadComponent(config.content_repo);
+
+  return std::make_shared<TestPlan>(
+      std::move(config.content_repo), std::move(config.flow_file_repo), std::make_shared<TestRepository>(),
+      flow_version_, config.configuration, config.state_dir ? config.state_dir->string().c_str() : nullptr);
+}
+
+std::shared_ptr<TestPlan> TestController::createPlan(std::shared_ptr<minifi::Configure> configuration, std::optional<std::filesystem::path> state_dir, std::shared_ptr<minifi::core::ContentRepository> content_repo) {
+  return createPlan(PlanConfig{
+    .configuration = std::move(configuration),
+    .state_dir = std::move(state_dir),
+    .content_repo = std::move(content_repo)
+  });
 }
 
 std::string TestController::createTempDirectory() {
diff --git a/libminifi/test/TestBase.h b/libminifi/test/TestBase.h
index fee34300d..df401203c 100644
--- a/libminifi/test/TestBase.h
+++ b/libminifi/test/TestBase.h
@@ -331,10 +331,19 @@ class TestPlan {
 
 class TestController {
  public:
+  struct PlanConfig {
+    std::shared_ptr<minifi::Configure> configuration = {};
+    std::optional<std::filesystem::path> state_dir = {};
+    std::shared_ptr<minifi::core::ContentRepository> content_repo = {};
+    std::shared_ptr<minifi::core::Repository> flow_file_repo = {};
+  };
+
   TestController();
 
-  std::shared_ptr<TestPlan> createPlan(std::shared_ptr<minifi::Configure> configuration = nullptr, const char* state_dir = nullptr,
-      std::shared_ptr<minifi::core::ContentRepository> content_repo = std::make_shared<minifi::core::repository::VolatileContentRepository>());
+  std::shared_ptr<TestPlan> createPlan(PlanConfig config);
+
+  std::shared_ptr<TestPlan> createPlan(std::shared_ptr<minifi::Configure> configuration = nullptr, std::optional<std::filesystem::path> state_dir = {},
+      std::shared_ptr<minifi::core::ContentRepository> content_repo = nullptr);
 
   static void runSession(const std::shared_ptr<TestPlan> &plan,
                   bool runToCompletion = true,
diff --git a/libminifi/test/unit/ContentRepositoryDependentTests.h b/libminifi/test/unit/ContentRepositoryDependentTests.h
index 6674729e8..f19533ba3 100644
--- a/libminifi/test/unit/ContentRepositoryDependentTests.h
+++ b/libminifi/test/unit/ContentRepositoryDependentTests.h
@@ -60,7 +60,7 @@ class Fixture {
   const core::Relationship Failure{"failure", "something has gone awry"};
 
   explicit Fixture(std::shared_ptr<core::ContentRepository> content_repo) {
-    test_plan_ = test_controller_.createPlan(nullptr, nullptr, content_repo);
+    test_plan_ = test_controller_.createPlan(nullptr, std::nullopt, content_repo);
     dummy_processor_ = test_plan_->addProcessor("DummyProcessor", "dummyProcessor");
     context_ = [this] {
       test_plan_->runNextProcessor();
diff --git a/libminifi/test/unit/ProcessSessionTests.cpp b/libminifi/test/unit/ProcessSessionTests.cpp
index 55a39b272..ff4a78645 100644
--- a/libminifi/test/unit/ProcessSessionTests.cpp
+++ b/libminifi/test/unit/ProcessSessionTests.cpp
@@ -25,16 +25,22 @@
 #include "../Catch.h"
 #include "ContentRepositoryDependentTests.h"
 #include "Processor.h"
+#include "core/repository/VolatileFlowFileRepository.h"
+#include "IntegrationTestUtils.h"
+#include "../Utils.h"
 
 namespace {
 
 class Fixture {
  public:
+  explicit Fixture(TestController::PlanConfig config = {}): plan_config_(std::move(config)) {}
+
   minifi::core::ProcessSession &processSession() { return *process_session_; }
 
  private:
   TestController test_controller_;
-  std::shared_ptr<TestPlan> test_plan_ = test_controller_.createPlan();
+  TestController::PlanConfig plan_config_;
+  std::shared_ptr<TestPlan> test_plan_ = test_controller_.createPlan(plan_config_);
   std::shared_ptr<minifi::core::Processor> dummy_processor_ = test_plan_->addProcessor("DummyProcessor", "dummyProcessor");
   std::shared_ptr<minifi::core::ProcessContext> context_ = [this] { test_plan_->runNextProcessor(); return test_plan_->getCurrentContext(); }();
   std::unique_ptr<minifi::core::ProcessSession> process_session_ = std::make_unique<core::ProcessSession>(context_);
@@ -122,3 +128,46 @@ TEST_CASE("ProcessSession::read can read zero length flowfiles without crash", "
   ContentRepositoryDependentTests::testReadFromZeroLengthFlowFile(std::make_shared<core::repository::VolatileContentRepository>());
   ContentRepositoryDependentTests::testReadFromZeroLengthFlowFile(std::make_shared<core::repository::FileSystemRepository>());
 }
+
+struct VolatileFlowFileRepositoryTestAccessor {
+  METHOD_ACCESSOR(flush);
+};
+
+class TestVolatileFlowFileRepository : public core::repository::VolatileFlowFileRepository {
+ public:
+  explicit TestVolatileFlowFileRepository(const std::string& name) : core::SerializableComponent(name) {}
+
+  bool MultiPut(const std::vector<std::pair<std::string, std::unique_ptr<minifi::io::BufferStream>>>& data) override {
+    auto flush_on_exit = gsl::finally([&] {VolatileFlowFileRepositoryTestAccessor::call_flush(*this);});
+    return VolatileFlowFileRepository::MultiPut(data);
+  }
+};
+
+TEST_CASE("ProcessSession::commit avoids dangling ResourceClaims when using VolatileFlowFileRepository", "[incrementbefore]") {
+  auto configuration = std::make_shared<minifi::Configure>();
+  configuration->set(minifi::Configure::nifi_volatile_repository_options_flowfile_max_count, "2");
+  auto ff_repo = std::make_shared<TestVolatileFlowFileRepository>("flowfile");
+  Fixture fixture({
+    .configuration = std::move(configuration),
+    .flow_file_repo = ff_repo
+  });
+  auto& session = fixture.processSession();
+
+  const auto flow_file_1 = session.create();
+  const auto flow_file_2 = session.create();
+  const auto flow_file_3 = session.create();
+  session.transfer(flow_file_1, Success);
+  session.transfer(flow_file_2, Success);
+  session.transfer(flow_file_3, Success);
+  session.commit();
+
+  // flow_files are owned by the shared_ptr on the stack and the ff_repo
+  // but the first one has been evicted from the ff_repo
+  REQUIRE(flow_file_1->getResourceClaim()->getFlowFileRecordOwnedCount() == 1);
+  REQUIRE(flow_file_2->getResourceClaim()->getFlowFileRecordOwnedCount() == 2);
+  REQUIRE(flow_file_3->getResourceClaim()->getFlowFileRecordOwnedCount() == 2);
+
+  REQUIRE(flow_file_1->getResourceClaim()->exists());
+  REQUIRE(flow_file_2->getResourceClaim()->exists());
+  REQUIRE(flow_file_3->getResourceClaim()->exists());
+}


[nifi-minifi-cpp] 04/04: MINIFICPP-1981 Decrease default C2 heartbeat frequency

Posted by fg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit 9c439e272fc3ef814c66a14a11ea9bfe24a93c12
Author: Marton Szasz <sz...@apache.org>
AuthorDate: Wed Nov 9 16:21:33 2022 +0100

    MINIFICPP-1981 Decrease default C2 heartbeat frequency
    
    Signed-off-by: Ferenc Gerlits <fg...@gmail.com>
    This closes #1450
---
 C2.md                                                                 | 4 ++--
 conf/minifi.properties                                                | 4 ++--
 .../resources/minifi_cpp_with_provenance_repo/minifi.properties       | 2 +-
 encrypt-config/tests/resources/minifi.properties                      | 2 +-
 .../tests/resources/with-additional-sensitive-props.minifi.properties | 2 +-
 libminifi/test/resources/encrypted.minifi.properties                  | 2 +-
 libminifi/test/unit/ChecksumCalculatorTests.cpp                       | 4 ++--
 msi/WixWin.wsi                                                        | 2 +-
 msi/WixWinMergeModules.wsi                                            | 2 +-
 9 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/C2.md b/C2.md
index 5394531c5..14c17090a 100644
--- a/C2.md
+++ b/C2.md
@@ -75,8 +75,8 @@ be requested via C2 DESCRIBE manifest command.
     nifi.c2.agent.protocol.class=RESTSender
     # nifi.c2.agent.protocol.class=CoapProtocol
 
-    # control c2 heartbeat interval in milliseconds
-    nifi.c2.agent.heartbeat.period=250
+    # control c2 heartbeat interval
+    nifi.c2.agent.heartbeat.period=30 sec
 
     # enable reporter classes
     nifi.c2.agent.heartbeat.reporter.class=RESTReciver
diff --git a/conf/minifi.properties b/conf/minifi.properties
index 18190c096..135c91b21 100644
--- a/conf/minifi.properties
+++ b/conf/minifi.properties
@@ -82,8 +82,8 @@ nifi.content.repository.class.name=DatabaseContentRepository
 nifi.c2.root.classes=DeviceInfoNode,AgentInformation,FlowInformation
 ## Minimize heartbeat payload size by excluding agent manifest from the heartbeat
 nifi.c2.full.heartbeat=false
-## heartbeat 4 times a second
-#nifi.c2.agent.heartbeat.period=250
+## heartbeat twice a minute
+#nifi.c2.agent.heartbeat.period=30 sec
 ## define parameters about your agent
 #nifi.c2.agent.class=
 #nifi.c2.agent.identifier=
diff --git a/docker/test/integration/resources/minifi_cpp_with_provenance_repo/minifi.properties b/docker/test/integration/resources/minifi_cpp_with_provenance_repo/minifi.properties
index 578f8edb0..4b3763f7e 100644
--- a/docker/test/integration/resources/minifi_cpp_with_provenance_repo/minifi.properties
+++ b/docker/test/integration/resources/minifi_cpp_with_provenance_repo/minifi.properties
@@ -15,7 +15,7 @@ nifi.security.client.ca.certificate=/tmp/shared/nifi-cert.pem
 nifi.c2.enable=true
 nifi.c2.agent.class=minifi-cpp-latest
 nifi.c2.agent.listen=false
-nifi.c2.agent.heartbeat.period=30000
+nifi.c2.agent.heartbeat.period=30 sec
 nifi.c2.agent.heartbeat.reporter.classes=RESTReceiver
 nifi.c2.agent.protocol.class=RESTSender
 nifi.c2.full.heartbeat=false
diff --git a/encrypt-config/tests/resources/minifi.properties b/encrypt-config/tests/resources/minifi.properties
index ae12394b7..eb572a2bd 100644
--- a/encrypt-config/tests/resources/minifi.properties
+++ b/encrypt-config/tests/resources/minifi.properties
@@ -66,7 +66,7 @@ nifi.c2.root.classes=DeviceInfoNode,AgentInformation,FlowInformation
 ## Minimize heartbeat payload size by excluding agent manifest from the heartbeat
 #nifi.c2.full.heartbeat=false
 ## heartbeat 4 times a second
-#nifi.c2.agent.heartbeat.period=250
+#nifi.c2.agent.heartbeat.period=30 sec
 ## define parameters about your agent
 nifi.c2.agent.class=EncryptConfigTester
 nifi.c2.agent.identifier=EncryptConfigTester-001
diff --git a/encrypt-config/tests/resources/with-additional-sensitive-props.minifi.properties b/encrypt-config/tests/resources/with-additional-sensitive-props.minifi.properties
index 551029af2..d584d8089 100644
--- a/encrypt-config/tests/resources/with-additional-sensitive-props.minifi.properties
+++ b/encrypt-config/tests/resources/with-additional-sensitive-props.minifi.properties
@@ -68,7 +68,7 @@ nifi.c2.root.classes=DeviceInfoNode,AgentInformation,FlowInformation
 ## Minimize heartbeat payload size by excluding agent manifest from the heartbeat
 #nifi.c2.full.heartbeat=false
 ## heartbeat 4 times a second
-#nifi.c2.agent.heartbeat.period=250
+#nifi.c2.agent.heartbeat.period=30 sec
 ## define parameters about your agent
 nifi.c2.agent.class=EncryptConfigTester
 nifi.c2.agent.identifier=EncryptConfigTester-001
diff --git a/libminifi/test/resources/encrypted.minifi.properties b/libminifi/test/resources/encrypted.minifi.properties
index 920034036..49e25e0fa 100644
--- a/libminifi/test/resources/encrypted.minifi.properties
+++ b/libminifi/test/resources/encrypted.minifi.properties
@@ -68,7 +68,7 @@ nifi.c2.root.classes=DeviceInfoNode,AgentInformation,FlowInformation
 ## Minimize heartbeat payload size by excluding agent manifest from the heartbeat
 #nifi.c2.full.heartbeat=false
 ## heartbeat 4 times a second
-#nifi.c2.agent.heartbeat.period=250
+#nifi.c2.agent.heartbeat.period=30 sec
 ## define parameters about your agent
 nifi.c2.agent.class=TailFileTester
 c2.agent.identifier=lZL2phnmPWP4s7k8LzzONTNh/2Nhgyty||OLyo7FtKOZ5M1DbiVCEMrlch8D643MKCtw3T7iouvLHeSA==
diff --git a/libminifi/test/unit/ChecksumCalculatorTests.cpp b/libminifi/test/unit/ChecksumCalculatorTests.cpp
index d34550d94..076f7c9fe 100644
--- a/libminifi/test/unit/ChecksumCalculatorTests.cpp
+++ b/libminifi/test/unit/ChecksumCalculatorTests.cpp
@@ -102,11 +102,11 @@ TEST_CASE("The agent identifier is excluded from the checksum", "[ChecksumCalcul
   std::string file_location_1 = utils::putFileToDir(test_dir, "agent_one.txt",
       "nifi.c2.agent.class=Test\n"
       "nifi.c2.agent.identifier=Test-111\n"
-      "nifi.c2.agent.heartbeat.period=10000\n");
+      "nifi.c2.agent.heartbeat.period=10 sec\n");
   std::string file_location_2 = utils::putFileToDir(test_dir, "agent_two.txt",
       "nifi.c2.agent.class=Test\n"
       "nifi.c2.agent.identifier=Test-222\n"
-      "nifi.c2.agent.heartbeat.period=10000\n");
+      "nifi.c2.agent.heartbeat.period=10 sec\n");
 
   utils::ChecksumCalculator checksum_calculator_1;
   checksum_calculator_1.setFileLocation(file_location_1);
diff --git a/msi/WixWin.wsi b/msi/WixWin.wsi
index feb05b542..8360b314e 100644
--- a/msi/WixWin.wsi
+++ b/msi/WixWin.wsi
@@ -257,7 +257,7 @@ Licensed to the Apache Software Foundation (ASF) under one or more
     <Property Id="AGENT_CLASS"  Value="Your Agent Class" />
     <Property Id="AGENT_IDENTIFIER"  />
     <Property Id="AGENT_PROTOCOL"  Value="RESTSender" />
-    <Property Id="AGENT_HEARTBEAT"  Value="250 msec" />
+    <Property Id="AGENT_HEARTBEAT"  Value="30 sec" />
     <Property Id="SERVER_HEARTBEAT"  Value="http://localhost:8181/heartbeat" />
     <Property Id="SERVER_ACK"  Value="http://localhost:8181/acknowledge" />
     <Property Id="ENABLEC2" />
diff --git a/msi/WixWinMergeModules.wsi b/msi/WixWinMergeModules.wsi
index 7bf489c44..f4124f3ee 100644
--- a/msi/WixWinMergeModules.wsi
+++ b/msi/WixWinMergeModules.wsi
@@ -273,7 +273,7 @@ Licensed to the Apache Software Foundation (ASF) under one or more
     <Property Id="AGENT_CLASS"  Value="Your Agent Class" />
     <Property Id="AGENT_IDENTIFIER"  />
     <Property Id="AGENT_PROTOCOL"  Value="RESTSender" />
-    <Property Id="AGENT_HEARTBEAT"  Value="250 msec" />
+    <Property Id="AGENT_HEARTBEAT"  Value="30 sec" />
     <Property Id="SERVER_HEARTBEAT"  Value="http://localhost:8181/heartbeat" />
     <Property Id="SERVER_ACK"  Value="http://localhost:8181/acknowledge" />
     <Property Id="ENABLEC2" />