[nifi] branch main updated: NIFI-11057 Added Registry NAR Provider Variable for Docker

2023-02-03 Thread exceptionfactory
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 8198ab5cbd NIFI-11057 Added Registry NAR Provider Variable for Docker
8198ab5cbd is described below

commit 8198ab5cbd728e48fd7472b4fb6aac13d5ad40cd
Author: Dominique Jean-Prost 
AuthorDate: Fri Jan 13 17:34:44 2023 +0100

NIFI-11057 Added Registry NAR Provider Variable for Docker

This closes #6847

Signed-off-by: David Handermann 
---
 nifi-docker/dockerhub/sh/common.sh | 22 ++
 nifi-docker/dockerhub/sh/start.sh  |  7 +++
 2 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/nifi-docker/dockerhub/sh/common.sh 
b/nifi-docker/dockerhub/sh/common.sh
index f3ea43580e..d78aec494c 100755
--- a/nifi-docker/dockerhub/sh/common.sh
+++ b/nifi-docker/dockerhub/sh/common.sh
@@ -19,14 +19,28 @@
 # 3 - file to perform replacement inline
 prop_replace () {
   target_file=${3:-${nifi_props_file}}
-  echo 'replacing target file ' ${target_file}
+  echo "File [${target_file}] replacing [${1}]"
   sed -i -e "s|^$1=.*$|$1=$2|"  ${target_file}
 }
 
 uncomment() {
-   target_file=${2}
-   echo "Uncommenting ${target_file}"
-   sed -i -e "s|^\#$1|$1|" ${target_file}
+  target_file=${2}
+  echo "File [${target_file}] uncommenting [${1}]"
+  sed -i -e "s|^\#$1|$1|" ${target_file}
+}
+
+# 1 - property key to add or replace
+# 2 - property value to use
+# 3 - file to perform replacement inline
+prop_add_or_replace () {
+  target_file=${3:-${nifi_props_file}}
+  property_found=$(awk -v property="${1}" 'index($0, property) == 1')
+  if [ -z "${property_found}" ]; then
+echo "File [${target_file}] adding [${1}]"
+echo "$1=$2" >> ${target_file}
+  else
+prop_replace $1 $2 $3  
+  fi
 }
 
 # NIFI_HOME is defined by an ENV command in the backing Dockerfile
diff --git a/nifi-docker/dockerhub/sh/start.sh 
b/nifi-docker/dockerhub/sh/start.sh
index 40b33a33ae..869a8e41b5 100755
--- a/nifi-docker/dockerhub/sh/start.sh
+++ b/nifi-docker/dockerhub/sh/start.sh
@@ -97,6 +97,13 @@ prop_replace 
'nifi.analytics.connection.model.implementation'   "${NIFI_ANALYTIC
 prop_replace 'nifi.analytics.connection.model.score.name'   
"${NIFI_ANALYTICS_MODEL_SCORE_NAME:-rSquared}"
 prop_replace 'nifi.analytics.connection.model.score.threshold'  
"${NIFI_ANALYTICS_MODEL_SCORE_THRESHOLD:-.90}"
 
+# Add NAR provider properties
+# nifi-registry NAR provider
+if [ -n "${NIFI_NAR_LIBRARY_PROVIDER_NIFI_REGISTRY_URL}" ]; then
+prop_add_or_replace 
'nifi.nar.library.provider.nifi-registry.implementation' 
'org.apache.nifi.registry.extension.NiFiRegistryExternalResourceProvider'
+prop_add_or_replace 'nifi.nar.library.provider.nifi-registry.url' 
"${NIFI_NAR_LIBRARY_PROVIDER_NIFI_REGISTRY_URL}"
+fi
+
 if [ -n "${NIFI_SENSITIVE_PROPS_KEY}" ]; then
 prop_replace 'nifi.sensitive.props.key' "${NIFI_SENSITIVE_PROPS_KEY}"
 fi



[nifi] branch main updated: NIFI-11139 Updated multiple Maven Plugins

2023-02-03 Thread exceptionfactory
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 4f91420cc1 NIFI-11139 Updated multiple Maven Plugins
4f91420cc1 is described below

commit 4f91420cc116e0b27dee1661dfb44ca69e3e7a42
Author: Joe Witt 
AuthorDate: Fri Feb 3 13:13:18 2023 -0700

NIFI-11139 Updated multiple Maven Plugins

This closes #6925

Signed-off-by: David Handermann 
---
 nifi-commons/nifi-xml-processing/pom.xml   |  2 +-
 nifi-h2/nifi-h2-database/pom.xml   |  2 +-
 .../nifi-box-bundle/nifi-box-nar/pom.xml   |  2 +-
 .../nifi-flume-processors/pom.xml  | 11 +++
 .../nifi-framework/nifi-web/nifi-web-ui/pom.xml|  2 +-
 .../nifi-hive-bundle/nifi-hive3-processors/pom.xml |  4 
 .../nifi-scripting-processors/pom.xml  |  1 -
 .../nifi-standard-processors/pom.xml   |  1 -
 .../nifi-registry-core/nifi-registry-docs/pom.xml  |  1 -
 .../nifi-registry-web-api/pom.xml  |  2 +-
 .../nifi-registry-ranger-jersey-bundle/pom.xml |  2 +-
 nifi-registry/pom.xml  |  8 ++--
 pom.xml| 22 +-
 13 files changed, 32 insertions(+), 28 deletions(-)

