This is an automated email from the ASF dual-hosted git repository.
mattyb149 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 1b8cd8349b NIFI-10703 - Updated VersionedDataflow to support
MaxEventDrivenThreadCount NIFI-10703 - Also setting the
maxEventDrivenThreadCount on the controller when using a versioned flow.
NIFI-10703 - Corrected to use getMaxEventDrivenThreadCount(), set a default
value for event driven thread count in VersionedDataflow NIFI-10703 - Updated
log message for setMaxThreadCount in FlowController.java NIFI-10703 - Updated
default value for maxEventDrivenThreadCount NIFI-10703 - Set p [...]
1b8cd8349b is described below
commit 1b8cd8349ba31f96f2898a712611d20d538ba240
Author: Nathan Gough <[email protected]>
AuthorDate: Tue Nov 8 22:49:41 2022 -0500
NIFI-10703 - Updated VersionedDataflow to support MaxEventDrivenThreadCount
NIFI-10703 - Also setting the maxEventDrivenThreadCount on the controller
when using a versioned flow.
NIFI-10703 - Corrected to use getMaxEventDrivenThreadCount(), set a default
value for event driven thread count in VersionedDataflow
NIFI-10703 - Updated log message for setMaxThreadCount in
FlowController.java
NIFI-10703 - Updated default value for maxEventDrivenThreadCount
NIFI-10703 - Set private for DEFAULT_MAX_EVENT_DRIVEN_THREAD_COUNT
Signed-off-by: Matthew Burgess <[email protected]>
This closes #6638
---
.../org/apache/nifi/controller/flow/VersionedDataflow.java | 11 +++++++++++
.../main/java/org/apache/nifi/controller/FlowController.java | 2 +-
.../controller/serialization/VersionedDataflowMapper.java | 1 +
.../controller/serialization/VersionedFlowSynchronizer.java | 1 +
4 files changed, 14 insertions(+), 1 deletion(-)
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/flow/VersionedDataflow.java
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/flow/VersionedDataflow.java
index 1f37fbc1c1..53bac9fc8d 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/flow/VersionedDataflow.java
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/flow/VersionedDataflow.java
@@ -30,6 +30,7 @@ import java.util.Set;
public class VersionedDataflow {
private VersionedFlowEncodingVersion encodingVersion;
private int maxTimerDrivenThreadCount;
+ private int maxEventDrivenThreadCount;
private List<VersionedFlowRegistryClient> registries;
private List<VersionedParameterContext> parameterContexts;
private List<VersionedParameterProvider> parameterProviders;
@@ -38,6 +39,8 @@ public class VersionedDataflow {
private Set<VersionedTemplate> templates;
private VersionedProcessGroup rootGroup;
+ private final static int DEFAULT_MAX_EVENT_DRIVEN_THREAD_COUNT = 1;
+
public VersionedFlowEncodingVersion getEncodingVersion() {
return encodingVersion;
}
@@ -54,6 +57,14 @@ public class VersionedDataflow {
this.maxTimerDrivenThreadCount = maxTimerDrivenThreadCount;
}
+ public int getMaxEventDrivenThreadCount() {
+ return maxEventDrivenThreadCount < 1 ?
DEFAULT_MAX_EVENT_DRIVEN_THREAD_COUNT : maxEventDrivenThreadCount;
+ }
+
+ public void setMaxEventDrivenThreadCount(final int
maxEventDrivenThreadCount) {
+ this.maxEventDrivenThreadCount = maxEventDrivenThreadCount;
+ }
+
public List<VersionedFlowRegistryClient> getRegistries() {
return registries;
}
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
index 3140fbde3a..ce93d4a474 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java
@@ -1591,7 +1591,7 @@ public class FlowController implements
ReportingTaskProvider, Authorizable, Node
*/
private void setMaxThreadCount(final int maxThreadCount, final FlowEngine
engine, final AtomicInteger maxThreads) {
if (maxThreadCount < 1) {
- throw new IllegalArgumentException("Cannot set max number of
threads to less than 2");
+ throw new IllegalArgumentException("Cannot set max number of
threads to less than 1");
}
maxThreads.getAndSet(maxThreadCount);
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/VersionedDataflowMapper.java
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/VersionedDataflowMapper.java
index 05382f7cde..99566d78b1 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/VersionedDataflowMapper.java
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/VersionedDataflowMapper.java
@@ -82,6 +82,7 @@ public class VersionedDataflowMapper {
final VersionedDataflow dataflow = new VersionedDataflow();
dataflow.setEncodingVersion(ENCODING_VERSION);
dataflow.setMaxTimerDrivenThreadCount(flowController.getMaxTimerDrivenThreadCount());
+
dataflow.setMaxEventDrivenThreadCount(flowController.getMaxEventDrivenThreadCount());
dataflow.setControllerServices(mapControllerServices());
dataflow.setParameterContexts(mapParameterContexts());
dataflow.setRegistries(mapRegistries());
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/VersionedFlowSynchronizer.java
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/VersionedFlowSynchronizer.java
index c8201898d4..eb07a5501a 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/VersionedFlowSynchronizer.java
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/VersionedFlowSynchronizer.java
@@ -370,6 +370,7 @@ public class VersionedFlowSynchronizer implements
FlowSynchronizer {
if (versionedFlow != null) {
controller.setMaxTimerDrivenThreadCount(versionedFlow.getMaxTimerDrivenThreadCount());
+
controller.setMaxEventDrivenThreadCount(versionedFlow.getMaxEventDrivenThreadCount());
ProcessGroup rootGroup =
controller.getFlowManager().getRootGroup();
final Map<String, VersionedParameterContext>
versionedParameterContextMap = new HashMap<>();