diff --git a/nifi-commons/nifi-xml-processing/pom.xml 
b/nifi-commons/nifi-xml-processing/pom.xml
index bc464e32e8..91db4e1e99 100644
--- a/nifi-commons/nifi-xml-processing/pom.xml
+++ b/nifi-commons/nifi-xml-processing/pom.xml
@@ -27,7 +27,7 @@
 
 com.github.spotbugs
 spotbugs-maven-plugin
-4.6.0.0
+4.7.3.0
 
 
 package
diff --git a/nifi-h2/nifi-h2-database/pom.xml b/nifi-h2/nifi-h2-database/pom.xml
index c535e1de33..80a6f8f213 100644
--- a/nifi-h2/nifi-h2-database/pom.xml
+++ b/nifi-h2/nifi-h2-database/pom.xml
@@ -48,7 +48,7 @@
 
 org.apache.maven.plugins
 maven-shade-plugin
-3.2.4
+3.4.1
 
 
 compile
diff --git a/nifi-nar-bundles/nifi-box-bundle/nifi-box-nar/pom.xml 
b/nifi-nar-bundles/nifi-box-bundle/nifi-box-nar/pom.xml
index 1675ed48be..dbeeb61885 100644
--- a/nifi-nar-bundles/nifi-box-bundle/nifi-box-nar/pom.xml
+++ b/nifi-nar-bundles/nifi-box-bundle/nifi-box-nar/pom.xml
@@ -48,7 +48,7 @@
 
 org.codehaus.mojo
 license-maven-plugin
-1.8
+2.0.0
 
 
+
+com.google.code.findbugs
+jsr305
+
 
 
+
+
+com.github.stephenc.findbugs
+findbugs-annotations
+1.3.9-1
+
 
 
 
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
index 239b8e8e71..1177728715 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/pom.xml
@@ -418,7 +418,7 @@
 
 org.apache.maven.plugins
 maven-clean-plugin
-3.0.0
+3.2.0
 
 
true
 
diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml 
b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml
index 8aa616f19b..a43e066c16 100644
--- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/pom.xml
@@ -125,6 +125,10 @@
 org.apache.logging.log4j
 log4j-slf4j-impl
 
+
+com.google.code.findbugs
+jsr305
+
 
 
 
diff --git 
a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/pom.xml 
b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/pom.xml
index 0f99256815..65af30fe4d 100644
--- a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/pom.xml
@@ -164,7 +164,6 @@
 
 org.apache.maven.plugins
 maven-dependency-plugin
-3.3.0
 
 
 copy
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml 

[nifi] 02/03: NIFI-11118: This closes #6909. When changing version of a versioned flow, ensure that we properly set the Version Control Information's StorageLocation for the NiFi Registry client in or

2023-02-03 Thread joewitt
This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit 28b9f6fc020616ac5d1f99a2477fe456458560a8
Author: Mark Payne 
AuthorDate: Tue Jan 31 11:00:55 2023 -0500

NIFI-8: This closes #6909. When changing version of a versioned flow, 
ensure that we properly set the Version Control Information's StorageLocation 
for the NiFi Registry client in order to maintain backward compatibility

Signed-off-by: Joe Witt 
---
 .../flow/mapping/NiFiRegistryFlowMapper.java   | 30 +++---
 1 file changed, 27 insertions(+), 3 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/registry/flow/mapping/NiFiRegistryFlowMapper.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/registry/flow/mapping/NiFiRegistryFlowMapper.java
index ca5754c59e..d6e7c19f21 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/registry/flow/mapping/NiFiRegistryFlowMapper.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/registry/flow/mapping/NiFiRegistryFlowMapper.java
@@ -19,6 +19,7 @@ package org.apache.nifi.registry.flow.mapping;
 
 
 import org.apache.commons.lang3.ClassUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.nifi.bundle.BundleCoordinate;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.resource.ResourceCardinality;
@@ -169,7 +170,9 @@ public class NiFiRegistryFlowMapper {
 }
 
 coordinates.setRegistryUrl(getRegistryUrl(registry));
-
coordinates.setStorageLocation(versionControlInfo.getStorageLocation() == null 
?getRegistryUrl(registry) : versionControlInfo.getStorageLocation());
+
+final String storageLocation = 
determineStorageLocation(registry, versionControlInfo);
+coordinates.setStorageLocation(storageLocation);
 
coordinates.setBucketId(versionControlInfo.getBucketIdentifier());
 coordinates.setFlowId(versionControlInfo.getFlowIdentifier());
 coordinates.setVersion(versionControlInfo.getVersion());
@@ -193,12 +196,33 @@ public class NiFiRegistryFlowMapper {
 }
 
 
+private boolean isNiFiRegistryClient(final FlowRegistryClientNode 
clientNode) {
+return 
clientNode.getComponentType().endsWith("NifiRegistryFlowRegistryClient");
+}
+
 // This is specific for the {@code NifiRegistryFlowRegistryClient}, purely 
for backward compatibility
 private String getRegistryUrl(final FlowRegistryClientNode registry) {
-return 
registry.getComponentType().endsWith("NifiRegistryFlowRegistryClient")
-   ? 
registry.getRawPropertyValue(registry.getPropertyDescriptor(REGISTRY_URL_DESCRIPTOR_NAME))
 : "";
+return isNiFiRegistryClient(registry) ? 
registry.getRawPropertyValue(registry.getPropertyDescriptor(REGISTRY_URL_DESCRIPTOR_NAME))
 : "";
+}
+
+private String determineStorageLocation(final FlowRegistryClientNode 
registryClient, final VersionControlInformation versionControlInformation) {
+final String explicitStorageLocation = 
versionControlInformation.getStorageLocation();
+if (!StringUtils.isEmpty(explicitStorageLocation)) {
+return explicitStorageLocation;
+}
+
+final String registryUrl = getRegistryUrl(registryClient);
+if (StringUtils.isEmpty(registryUrl)) {
+return "";
+}
+
+final String bucketId = 
versionControlInformation.getBucketIdentifier();
+final String flowId = versionControlInformation.getFlowIdentifier();
+final int version = versionControlInformation.getVersion();
+return 
String.format("%s/nifi-registry-api/buckets/%s/flows/%s/versions/%s", 
registryUrl, bucketId, flowId, version);
 }
 
+
 private InstantiatedVersionedProcessGroup mapGroup(final ProcessGroup 
group, final ControllerServiceProvider serviceProvider,
final 
BiFunction 
applyVersionControlInfo) {
 final Set allIncludedGroupsIds = 
group.findAllProcessGroups().stream()



[nifi] 03/03: NIFI-11140 This closes #6922. Upgraded Tomcat from 8.5.82 to 8.5.85 for Flume

2023-02-03 Thread joewitt
This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit cd76dc0366a72d0830da2412a990e0601e50ea77
Author: exceptionfactory 
AuthorDate: Fri Feb 3 12:26:29 2023 -0600

NIFI-11140 This closes #6922. Upgraded Tomcat from 8.5.82 to 8.5.85 for 
Flume

Signed-off-by: Joe Witt 
---
 nifi-nar-bundles/nifi-flume-bundle/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nifi-nar-bundles/nifi-flume-bundle/pom.xml 
b/nifi-nar-bundles/nifi-flume-bundle/pom.xml
index aa51b7c97d..bc7039da46 100644
--- a/nifi-nar-bundles/nifi-flume-bundle/pom.xml
+++ b/nifi-nar-bundles/nifi-flume-bundle/pom.xml
@@ -44,7 +44,7 @@
 
 org.apache.tomcat.embed
 tomcat-embed-core
-8.5.82
+8.5.85
 
 
 



[nifi] branch main updated (0b61a6226c -> cd76dc0366)

2023-02-03 Thread joewitt
This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


from 0b61a6226c NIFI-11092 Fixed ConsumeTwitter handling on Primary Node 
changes
 new b3319c7119 NIFI-11141 This closes #6923. Upgraded Azure SDK BOM from 
1.2.6 to 1.2.9
 new 28b9f6fc02 NIFI-8: This closes #6909. When changing version of a 
versioned flow, ensure that we properly set the Version Control Information's 
StorageLocation for the NiFi Registry client in order to maintain backward 
compatibility
 new cd76dc0366 NIFI-11140 This closes #6922. Upgraded Tomcat from 8.5.82 
to 8.5.85 for Flume

The 3 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:
 .../nifi-property-protection-azure/pom.xml |  2 +-
 nifi-nar-bundles/nifi-azure-bundle/pom.xml |  2 +-
 nifi-nar-bundles/nifi-flume-bundle/pom.xml |  2 +-
 .../flow/mapping/NiFiRegistryFlowMapper.java   | 30 +++---
 4 files changed, 30 insertions(+), 6 deletions(-)



[nifi] 01/03: NIFI-11141 This closes #6923. Upgraded Azure SDK BOM from 1.2.6 to 1.2.9

2023-02-03 Thread joewitt
This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit b3319c71190577fe8d109a41f210d285c101e522
Author: exceptionfactory 
AuthorDate: Fri Feb 3 12:37:48 2023 -0600

NIFI-11141 This closes #6923. Upgraded Azure SDK BOM from 1.2.6 to 1.2.9

Signed-off-by: Joe Witt 
---
 nifi-commons/nifi-property-protection-azure/pom.xml | 2 +-
 nifi-nar-bundles/nifi-azure-bundle/pom.xml  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/nifi-commons/nifi-property-protection-azure/pom.xml 
b/nifi-commons/nifi-property-protection-azure/pom.xml
index d4a685ce99..3ac8172b2f 100644
--- a/nifi-commons/nifi-property-protection-azure/pom.xml
+++ b/nifi-commons/nifi-property-protection-azure/pom.xml
@@ -26,7 +26,7 @@
 
 com.azure
 azure-sdk-bom
-1.2.0
+1.2.9
 import
 pom
 
diff --git a/nifi-nar-bundles/nifi-azure-bundle/pom.xml 
b/nifi-nar-bundles/nifi-azure-bundle/pom.xml
index 735da062fd..3b010147bb 100644
--- a/nifi-nar-bundles/nifi-azure-bundle/pom.xml
+++ b/nifi-nar-bundles/nifi-azure-bundle/pom.xml
@@ -26,7 +26,7 @@
 pom
 
 
-1.2.6
+1.2.9
 
8.6.6
 1.13.3
 



[nifi] branch main updated: NIFI-11092 Fixed ConsumeTwitter handling on Primary Node changes

2023-02-03 Thread exceptionfactory
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 0b61a6226c NIFI-11092 Fixed ConsumeTwitter handling on Primary Node 
changes
0b61a6226c is described below

commit 0b61a6226c359fb97d098eb4c536294f04a4255a
Author: Emilio Setiadarma 
AuthorDate: Thu Jan 26 15:22:19 2023 -0800

NIFI-11092 Fixed ConsumeTwitter handling on Primary Node changes

This closes #6901

Signed-off-by: David Handermann 
---
 .../nifi/processors/twitter/ConsumeTwitter.java| 45 ++
 .../processors/twitter/TweetStreamService.java |  8 ++--
 2 files changed, 43 insertions(+), 10 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/src/main/java/org/apache/nifi/processors/twitter/ConsumeTwitter.java
 
b/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/src/main/java/org/apache/nifi/processors/twitter/ConsumeTwitter.java
index 041fd80dba..2517456d74 100644
--- 
a/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/src/main/java/org/apache/nifi/processors/twitter/ConsumeTwitter.java
+++ 
b/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/src/main/java/org/apache/nifi/processors/twitter/ConsumeTwitter.java
@@ -26,6 +26,8 @@ import 
org.apache.nifi.annotation.documentation.CapabilityDescription;
 import org.apache.nifi.annotation.documentation.Tags;
 import org.apache.nifi.annotation.lifecycle.OnScheduled;
 import org.apache.nifi.annotation.lifecycle.OnStopped;
+import org.apache.nifi.annotation.notification.OnPrimaryNodeStateChange;
+import org.apache.nifi.annotation.notification.PrimaryNodeState;
 import org.apache.nifi.components.AllowableValue;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.flowfile.FlowFile;
@@ -49,6 +51,7 @@ import java.util.HashMap;
 import java.util.UUID;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
 @PrimaryNodeOnly
@@ -255,6 +258,8 @@ public class ConsumeTwitter extends AbstractProcessor {
 
 private volatile BlockingQueue messageQueue;
 
+private final AtomicBoolean streamStarted = new AtomicBoolean(false);
+
 @Override
 protected void init(ProcessorInitializationContext context) {
 final List descriptors = new ArrayList<>();
@@ -296,13 +301,13 @@ public class ConsumeTwitter extends AbstractProcessor {
 @OnScheduled
 public void onScheduled(final ProcessContext context) {
 messageQueue = new 
LinkedBlockingQueue<>(context.getProperty(QUEUE_SIZE).asInteger());
-
-tweetStreamService = new TweetStreamService(context, messageQueue, 
getLogger());
-tweetStreamService.start();
+streamStarted.set(false);
 }
 
 @Override
 public void onTrigger(ProcessContext context, ProcessSession session) 
throws ProcessException {
+startTweetStreamService(context);
+
 final String firstTweet = messageQueue.poll();
 if (firstTweet == null) {
 context.yield();
@@ -338,15 +343,41 @@ public class ConsumeTwitter extends AbstractProcessor {
 session.getProvenanceReporter().receive(flowFile, transitUri);
 }
 
+@OnPrimaryNodeStateChange
+public void onPrimaryNodeStateChange(final PrimaryNodeState newState) {
+if (newState == PrimaryNodeState.PRIMARY_NODE_REVOKED) {
+stopTweetStreamService();
+}
+}
+
 @OnStopped
 public void onStopped() {
-if (tweetStreamService != null) {
-tweetStreamService.stop();
-}
-tweetStreamService = null;
+stopTweetStreamService();
 emptyQueue();
 }
 
+private void startTweetStreamService(final ProcessContext context) {
+if (streamStarted.compareAndSet(false, true)) {
+tweetStreamService = new TweetStreamService(context, messageQueue, 
getLogger());
+tweetStreamService.start();
+}
+
+}
+
+private void stopTweetStreamService() {
+if (streamStarted.compareAndSet(true, false)) {
+if (tweetStreamService != null) {
+tweetStreamService.stop();
+}
+tweetStreamService = null;
+
+if (!messageQueue.isEmpty()) {
+getLogger().warn("Stopped consuming stream: unprocessed 
messages [{}]", messageQueue.size());
+}
+}
+}
+
+
 private void emptyQueue() {
 while (!messageQueue.isEmpty()) {
 messageQueue.poll();
diff --git 
a/nifi-nar-bundles/nifi-social-media-bundle/nifi-twitter-processors/src/main/java/org/apache/nifi/processors/twitter/TweetStreamService.java
 

[nifi] branch main updated: NIFI-11103 bumping apache parent

2023-02-03 Thread joewitt
This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 28bfd1252f NIFI-11103 bumping apache parent
28bfd1252f is described below

commit 28bfd1252fd577042fed092849b4b1cd1404e7f3
Author: Joe Witt 
AuthorDate: Fri Feb 3 10:59:06 2023 -0700

NIFI-11103 bumping apache parent
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 9421e6a95c..c511ccc795 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
 
 org.apache
 apache
-28
+29
 
 
 org.apache.nifi



[nifi] branch main updated: NIFI-11103 NIFI-11104 bumping nifi nar maven plugin

2023-02-03 Thread joewitt
This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 5ae8d1900e NIFI-11103 NIFI-11104 bumping nifi nar maven plugin
5ae8d1900e is described below

commit 5ae8d1900e54ab3db6032e4f167c4f48e3f81953
Author: Joe Witt 
AuthorDate: Fri Feb 3 10:44:17 2023 -0700

NIFI-11103 NIFI-11104 bumping nifi nar maven plugin
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 6115b3be61..9421e6a95c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -99,7 +99,7 @@
 true
 v16.13.2
 1.12.1
-1.3.5
+1.4.0
 
1669170166
 UTF-8
 
UTF-8



[nifi] branch main updated: NIFI-11133 This closes #6920. Updated TLS Toolkit Standalone to set Client Key Password

2023-02-03 Thread joewitt
This is an automated email from the ASF dual-hosted git repository.

joewitt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new e9f5e49d5b NIFI-11133 This closes #6920. Updated TLS Toolkit 
Standalone to set Client Key Password
e9f5e49d5b is described below

commit e9f5e49d5b9af1357f2ae190537ffa698df579c8
Author: exceptionfactory 
AuthorDate: Thu Feb 2 13:07:23 2023 -0600

NIFI-11133 This closes #6920. Updated TLS Toolkit Standalone to set Client 
Key Password

Signed-off-by: Joe Witt 
---
 .../tls/standalone/TlsToolkitStandalone.java| 21 +
 .../tls/standalone/TlsToolkitStandaloneTest.java|  3 ++-
 2 files changed, 19 insertions(+), 5 deletions(-)

diff --git 
a/nifi-toolkit/nifi-toolkit-tls/src/main/java/org/apache/nifi/toolkit/tls/standalone/TlsToolkitStandalone.java
 
b/nifi-toolkit/nifi-toolkit-tls/src/main/java/org/apache/nifi/toolkit/tls/standalone/TlsToolkitStandalone.java
index e460ca1949..664b00d206 100644
--- 
a/nifi-toolkit/nifi-toolkit-tls/src/main/java/org/apache/nifi/toolkit/tls/standalone/TlsToolkitStandalone.java
+++ 
b/nifi-toolkit/nifi-toolkit-tls/src/main/java/org/apache/nifi/toolkit/tls/standalone/TlsToolkitStandalone.java
@@ -49,6 +49,7 @@ import java.security.KeyPair;
 import java.security.KeyStore;
 import java.security.KeyStoreException;
 import java.security.NoSuchAlgorithmException;
+import java.security.PrivateKey;
 import java.security.SignatureException;
 import java.security.UnrecoverableKeyException;
 import java.security.cert.Certificate;
@@ -292,10 +293,9 @@ public class TlsToolkitStandalone {
 }
 KeyPair keyPair = TlsHelper.generateKeyPair(keyPairAlgorithm, 
keySize);
 X509Certificate clientCert = 
CertificateUtils.generateIssuedCertificate(reorderedDn, keyPair.getPublic(), 
null, certificate, caKeyPair, signingAlgorithm, days);
-KeyStore keyStore = 
KeyStoreUtils.getKeyStore(KeystoreType.PKCS12.toString());
-keyStore.load(null, null);
-keyStore.setKeyEntry(NIFI_KEY, keyPair.getPrivate(), null, new 
Certificate[]{clientCert, certificate});
-String password = TlsHelper.writeKeyStore(keyStore, 
outputStreamFactory, clientCertFile, clientPasswords.get(i), 
standaloneConfig.isClientPasswordsGenerated());
+final String keyStorePassword = clientPasswords.get(i);
+final KeyStore keyStore = setClientKeyStore(keyStorePassword, 
keyPair.getPrivate(), clientCert, certificate);
+String password = TlsHelper.writeKeyStore(keyStore, 
outputStreamFactory, clientCertFile, keyStorePassword, 
standaloneConfig.isClientPasswordsGenerated());
 
 try (FileWriter fileWriter = new FileWriter(new File(baseDir, 
clientDnFile + ".password"))) {
 fileWriter.write(password);
@@ -311,4 +311,17 @@ public class TlsToolkitStandalone {
 }
 }
 
+protected KeyStore setClientKeyStore(
+final String keyStorePassword,
+final PrivateKey privateKey,
+final X509Certificate clientCertificate,
+final X509Certificate issuerCertificate
+) throws IOException, GeneralSecurityException {
+final KeyStore keyStore = 
KeyStoreUtils.getKeyStore(KeystoreType.PKCS12.toString());
+keyStore.load(null, null);
+final char[] keyPassword = keyStorePassword.toCharArray();
+final X509Certificate[] certificates = {clientCertificate, 
issuerCertificate};
+keyStore.setKeyEntry(NIFI_KEY, privateKey, keyPassword, certificates);
+return keyStore;
+}
 }
diff --git 
a/nifi-toolkit/nifi-toolkit-tls/src/test/java/org/apache/nifi/toolkit/tls/standalone/TlsToolkitStandaloneTest.java
 
b/nifi-toolkit/nifi-toolkit-tls/src/test/java/org/apache/nifi/toolkit/tls/standalone/TlsToolkitStandaloneTest.java
index 6c6edf535d..7b58f23fe6 100644
--- 
a/nifi-toolkit/nifi-toolkit-tls/src/test/java/org/apache/nifi/toolkit/tls/standalone/TlsToolkitStandaloneTest.java
+++ 
b/nifi-toolkit/nifi-toolkit-tls/src/test/java/org/apache/nifi/toolkit/tls/standalone/TlsToolkitStandaloneTest.java
@@ -522,7 +522,8 @@ public class TlsToolkitStandaloneTest {
 try (FileInputStream fileInputStream = new FileInputStream(new 
File(tempDir, clientDnFile + ".p12"))) {
 keyStore.load(fileInputStream, password.toCharArray());
 }
-PrivateKey privateKey = (PrivateKey) 
keyStore.getKey(TlsToolkitStandalone.NIFI_KEY, new char[0]);
+final char[] keyPassword = password.toCharArray();
+PrivateKey privateKey = (PrivateKey) 
keyStore.getKey(TlsToolkitStandalone.NIFI_KEY, keyPassword);
 Certificate[] certificateChain = 
keyStore.getCertificateChain(TlsToolkitStandalone.NIFI_KEY);
 assertEquals(2, certificateChain.length);
 assertEquals(rootCert, certificateChain[1]);



[nifi] branch main updated (56d8879e91 -> 0c171bbb08)

2023-02-03 Thread tpalfy
This is an automated email from the ASF dual-hosted git repository.

tpalfy pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


from 56d8879e91 NIFI-11107 In ConsumeIMAP and ConsumePOP3 added support for 
OAUTH based authorization.
 add 0c171bbb08 NIFI-10846: Added SMB Dialect and Use Encryption properties 
in SMB processors

No new revisions were added by this update.

Summary of changes:
 .../nifi-smb-bundle/nifi-smb-processors/pom.xml|  5 ++
 .../org/apache/nifi/processors/smb/GetSmbFile.java | 29 +---
 .../org/apache/nifi/processors/smb/PutSmbFile.java | 76 +++-
 .../apache/nifi/processors/smb/GetSmbFileTest.java | 12 ++--
 .../apache/nifi/processors/smb/PutSmbFileTest.java | 12 ++--
 .../nifi-smb-bundle/nifi-smb-smbj-client/pom.xml   |  5 ++
 .../services/smb/SmbjClientProviderService.java| 58 
 .../apache/nifi/services/smb/NiFiSmbjClientIT.java |  2 +-
 .../nifi-smb-smbj-common}/pom.xml  | 32 +
 .../org/apache/nifi/smb/common/SmbDialect.java}| 28 +---
 .../org/apache/nifi/smb/common/SmbProperties.java  | 55 +++
 .../java/org/apache/nifi/smb/common/SmbUtils.java  | 59 
 .../org/apache/nifi/smb/common/SmbUtilsTest.java   | 80 ++
 nifi-nar-bundles/nifi-smb-bundle/pom.xml   |  1 +
 14 files changed, 346 insertions(+), 108 deletions(-)
 copy 
nifi-nar-bundles/{nifi-framework-bundle/nifi-framework/nifi-shell-authorizer => 
nifi-smb-bundle/nifi-smb-smbj-common}/pom.xml (74%)
 copy 
nifi-nar-bundles/{nifi-kafka-bundle/nifi-kafka-shared/src/main/java/org/apache/nifi/kafka/shared/property/PublishStrategy.java
 => 
nifi-smb-bundle/nifi-smb-smbj-common/src/main/java/org/apache/nifi/smb/common/SmbDialect.java}
 (64%)
 create mode 100644 
nifi-nar-bundles/nifi-smb-bundle/nifi-smb-smbj-common/src/main/java/org/apache/nifi/smb/common/SmbProperties.java
 create mode 100644 
nifi-nar-bundles/nifi-smb-bundle/nifi-smb-smbj-common/src/main/java/org/apache/nifi/smb/common/SmbUtils.java
 create mode 100644 
nifi-nar-bundles/nifi-smb-bundle/nifi-smb-smbj-common/src/test/java/org/apache/nifi/smb/common/SmbUtilsTest.java



[nifi] branch commit created (now 0c171bbb08)

2023-02-03 Thread tpalfy
This is an automated email from the ASF dual-hosted git repository.

tpalfy pushed a change to branch commit
in repository https://gitbox.apache.org/repos/asf/nifi.git


  at 0c171bbb08 NIFI-10846: Added SMB Dialect and Use Encryption properties 
in SMB processors

This branch includes the following new commits:

 new 0c171bbb08 NIFI-10846: Added SMB Dialect and Use Encryption properties 
in SMB processors

The 1 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.




[nifi] 01/01: NIFI-10846: Added SMB Dialect and Use Encryption properties in SMB processors

2023-02-03 Thread tpalfy
This is an automated email from the ASF dual-hosted git repository.

tpalfy pushed a commit to branch commit
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit 0c171bbb08160709d47890b6cd786a0c0575af3b
Author: Peter Turcsanyi 
AuthorDate: Wed Feb 1 16:31:31 2023 +0100

NIFI-10846: Added SMB Dialect and Use Encryption properties in SMB 
processors

This closes #6917.

Signed-off-by: Tamas Palfy 
---
 .../nifi-smb-bundle/nifi-smb-processors/pom.xml|  5 ++
 .../org/apache/nifi/processors/smb/GetSmbFile.java | 29 +---
 .../org/apache/nifi/processors/smb/PutSmbFile.java | 76 +++-
 .../apache/nifi/processors/smb/GetSmbFileTest.java | 12 ++--
 .../apache/nifi/processors/smb/PutSmbFileTest.java | 12 ++--
 .../nifi-smb-bundle/nifi-smb-smbj-client/pom.xml   |  5 ++
 .../services/smb/SmbjClientProviderService.java| 58 
 .../apache/nifi/services/smb/NiFiSmbjClientIT.java |  2 +-
 .../pom.xml| 34 ++---
 .../org/apache/nifi/smb/common/SmbDialect.java | 58 
 .../org/apache/nifi/smb/common/SmbProperties.java  | 55 +++
 .../java/org/apache/nifi/smb/common/SmbUtils.java  | 59 
 .../org/apache/nifi/smb/common/SmbUtilsTest.java   | 80 ++
 nifi-nar-bundles/nifi-smb-bundle/pom.xml   |  1 +
 14 files changed, 374 insertions(+), 112 deletions(-)

diff --git a/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/pom.xml 
b/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/pom.xml
index ccb53d2a87..31e9efdaca 100644
--- a/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/pom.xml
@@ -49,6 +49,11 @@
 nifi-utils
 1.20.0-SNAPSHOT
 
+
+org.apache.nifi
+nifi-smb-smbj-common
+1.20.0-SNAPSHOT
+
 
 com.hierynomus
 smbj
diff --git 
a/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/src/main/java/org/apache/nifi/processors/smb/GetSmbFile.java
 
b/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/src/main/java/org/apache/nifi/processors/smb/GetSmbFile.java
index c03a846ab4..244ae4639f 100644
--- 
a/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/src/main/java/org/apache/nifi/processors/smb/GetSmbFile.java
+++ 
b/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/src/main/java/org/apache/nifi/processors/smb/GetSmbFile.java
@@ -40,6 +40,7 @@ import 
org.apache.nifi.annotation.documentation.CapabilityDescription;
 import org.apache.nifi.annotation.documentation.SeeAlso;
 import org.apache.nifi.annotation.documentation.Tags;
 import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.annotation.lifecycle.OnStopped;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.ValidationContext;
 import org.apache.nifi.components.ValidationResult;
@@ -79,6 +80,10 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 import java.util.regex.Pattern;
 
+import static org.apache.nifi.smb.common.SmbProperties.SMB_DIALECT;
+import static org.apache.nifi.smb.common.SmbProperties.USE_ENCRYPTION;
+import static org.apache.nifi.smb.common.SmbUtils.buildSmbClient;
+
 @TriggerWhenEmpty
 @InputRequirement(InputRequirement.Requirement.INPUT_FORBIDDEN)
 @Tags({"samba, smb, cifs, files, get"})
@@ -249,15 +254,13 @@ public class GetSmbFile extends AbstractProcessor {
 descriptors.add(RECURSE);
 descriptors.add(POLLING_INTERVAL);
 descriptors.add(IGNORE_HIDDEN_FILES);
+descriptors.add(SMB_DIALECT);
+descriptors.add(USE_ENCRYPTION);
 this.descriptors = Collections.unmodifiableList(descriptors);
 
 final Set relationships = new HashSet();
 relationships.add(REL_SUCCESS);
 this.relationships = Collections.unmodifiableSet(relationships);
-
-if (this.smbClient == null) {
-initSmbClient();
-}
 }
 
 @Override
@@ -272,6 +275,8 @@ public class GetSmbFile extends AbstractProcessor {
 
 @OnScheduled
 public void onScheduled(final ProcessContext context) {
+smbClient = initSmbClient(context);
+
 initiateFilterFile(context);
 fileQueue.clear();
 
@@ -291,6 +296,14 @@ public class GetSmbFile extends AbstractProcessor {
 }
 }
 
+@OnStopped
+public void onStopped() {
+if (smbClient != null) {
+smbClient.close();
+smbClient = null;
+}
+}
+
 @Override
 protected Collection customValidate(ValidationContext 
validationContext) {
 Collection set = new ArrayList<>();
@@ -300,12 +313,8 @@ public class GetSmbFile extends AbstractProcessor {
 return set;
 }
 
-private void initSmbClient() {
-initSmbClient(new SMBClient());
-}
-
-public void 

[nifi] branch main updated: NIFI-11107 In ConsumeIMAP and ConsumePOP3 added support for OAUTH based authorization.

2023-02-03 Thread turcsanyi
This is an automated email from the ASF dual-hosted git repository.

turcsanyi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 56d8879e91 NIFI-11107 In ConsumeIMAP and ConsumePOP3 added support for 
OAUTH based authorization.
56d8879e91 is described below

commit 56d8879e91beb0c980ffe1df8148458b4e58fc25
Author: Tamas Palfy 
AuthorDate: Tue Jan 17 17:45:11 2023 +0100

NIFI-11107 In ConsumeIMAP and ConsumePOP3 added support for OAUTH based 
authorization.

This closes #6900.

Reviewed-by: Nandor Soma Abonyi 

Signed-off-by: Peter Turcsanyi 
---
 .../nifi-email-processors/pom.xml  |  5 ++
 .../processors/email/AbstractEmailProcessor.java   | 65 +-
 2 files changed, 67 insertions(+), 3 deletions(-)

diff --git a/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/pom.xml 
b/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/pom.xml
index b340d3bf8c..0a349e85a5 100644
--- a/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/pom.xml
@@ -39,6 +39,11 @@
 nifi-utils
 1.20.0-SNAPSHOT
 
+
+org.apache.nifi
+nifi-oauth2-provider-api
+1.20.0-SNAPSHOT
+
 
 javax.mail
 mail
diff --git 
a/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/AbstractEmailProcessor.java
 
b/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/AbstractEmailProcessor.java
index 19c64971fe..a8b2cf0dbc 100644
--- 
a/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/AbstractEmailProcessor.java
+++ 
b/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/AbstractEmailProcessor.java
@@ -16,10 +16,13 @@
  */
 package org.apache.nifi.processors.email;
 
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
 import org.apache.nifi.annotation.lifecycle.OnStopped;
+import org.apache.nifi.components.AllowableValue;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.oauth2.OAuth2AccessTokenProvider;
 import org.apache.nifi.processor.AbstractProcessor;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
@@ -43,6 +46,7 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map.Entry;
+import java.util.Optional;
 import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.ArrayBlockingQueue;
@@ -56,7 +60,17 @@ import java.util.concurrent.TimeUnit;
  * @param  the type of {@link AbstractMailReceiver}.
  */
 abstract class AbstractEmailProcessor extends 
AbstractProcessor {
-
+public static final AllowableValue PASSWORD_BASED_AUTHORIZATION_MODE = new 
AllowableValue(
+"password-based-authorization-mode",
+"Use Password",
+"Use password"
+);
+
+public static final AllowableValue OAUTH_AUTHORIZATION_MODE = new 
AllowableValue(
+"oauth-based-authorization-mode",
+"Use OAuth2",
+"Use OAuth2 to acquire access token"
+);
 public static final PropertyDescriptor HOST = new 
PropertyDescriptor.Builder()
 .name("host")
 .displayName("Host Name")
@@ -73,6 +87,22 @@ abstract class AbstractEmailProcessor extends Ab
 
.expressionLanguageSupported(ExpressionLanguageScope.VARIABLE_REGISTRY)
 .addValidator(StandardValidators.PORT_VALIDATOR)
 .build();
+public static final PropertyDescriptor AUTHORIZATION_MODE = new 
PropertyDescriptor.Builder()
+.name("authorization-mode")
+.displayName("Authorization Mode")
+.description("How to authorize sending email on the user's 
behalf.")
+.required(true)
+.allowableValues(PASSWORD_BASED_AUTHORIZATION_MODE, 
OAUTH_AUTHORIZATION_MODE)
+.defaultValue(PASSWORD_BASED_AUTHORIZATION_MODE.getValue())
+.build();
+public static final PropertyDescriptor OAUTH2_ACCESS_TOKEN_PROVIDER = new 
PropertyDescriptor.Builder()
+.name("oauth2-access-token-provider")
+.displayName("OAuth2 Access Token Provider")
+.description("OAuth2 service that can provide access tokens.")
+.identifiesControllerService(OAuth2AccessTokenProvider.class)
+.dependsOn(AUTHORIZATION_MODE, OAUTH_AUTHORIZATION_MODE)
+.required(true)
+.build();
 public static final PropertyDescriptor USER = new 
PropertyDescriptor.Builder()

[nifi] branch main updated: NIFI-11135 Upgraded Commons CSV from 1.9.0 to 1.10.0

2023-02-03 Thread pvillard
This is an automated email from the ASF dual-hosted git repository.

pvillard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 6877e84931 NIFI-11135 Upgraded Commons CSV from 1.9.0 to 1.10.0
6877e84931 is described below

commit 6877e8493186f6efc4d8e370b6503f85cf0ee70c
Author: exceptionfactory 
AuthorDate: Thu Feb 2 15:58:07 2023 -0600

NIFI-11135 Upgraded Commons CSV from 1.9.0 to 1.10.0

Signed-off-by: Pierre Villard 

This closes #6921.
---
 .../nifi-record-utils/nifi-standard-record-utils/pom.xml|  2 +-
 .../nifi-lookup-services/pom.xml|  2 +-
 .../nifi-record-serialization-services/pom.xml  |  2 +-
 .../test/java/org/apache/nifi/csv/TestCSVRecordReader.java  | 13 +++--
 4 files changed, 6 insertions(+), 13 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/pom.xml
 
b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/pom.xml
index 26c8cbcbd9..7b2199bdc8 100644
--- 
a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/pom.xml
+++ 
b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/pom.xml
@@ -54,7 +54,7 @@
 
 org.apache.commons
 commons-csv
-1.9.0
+1.10.0
 
 
 org.apache.commons
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/pom.xml
 
b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/pom.xml
index 053502413a..19473093a6 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/pom.xml
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/pom.xml
@@ -59,7 +59,7 @@
 
 org.apache.commons
 commons-csv
-1.9.0
+1.10.0
 
 
 commons-beanutils
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/pom.xml
 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/pom.xml
index d307fbda4a..2042711508 100755
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/pom.xml
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/pom.xml
@@ -64,7 +64,7 @@
 
 org.apache.commons
 commons-csv
-1.9.0
+1.10.0
 
 
 com.fasterxml.jackson.dataformat
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/csv/TestCSVRecordReader.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/csv/TestCSVRecordReader.java
index da2fd9ee23..8ab596f689 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/csv/TestCSVRecordReader.java
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/csv/TestCSVRecordReader.java
@@ -50,6 +50,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class TestCSVRecordReader {
 private final DataType doubleDataType = 
RecordFieldType.DOUBLE.getDataType();
@@ -826,11 +827,7 @@ public class TestCSVRecordReader {
 final CSVFormat disallowDuplicateHeadersFormat = 
CSVFormat.DEFAULT.withFirstRecordAsHeader().withTrim().withQuote('"').withAllowDuplicateHeaderNames(false);
 try (final InputStream bais = new ByteArrayInputStream(inputData)) {
 final IllegalArgumentException iae = 
assertThrows(IllegalArgumentException.class, () -> createReader(bais, schema, 
disallowDuplicateHeadersFormat));
-assertEquals(
-"The header contains a duplicate name: \"id\" in [id, id, 
name, name, balance, BALANCE, address, city, state, zipCode, country]. " +
-"If this is valid then use 
CSVFormat.withAllowDuplicateHeaderNames().",
-iae.getMessage()
-);
+