From be67f3552ba9abbb98aa29ab48c06264b77ab661 Mon Sep 17 00:00:00 2001 From: joewitt Date: Thu, 18 May 2017 09:31:56 -0400 Subject: [PATCH] NIFI-3853 fixing tests to properly encapsulate their environments This closes #1822. Signed-off-by: Bryan Bende --- .../StandardFlowSynchronizerSpec.groovy | 5 +- .../nifi/controller/TestFlowController.java | 47 +++---- .../scheduling/TestProcessorLifecycle.java | 7 +- .../TestStandardProcessScheduler.java | 19 ++- .../StandardFlowSerializerTest.java | 25 ++-- .../flowcontrollertest.nifi.properties | 127 ++++++++++++++++++ ...operties => lifecycletest.nifi.properties} | 28 ++-- ...standardflowserializertest.nifi.properties | 127 ++++++++++++++++++ ...andardflowsynchronizerspec.nifi.properties | 127 ++++++++++++++++++ ...andardprocessschedulertest.nifi.properties | 127 ++++++++++++++++++ 10 files changed, 581 insertions(+), 58 deletions(-) create mode 100644 nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/flowcontrollertest.nifi.properties rename nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/{nifi.properties => lifecycletest.nifi.properties} (81%) create mode 100644 nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardflowserializertest.nifi.properties create mode 100644 nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardflowsynchronizerspec.nifi.properties create mode 100644 nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardprocessschedulertest.nifi.properties diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/groovy/org/apache/nifi/controller/StandardFlowSynchronizerSpec.groovy b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/groovy/org/apache/nifi/controller/StandardFlowSynchronizerSpec.groovy index 098814a9f7..e54bbe8c04 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/groovy/org/apache/nifi/controller/StandardFlowSynchronizerSpec.groovy +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/groovy/org/apache/nifi/controller/StandardFlowSynchronizerSpec.groovy @@ -40,10 +40,9 @@ class StandardFlowSynchronizerSpec extends Specification { def systemBundle; def setupSpec() { - def propFile = StandardFlowSynchronizerSpec.class.getResource("/nifi.properties").getFile() - System.setProperty NiFiProperties.PROPERTIES_FILE_PATH, propFile + def propFile = StandardFlowSynchronizerSpec.class.getResource("/standardflowsynchronizerspec.nifi.properties").getFile() - def niFiProperties = NiFiProperties.createBasicNiFiProperties(null, null); + def niFiProperties = NiFiProperties.createBasicNiFiProperties(propFile, null); systemBundle = SystemBundle.create(niFiProperties); ExtensionManager.discoverExtensions(systemBundle, Collections.emptySet()); } diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFlowController.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFlowController.java index 1b51be61b0..31bf497996 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFlowController.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFlowController.java @@ -83,6 +83,7 @@ import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.concurrent.TimeUnit; +import org.apache.commons.io.FileUtils; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -92,7 +93,6 @@ import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; - public class TestFlowController { private FlowController controller; @@ -104,10 +104,10 @@ public class TestFlowController { private Bundle systemBundle; private BulletinRepository bulletinRepo; private VariableRegistry variableRegistry; + private volatile String propsFile = TestFlowController.class.getResource("/flowcontrollertest.nifi.properties").getFile(); @Before public void setup() { - System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, TestFlowController.class.getResource("/nifi.properties").getFile()); flowFileEventRepo = Mockito.mock(FlowFileEventRepository.class); auditService = Mockito.mock(AuditService.class); @@ -115,7 +115,7 @@ public class TestFlowController { otherProps.put(NiFiProperties.PROVENANCE_REPO_IMPLEMENTATION_CLASS, MockProvenanceRepository.class.getName()); otherProps.put("nifi.remote.input.socket.port", ""); otherProps.put("nifi.remote.input.secure", ""); - nifiProperties = NiFiProperties.createBasicNiFiProperties(null, otherProps); + nifiProperties = NiFiProperties.createBasicNiFiProperties(propsFile, otherProps); encryptor = StringEncryptor.createEncryptor(nifiProperties); // use the system bundle @@ -166,8 +166,9 @@ public class TestFlowController { } @After - public void cleanup() { + public void cleanup() throws Exception { controller.shutdown(true); + FileUtils.deleteDirectory(new File("./target/flowcontrollertest")); } @Test @@ -487,34 +488,34 @@ public class TestFlowController { } @Test - public void testProcessorDefaultScheduleAnnotation() throws ProcessorInstantiationException,ClassNotFoundException,InstantiationException,IllegalAccessException { - ProcessorNode p_scheduled = controller.createProcessor(DummyScheduledProcessor.class.getName(),"1234-ScheduledProcessor", + public void testProcessorDefaultScheduleAnnotation() throws ProcessorInstantiationException, ClassNotFoundException, InstantiationException, IllegalAccessException { + ProcessorNode p_scheduled = controller.createProcessor(DummyScheduledProcessor.class.getName(), "1234-ScheduledProcessor", systemBundle.getBundleDetails().getCoordinate()); - assertEquals(5,p_scheduled.getMaxConcurrentTasks()); - assertEquals(SchedulingStrategy.CRON_DRIVEN,p_scheduled.getSchedulingStrategy()); - assertEquals("0 0 0 1/1 * ?",p_scheduled.getSchedulingPeriod()); - assertEquals("1 sec",p_scheduled.getYieldPeriod()); - assertEquals("30 sec",p_scheduled.getPenalizationPeriod()); - assertEquals(LogLevel.WARN,p_scheduled.getBulletinLevel()); + assertEquals(5, p_scheduled.getMaxConcurrentTasks()); + assertEquals(SchedulingStrategy.CRON_DRIVEN, p_scheduled.getSchedulingStrategy()); + assertEquals("0 0 0 1/1 * ?", p_scheduled.getSchedulingPeriod()); + assertEquals("1 sec", p_scheduled.getYieldPeriod()); + assertEquals("30 sec", p_scheduled.getPenalizationPeriod()); + assertEquals(LogLevel.WARN, p_scheduled.getBulletinLevel()); } @Test public void testReportingTaskDefaultScheduleAnnotation() throws ReportingTaskInstantiationException { ReportingTaskNode p_scheduled = controller.createReportingTask(DummyScheduledReportingTask.class.getName(), systemBundle.getBundleDetails().getCoordinate()); - assertEquals(SchedulingStrategy.CRON_DRIVEN,p_scheduled.getSchedulingStrategy()); - assertEquals("0 0 0 1/1 * ?",p_scheduled.getSchedulingPeriod()); + assertEquals(SchedulingStrategy.CRON_DRIVEN, p_scheduled.getSchedulingStrategy()); + assertEquals("0 0 0 1/1 * ?", p_scheduled.getSchedulingPeriod()); } @Test - public void testProcessorDefaultSettingsAnnotation() throws ProcessorInstantiationException,ClassNotFoundException { + public void testProcessorDefaultSettingsAnnotation() throws ProcessorInstantiationException, ClassNotFoundException { - ProcessorNode p_settings = controller.createProcessor(DummySettingsProcessor.class.getName(),"1234-SettingsProcessor", systemBundle.getBundleDetails().getCoordinate()); - assertEquals("5 sec",p_settings.getYieldPeriod()); - assertEquals("1 min",p_settings.getPenalizationPeriod()); - assertEquals(LogLevel.DEBUG,p_settings.getBulletinLevel()); - assertEquals(1,p_settings.getMaxConcurrentTasks()); - assertEquals(SchedulingStrategy.TIMER_DRIVEN,p_settings.getSchedulingStrategy()); - assertEquals("0 sec",p_settings.getSchedulingPeriod()); + ProcessorNode p_settings = controller.createProcessor(DummySettingsProcessor.class.getName(), "1234-SettingsProcessor", systemBundle.getBundleDetails().getCoordinate()); + assertEquals("5 sec", p_settings.getYieldPeriod()); + assertEquals("1 min", p_settings.getPenalizationPeriod()); + assertEquals(LogLevel.DEBUG, p_settings.getBulletinLevel()); + assertEquals(1, p_settings.getMaxConcurrentTasks()); + assertEquals(SchedulingStrategy.TIMER_DRIVEN, p_settings.getSchedulingStrategy()); + assertEquals("0 sec", p_settings.getSchedulingPeriod()); } @Test @@ -546,7 +547,7 @@ public class TestFlowController { assertEquals(5, processorNode.getMaxConcurrentTasks()); assertEquals(SchedulingStrategy.CRON_DRIVEN, processorNode.getSchedulingStrategy()); - assertEquals("0 0 0 1/1 * ?",processorNode.getSchedulingPeriod()); + assertEquals("0 0 0 1/1 * ?", processorNode.getSchedulingPeriod()); assertEquals("1 sec", processorNode.getYieldPeriod()); assertEquals("30 sec", processorNode.getPenalizationPeriod()); assertEquals(LogLevel.WARN, processorNode.getBulletinLevel()); diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestProcessorLifecycle.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestProcessorLifecycle.java index 9533751906..7f36a656c7 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestProcessorLifecycle.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestProcessorLifecycle.java @@ -87,18 +87,17 @@ public class TestProcessorLifecycle { private static final Logger logger = LoggerFactory.getLogger(TestProcessorLifecycle.class); private FlowController fc; private Map properties = new HashMap<>(); + private volatile String propsFile = TestProcessorLifecycle.class.getResource("/lifecycletest.nifi.properties").getFile(); @Before public void before() throws Exception { - System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, TestProcessorLifecycle.class.getResource("/nifi.properties").getFile()); properties.put("P", "hello"); } @After public void after() throws Exception { fc.shutdown(true); - FileUtils.deleteDirectory(new File("./target/test-repo")); - FileUtils.deleteDirectory(new File("./target/content_repository")); + FileUtils.deleteDirectory(new File("./target/lifecycletest")); } @Test @@ -730,7 +729,7 @@ public class TestProcessorLifecycle { if (propKey != null && propValue != null) { addProps.put(propKey, propValue); } - final NiFiProperties nifiProperties = NiFiProperties.createBasicNiFiProperties(null, addProps); + final NiFiProperties nifiProperties = NiFiProperties.createBasicNiFiProperties(propsFile, addProps); final Bundle systemBundle = SystemBundle.create(nifiProperties); ExtensionManager.discoverExtensions(systemBundle, Collections.emptySet()); diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java index dbbd614820..b024e52965 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java @@ -16,6 +16,7 @@ */ package org.apache.nifi.controller.scheduling; +import java.io.File; import org.apache.nifi.annotation.lifecycle.OnDisabled; import org.apache.nifi.annotation.lifecycle.OnEnabled; import org.apache.nifi.annotation.lifecycle.OnScheduled; @@ -77,6 +78,8 @@ import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; +import org.apache.commons.io.FileUtils; +import org.junit.After; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -93,11 +96,11 @@ public class TestStandardProcessScheduler { private ProcessGroup rootGroup; private NiFiProperties nifiProperties; private Bundle systemBundle; + private volatile String propsFile = TestStandardProcessScheduler.class.getResource("/standardprocessschedulertest.nifi.properties").getFile(); @Before public void setup() throws InitializationException { - System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, TestStandardProcessScheduler.class.getResource("/nifi.properties").getFile()); - this.nifiProperties = NiFiProperties.createBasicNiFiProperties(null, null); + this.nifiProperties = NiFiProperties.createBasicNiFiProperties(propsFile, null); // load the system bundle systemBundle = SystemBundle.create(nifiProperties); @@ -122,6 +125,12 @@ public class TestStandardProcessScheduler { Mockito.when(controller.getGroup(Mockito.anyString())).thenReturn(rootGroup); } + @After + public void after() throws Exception { + controller.shutdown(true); + FileUtils.deleteDirectory(new File("./target/standardprocessschedulertest")); + } + /** * We have run into an issue where a Reporting Task is scheduled to run but * throws an Exception from a method with the @OnScheduled annotation. User @@ -155,8 +164,8 @@ public class TestStandardProcessScheduler { final ReloadComponent reloadComponent = Mockito.mock(ReloadComponent.class); - final StandardControllerServiceProvider serviceProvider = - new StandardControllerServiceProvider(controller, scheduler, null, Mockito.mock(StateManagerProvider.class), variableRegistry, nifiProperties); + final StandardControllerServiceProvider serviceProvider + = new StandardControllerServiceProvider(controller, scheduler, null, Mockito.mock(StateManagerProvider.class), variableRegistry, nifiProperties); final ControllerServiceNode service = serviceProvider.createControllerService(NoStartServiceImpl.class.getName(), "service", systemBundle.getBundleDetails().getCoordinate(), null, true); rootGroup.addControllerService(service); @@ -167,7 +176,7 @@ public class TestStandardProcessScheduler { scheduler, serviceProvider, nifiProperties, VariableRegistry.EMPTY_REGISTRY, reloadComponent); rootGroup.addProcessor(procNode); - Map procProps = new HashMap<>(); + Map procProps = new HashMap<>(); procProps.put(ServiceReferencingProcessor.SERVICE_DESC.getName(), service.getIdentifier()); procNode.setProperties(procProps); diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/serialization/StandardFlowSerializerTest.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/serialization/StandardFlowSerializerTest.java index f61dcc2ce2..c235a57e3e 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/serialization/StandardFlowSerializerTest.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/serialization/StandardFlowSerializerTest.java @@ -23,7 +23,6 @@ import org.apache.nifi.bundle.Bundle; import org.apache.nifi.controller.DummyScheduledProcessor; import org.apache.nifi.controller.FlowController; import org.apache.nifi.controller.ProcessorNode; -import org.apache.nifi.controller.TestFlowController; import org.apache.nifi.controller.repository.FlowFileEventRepository; import org.apache.nifi.encrypt.StringEncryptor; import org.apache.nifi.nar.ExtensionManager; @@ -38,21 +37,25 @@ import org.junit.Test; import org.mockito.Mockito; import java.io.ByteArrayOutputStream; +import java.io.File; import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.UUID; +import org.apache.commons.io.FileUtils; +import org.junit.After; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class StandardFlowSerializerTest { - private static final String RAW_COMMENTS = - " \"This\" is an ' example with many characters that need to be filtered and escaped \u0002 in it. \u007f \u0086 " + Character.MIN_SURROGATE; - private static final String SERIALIZED_COMMENTS = - "<tagName> \"This\" is an ' example with many characters that need to be filtered and escaped in it.  † "; + private static final String RAW_COMMENTS + = " \"This\" is an ' example with many characters that need to be filtered and escaped \u0002 in it. \u007f \u0086 " + Character.MIN_SURROGATE; + private static final String SERIALIZED_COMMENTS + = "<tagName> \"This\" is an ' example with many characters that need to be filtered and escaped in it.  † "; + private volatile String propsFile = StandardFlowSerializerTest.class.getResource("/standardflowserializertest.nifi.properties").getFile(); private FlowController controller; private Bundle systemBundle; @@ -60,15 +63,13 @@ public class StandardFlowSerializerTest { @Before public void setUp() throws Exception { - System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, TestFlowController.class.getResource("/nifi.properties").getFile()); - final FlowFileEventRepository flowFileEventRepo = Mockito.mock(FlowFileEventRepository.class); final AuditService auditService = Mockito.mock(AuditService.class); final Map otherProps = new HashMap<>(); otherProps.put(NiFiProperties.PROVENANCE_REPO_IMPLEMENTATION_CLASS, MockProvenanceRepository.class.getName()); otherProps.put("nifi.remote.input.socket.port", ""); otherProps.put("nifi.remote.input.secure", ""); - final NiFiProperties nifiProperties = NiFiProperties.createBasicNiFiProperties(null, otherProps); + final NiFiProperties nifiProperties = NiFiProperties.createBasicNiFiProperties(propsFile, otherProps); final StringEncryptor encryptor = StringEncryptor.createEncryptor(nifiProperties); // use the system bundle @@ -84,6 +85,12 @@ public class StandardFlowSerializerTest { serializer = new StandardFlowSerializer(encryptor); } + @After + public void after() throws Exception { + controller.shutdown(true); + FileUtils.deleteDirectory(new File("./target/standardflowserializertest")); + } + @Test public void testSerializationEscapingAndFiltering() throws Exception { final ProcessorNode dummy = controller.createProcessor(DummyScheduledProcessor.class.getName(), UUID.randomUUID().toString(), systemBundle.getBundleDetails().getCoordinate()); @@ -99,4 +106,4 @@ public class StandardFlowSerializerTest { assertTrue(serializedFlow.contains(SERIALIZED_COMMENTS)); assertFalse(serializedFlow.contains(RAW_COMMENTS)); } -} \ No newline at end of file +} diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/flowcontrollertest.nifi.properties b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/flowcontrollertest.nifi.properties new file mode 100644 index 0000000000..76e56356f8 --- /dev/null +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/flowcontrollertest.nifi.properties @@ -0,0 +1,127 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Core Properties # +nifi.flow.configuration.file=./target/flowcontrollertest/flow.xml.gz +nifi.flow.configuration.archive.dir=./target/flowcontrollertest/archive/ +nifi.flowcontroller.autoResumeState=true +nifi.flowcontroller.graceful.shutdown.period=10 sec +nifi.flowservice.writedelay.interval=2 sec +nifi.administrative.yield.duration=500 millis + +nifi.reporting.task.configuration.file=./target/flowcontrollertest/reporting-tasks.xml +nifi.controller.service.configuration.file=./target/flowcontrollertest/controller-services.xml +nifi.templates.directory=./target/flowcontrollertest/templates +nifi.ui.banner.text=UI Banner Text +nifi.ui.autorefresh.interval=30 sec +nifi.nar.library.directory=./target/flowcontrollertest/lib +nifi.nar.working.directory=./target/flowcontrollertest/work/nar/ + +nifi.state.management.configuration.file=src/test/resources/state-management.xml +nifi.state.management.provider.local=local-provider + +# H2 Settings +nifi.database.directory=./target/flowcontrollertest/database_repository +nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE + +# FlowFile Repository +nifi.flowfile.repository.directory=./target/flowcontrollertest/test-repo +nifi.flowfile.repository.partitions=1 +nifi.flowfile.repository.checkpoint.interval=2 mins +nifi.queue.swap.threshold=20000 +nifi.swap.storage.directory=./target/flowcontrollertest/test-repo/swap +nifi.swap.in.period=5 sec +nifi.swap.in.threads=1 +nifi.swap.out.period=5 sec +nifi.swap.out.threads=4 + +# Content Repository +nifi.content.claim.max.appendable.size=10 MB +nifi.content.claim.max.flow.files=100 +nifi.content.repository.directory.default=./target/flowcontrollertest/content_repository +nifi.content.repository.archive.enabled=true +nifi.content.repository.archive.max.usage.percentage=95% + +# Provenance Repository Properties +nifi.provenance.repository.storage.directory=./target/flowcontrollertest/provenance_repository +nifi.provenance.repository.max.storage.time=24 hours +nifi.provenance.repository.max.storage.size=1 GB +nifi.provenance.repository.rollover.time=30 secs +nifi.provenance.repository.rollover.size=100 MB + +# Site to Site properties +nifi.remote.input.socket.port=9990 +nifi.remote.input.secure=true + +# web properties # +nifi.web.war.directory=./target/flowcontrollertest/lib +nifi.web.http.host= +nifi.web.http.port=8080 +nifi.web.https.host= +nifi.web.https.port= +nifi.web.jetty.working.directory=./target/flowcontrollertest/work/jetty + +# security properties # +nifi.sensitive.props.key=key +nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL +nifi.sensitive.props.provider=BC + +nifi.security.keystore= +nifi.security.keystoreType= +nifi.security.keystorePasswd= +nifi.security.keyPasswd= +nifi.security.truststore= +nifi.security.truststoreType= +nifi.security.truststorePasswd= +nifi.security.needClientAuth= +nifi.security.user.authorizer= + +# cluster common properties (cluster manager and nodes must have same values) # +nifi.cluster.protocol.heartbeat.interval=5 sec +nifi.cluster.protocol.is.secure=false +nifi.cluster.protocol.socket.timeout=30 sec +nifi.cluster.protocol.connection.handshake.timeout=45 sec +# if multicast is used, then nifi.cluster.protocol.multicast.xxx properties must be configured # +nifi.cluster.protocol.use.multicast=false +nifi.cluster.protocol.multicast.address= +nifi.cluster.protocol.multicast.port= +nifi.cluster.protocol.multicast.service.broadcast.delay=500 ms +nifi.cluster.protocol.multicast.service.locator.attempts=3 +nifi.cluster.protocol.multicast.service.locator.attempts.delay=1 sec + +# cluster node properties (only configure for cluster nodes) # +nifi.cluster.is.node=false +nifi.cluster.node.address= +nifi.cluster.node.protocol.port= +nifi.cluster.node.protocol.threads=2 +# if multicast is not used, nifi.cluster.node.unicast.xxx must have same values as nifi.cluster.manager.xxx # +nifi.cluster.node.unicast.manager.address= +nifi.cluster.node.unicast.manager.protocol.port= +nifi.cluster.node.unicast.manager.authority.provider.port= + +# cluster manager properties (only configure for cluster manager) # +nifi.cluster.is.manager=false +nifi.cluster.manager.address= +nifi.cluster.manager.protocol.port= +nifi.cluster.manager.authority.provider.port= +nifi.cluster.manager.authority.provider.threads=10 +nifi.cluster.manager.node.firewall.file= +nifi.cluster.manager.node.event.history.size=10 +nifi.cluster.manager.node.api.connection.timeout=30 sec +nifi.cluster.manager.node.api.read.timeout=30 sec +nifi.cluster.manager.node.api.request.threads=10 +nifi.cluster.manager.flow.retrieval.delay=5 sec +nifi.cluster.manager.protocol.threads=10 +nifi.cluster.manager.safemode.duration=0 sec diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/nifi.properties b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/lifecycletest.nifi.properties similarity index 81% rename from nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/nifi.properties rename to nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/lifecycletest.nifi.properties index b64bdd3b33..4dc3a13a93 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/nifi.properties +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/lifecycletest.nifi.properties @@ -14,34 +14,34 @@ # limitations under the License. # Core Properties # -nifi.flow.configuration.file=./target/flow.xml.gz -nifi.flow.configuration.archive.dir=./target/archive/ +nifi.flow.configuration.file=./target/lifecycletest/flow.xml.gz +nifi.flow.configuration.archive.dir=./target/lifecycletest/archive/ nifi.flowcontroller.autoResumeState=true nifi.flowcontroller.graceful.shutdown.period=10 sec nifi.flowservice.writedelay.interval=2 sec nifi.administrative.yield.duration=500 millis -nifi.reporting.task.configuration.file=./target/reporting-tasks.xml -nifi.controller.service.configuration.file=./target/controller-services.xml -nifi.templates.directory=./target/templates +nifi.reporting.task.configuration.file=./target/lifecycletest/reporting-tasks.xml +nifi.controller.service.configuration.file=./target/lifecycletest/controller-services.xml +nifi.templates.directory=./target/lifecycletest/templates nifi.ui.banner.text=UI Banner Text nifi.ui.autorefresh.interval=30 sec -nifi.nar.library.directory=./target/lib -nifi.nar.working.directory=./target/work/nar/ +nifi.nar.library.directory=./target/lifecycletest/lib +nifi.nar.working.directory=./target/lifecycletest/work/nar/ nifi.state.management.configuration.file=src/test/resources/state-management.xml nifi.state.management.provider.local=local-provider # H2 Settings -nifi.database.directory=./database_repository +nifi.database.directory=./target/lifecycletest/database_repository nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE # FlowFile Repository -nifi.flowfile.repository.directory=./target/test-repo +nifi.flowfile.repository.directory=./target/lifecycletest/test-repo nifi.flowfile.repository.partitions=1 nifi.flowfile.repository.checkpoint.interval=2 mins nifi.queue.swap.threshold=20000 -nifi.swap.storage.directory=./target/test-repo/swap +nifi.swap.storage.directory=./target/lifecycletest/test-repo/swap nifi.swap.in.period=5 sec nifi.swap.in.threads=1 nifi.swap.out.period=5 sec @@ -50,12 +50,12 @@ nifi.swap.out.threads=4 # Content Repository nifi.content.claim.max.appendable.size=10 MB nifi.content.claim.max.flow.files=100 -nifi.content.repository.directory.default=./target/content_repository +nifi.content.repository.directory.default=./target/lifecycletest/content_repository nifi.content.repository.archive.enabled=true nifi.content.repository.archive.max.usage.percentage=95% # Provenance Repository Properties -nifi.provenance.repository.storage.directory=./target/provenance_repository +nifi.provenance.repository.storage.directory=./target/lifecycletest/provenance_repository nifi.provenance.repository.max.storage.time=24 hours nifi.provenance.repository.max.storage.size=1 GB nifi.provenance.repository.rollover.time=30 secs @@ -66,12 +66,12 @@ nifi.remote.input.socket.port=9990 nifi.remote.input.secure=true # web properties # -nifi.web.war.directory=./target/lib +nifi.web.war.directory=./target/lifecycletest/lib nifi.web.http.host= nifi.web.http.port=8080 nifi.web.https.host= nifi.web.https.port= -nifi.web.jetty.working.directory=./target/work/jetty +nifi.web.jetty.working.directory=./target/lifecycletest/work/jetty # security properties # nifi.sensitive.props.key=key diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardflowserializertest.nifi.properties b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardflowserializertest.nifi.properties new file mode 100644 index 0000000000..4acdea0268 --- /dev/null +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardflowserializertest.nifi.properties @@ -0,0 +1,127 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Core Properties # +nifi.flow.configuration.file=./target/standardflowserializertest/flow.xml.gz +nifi.flow.configuration.archive.dir=./target/standardflowserializertest/archive/ +nifi.flowcontroller.autoResumeState=true +nifi.flowcontroller.graceful.shutdown.period=10 sec +nifi.flowservice.writedelay.interval=2 sec +nifi.administrative.yield.duration=500 millis + +nifi.reporting.task.configuration.file=./target/standardflowserializertest/reporting-tasks.xml +nifi.controller.service.configuration.file=./target/standardflowserializertest/controller-services.xml +nifi.templates.directory=./target/standardflowserializertest/templates +nifi.ui.banner.text=UI Banner Text +nifi.ui.autorefresh.interval=30 sec +nifi.nar.library.directory=./target/standardflowserializertest/lib +nifi.nar.working.directory=./target/standardflowserializertest/work/nar/ + +nifi.state.management.configuration.file=src/test/resources/state-management.xml +nifi.state.management.provider.local=local-provider + +# H2 Settings +nifi.database.directory=./target/standardflowserializertest/database_repository +nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE + +# FlowFile Repository +nifi.flowfile.repository.directory=./target/standardflowserializertest/test-repo +nifi.flowfile.repository.partitions=1 +nifi.flowfile.repository.checkpoint.interval=2 mins +nifi.queue.swap.threshold=20000 +nifi.swap.storage.directory=./target/standardflowserializertest/test-repo/swap +nifi.swap.in.period=5 sec +nifi.swap.in.threads=1 +nifi.swap.out.period=5 sec +nifi.swap.out.threads=4 + +# Content Repository +nifi.content.claim.max.appendable.size=10 MB +nifi.content.claim.max.flow.files=100 +nifi.content.repository.directory.default=./target/standardflowserializertest/content_repository +nifi.content.repository.archive.enabled=true +nifi.content.repository.archive.max.usage.percentage=95% + +# Provenance Repository Properties +nifi.provenance.repository.storage.directory=./target/standardflowserializertest/provenance_repository +nifi.provenance.repository.max.storage.time=24 hours +nifi.provenance.repository.max.storage.size=1 GB +nifi.provenance.repository.rollover.time=30 secs +nifi.provenance.repository.rollover.size=100 MB + +# Site to Site properties +nifi.remote.input.socket.port=9990 +nifi.remote.input.secure=true + +# web properties # +nifi.web.war.directory=./target/standardflowserializertest/lib +nifi.web.http.host= +nifi.web.http.port=8080 +nifi.web.https.host= +nifi.web.https.port= +nifi.web.jetty.working.directory=./target/standardflowserializertest/work/jetty + +# security properties # +nifi.sensitive.props.key=key +nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL +nifi.sensitive.props.provider=BC + +nifi.security.keystore= +nifi.security.keystoreType= +nifi.security.keystorePasswd= +nifi.security.keyPasswd= +nifi.security.truststore= +nifi.security.truststoreType= +nifi.security.truststorePasswd= +nifi.security.needClientAuth= +nifi.security.user.authorizer= + +# cluster common properties (cluster manager and nodes must have same values) # +nifi.cluster.protocol.heartbeat.interval=5 sec +nifi.cluster.protocol.is.secure=false +nifi.cluster.protocol.socket.timeout=30 sec +nifi.cluster.protocol.connection.handshake.timeout=45 sec +# if multicast is used, then nifi.cluster.protocol.multicast.xxx properties must be configured # +nifi.cluster.protocol.use.multicast=false +nifi.cluster.protocol.multicast.address= +nifi.cluster.protocol.multicast.port= +nifi.cluster.protocol.multicast.service.broadcast.delay=500 ms +nifi.cluster.protocol.multicast.service.locator.attempts=3 +nifi.cluster.protocol.multicast.service.locator.attempts.delay=1 sec + +# cluster node properties (only configure for cluster nodes) # +nifi.cluster.is.node=false +nifi.cluster.node.address= +nifi.cluster.node.protocol.port= +nifi.cluster.node.protocol.threads=2 +# if multicast is not used, nifi.cluster.node.unicast.xxx must have same values as nifi.cluster.manager.xxx # +nifi.cluster.node.unicast.manager.address= +nifi.cluster.node.unicast.manager.protocol.port= +nifi.cluster.node.unicast.manager.authority.provider.port= + +# cluster manager properties (only configure for cluster manager) # +nifi.cluster.is.manager=false +nifi.cluster.manager.address= +nifi.cluster.manager.protocol.port= +nifi.cluster.manager.authority.provider.port= +nifi.cluster.manager.authority.provider.threads=10 +nifi.cluster.manager.node.firewall.file= +nifi.cluster.manager.node.event.history.size=10 +nifi.cluster.manager.node.api.connection.timeout=30 sec +nifi.cluster.manager.node.api.read.timeout=30 sec +nifi.cluster.manager.node.api.request.threads=10 +nifi.cluster.manager.flow.retrieval.delay=5 sec +nifi.cluster.manager.protocol.threads=10 +nifi.cluster.manager.safemode.duration=0 sec diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardflowsynchronizerspec.nifi.properties b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardflowsynchronizerspec.nifi.properties new file mode 100644 index 0000000000..a231179722 --- /dev/null +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardflowsynchronizerspec.nifi.properties @@ -0,0 +1,127 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Core Properties # +nifi.flow.configuration.file=./target/standardflowsynchronizerspec/flow.xml.gz +nifi.flow.configuration.archive.dir=./target/standardflowsynchronizerspec/archive/ +nifi.flowcontroller.autoResumeState=true +nifi.flowcontroller.graceful.shutdown.period=10 sec +nifi.flowservice.writedelay.interval=2 sec +nifi.administrative.yield.duration=500 millis + +nifi.reporting.task.configuration.file=./target/standardflowsynchronizerspec/reporting-tasks.xml +nifi.controller.service.configuration.file=./target/standardflowsynchronizerspec/controller-services.xml +nifi.templates.directory=./target/standardflowsynchronizerspec/templates +nifi.ui.banner.text=UI Banner Text +nifi.ui.autorefresh.interval=30 sec +nifi.nar.library.directory=./target/standardflowsynchronizerspec/lib +nifi.nar.working.directory=./target/standardflowsynchronizerspec/work/nar/ + +nifi.state.management.configuration.file=src/test/resources/state-management.xml +nifi.state.management.provider.local=local-provider + +# H2 Settings +nifi.database.directory=./target/standardflowsynchronizerspec/database_repository +nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE + +# FlowFile Repository +nifi.flowfile.repository.directory=./target/standardflowsynchronizerspec/test-repo +nifi.flowfile.repository.partitions=1 +nifi.flowfile.repository.checkpoint.interval=2 mins +nifi.queue.swap.threshold=20000 +nifi.swap.storage.directory=./target/standardflowsynchronizerspec/test-repo/swap +nifi.swap.in.period=5 sec +nifi.swap.in.threads=1 +nifi.swap.out.period=5 sec +nifi.swap.out.threads=4 + +# Content Repository +nifi.content.claim.max.appendable.size=10 MB +nifi.content.claim.max.flow.files=100 +nifi.content.repository.directory.default=./target/standardflowsynchronizerspec/content_repository +nifi.content.repository.archive.enabled=true +nifi.content.repository.archive.max.usage.percentage=95% + +# Provenance Repository Properties +nifi.provenance.repository.storage.directory=./target/standardflowsynchronizerspec/provenance_repository +nifi.provenance.repository.max.storage.time=24 hours +nifi.provenance.repository.max.storage.size=1 GB +nifi.provenance.repository.rollover.time=30 secs +nifi.provenance.repository.rollover.size=100 MB + +# Site to Site properties +nifi.remote.input.socket.port=9990 +nifi.remote.input.secure=true + +# web properties # +nifi.web.war.directory=./target/standardflowsynchronizerspec/lib +nifi.web.http.host= +nifi.web.http.port=8080 +nifi.web.https.host= +nifi.web.https.port= +nifi.web.jetty.working.directory=./target/standardflowsynchronizerspec/work/jetty + +# security properties # +nifi.sensitive.props.key=key +nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL +nifi.sensitive.props.provider=BC + +nifi.security.keystore= +nifi.security.keystoreType= +nifi.security.keystorePasswd= +nifi.security.keyPasswd= +nifi.security.truststore= +nifi.security.truststoreType= +nifi.security.truststorePasswd= +nifi.security.needClientAuth= +nifi.security.user.authorizer= + +# cluster common properties (cluster manager and nodes must have same values) # +nifi.cluster.protocol.heartbeat.interval=5 sec +nifi.cluster.protocol.is.secure=false +nifi.cluster.protocol.socket.timeout=30 sec +nifi.cluster.protocol.connection.handshake.timeout=45 sec +# if multicast is used, then nifi.cluster.protocol.multicast.xxx properties must be configured # +nifi.cluster.protocol.use.multicast=false +nifi.cluster.protocol.multicast.address= +nifi.cluster.protocol.multicast.port= +nifi.cluster.protocol.multicast.service.broadcast.delay=500 ms +nifi.cluster.protocol.multicast.service.locator.attempts=3 +nifi.cluster.protocol.multicast.service.locator.attempts.delay=1 sec + +# cluster node properties (only configure for cluster nodes) # +nifi.cluster.is.node=false +nifi.cluster.node.address= +nifi.cluster.node.protocol.port= +nifi.cluster.node.protocol.threads=2 +# if multicast is not used, nifi.cluster.node.unicast.xxx must have same values as nifi.cluster.manager.xxx # +nifi.cluster.node.unicast.manager.address= +nifi.cluster.node.unicast.manager.protocol.port= +nifi.cluster.node.unicast.manager.authority.provider.port= + +# cluster manager properties (only configure for cluster manager) # +nifi.cluster.is.manager=false +nifi.cluster.manager.address= +nifi.cluster.manager.protocol.port= +nifi.cluster.manager.authority.provider.port= +nifi.cluster.manager.authority.provider.threads=10 +nifi.cluster.manager.node.firewall.file= +nifi.cluster.manager.node.event.history.size=10 +nifi.cluster.manager.node.api.connection.timeout=30 sec +nifi.cluster.manager.node.api.read.timeout=30 sec +nifi.cluster.manager.node.api.request.threads=10 +nifi.cluster.manager.flow.retrieval.delay=5 sec +nifi.cluster.manager.protocol.threads=10 +nifi.cluster.manager.safemode.duration=0 sec diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardprocessschedulertest.nifi.properties b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardprocessschedulertest.nifi.properties new file mode 100644 index 0000000000..1c4d6e79a5 --- /dev/null +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/resources/standardprocessschedulertest.nifi.properties @@ -0,0 +1,127 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Core Properties # +nifi.flow.configuration.file=./target/standardprocessschedulertest/flow.xml.gz +nifi.flow.configuration.archive.dir=./target/standardprocessschedulertest/archive/ +nifi.flowcontroller.autoResumeState=true +nifi.flowcontroller.graceful.shutdown.period=10 sec +nifi.flowservice.writedelay.interval=2 sec +nifi.administrative.yield.duration=500 millis + +nifi.reporting.task.configuration.file=./target/standardprocessschedulertest/reporting-tasks.xml +nifi.controller.service.configuration.file=./target/standardprocessschedulertest/controller-services.xml +nifi.templates.directory=./target/standardprocessschedulertest/templates +nifi.ui.banner.text=UI Banner Text +nifi.ui.autorefresh.interval=30 sec +nifi.nar.library.directory=./target/standardprocessschedulertest/lib +nifi.nar.working.directory=./target/standardprocessschedulertest/work/nar/ + +nifi.state.management.configuration.file=src/test/resources/state-management.xml +nifi.state.management.provider.local=local-provider + +# H2 Settings +nifi.database.directory=./target/standardprocessschedulertest/database_repository +nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE + +# FlowFile Repository +nifi.flowfile.repository.directory=./target/standardprocessschedulertest/test-repo +nifi.flowfile.repository.partitions=1 +nifi.flowfile.repository.checkpoint.interval=2 mins +nifi.queue.swap.threshold=20000 +nifi.swap.storage.directory=./target/standardprocessschedulertest/test-repo/swap +nifi.swap.in.period=5 sec +nifi.swap.in.threads=1 +nifi.swap.out.period=5 sec +nifi.swap.out.threads=4 + +# Content Repository +nifi.content.claim.max.appendable.size=10 MB +nifi.content.claim.max.flow.files=100 +nifi.content.repository.directory.default=./target/standardprocessschedulertest/content_repository +nifi.content.repository.archive.enabled=true +nifi.content.repository.archive.max.usage.percentage=95% + +# Provenance Repository Properties +nifi.provenance.repository.storage.directory=./target/standardprocessschedulertest/provenance_repository +nifi.provenance.repository.max.storage.time=24 hours +nifi.provenance.repository.max.storage.size=1 GB +nifi.provenance.repository.rollover.time=30 secs +nifi.provenance.repository.rollover.size=100 MB + +# Site to Site properties +nifi.remote.input.socket.port=9990 +nifi.remote.input.secure=true + +# web properties # +nifi.web.war.directory=./target/standardprocessschedulertest/lib +nifi.web.http.host= +nifi.web.http.port=8080 +nifi.web.https.host= +nifi.web.https.port= +nifi.web.jetty.working.directory=./target/standardprocessschedulertest/work/jetty + +# security properties # +nifi.sensitive.props.key=key +nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL +nifi.sensitive.props.provider=BC + +nifi.security.keystore= +nifi.security.keystoreType= +nifi.security.keystorePasswd= +nifi.security.keyPasswd= +nifi.security.truststore= +nifi.security.truststoreType= +nifi.security.truststorePasswd= +nifi.security.needClientAuth= +nifi.security.user.authorizer= + +# cluster common properties (cluster manager and nodes must have same values) # +nifi.cluster.protocol.heartbeat.interval=5 sec +nifi.cluster.protocol.is.secure=false +nifi.cluster.protocol.socket.timeout=30 sec +nifi.cluster.protocol.connection.handshake.timeout=45 sec +# if multicast is used, then nifi.cluster.protocol.multicast.xxx properties must be configured # +nifi.cluster.protocol.use.multicast=false +nifi.cluster.protocol.multicast.address= +nifi.cluster.protocol.multicast.port= +nifi.cluster.protocol.multicast.service.broadcast.delay=500 ms +nifi.cluster.protocol.multicast.service.locator.attempts=3 +nifi.cluster.protocol.multicast.service.locator.attempts.delay=1 sec + +# cluster node properties (only configure for cluster nodes) # +nifi.cluster.is.node=false +nifi.cluster.node.address= +nifi.cluster.node.protocol.port= +nifi.cluster.node.protocol.threads=2 +# if multicast is not used, nifi.cluster.node.unicast.xxx must have same values as nifi.cluster.manager.xxx # +nifi.cluster.node.unicast.manager.address= +nifi.cluster.node.unicast.manager.protocol.port= +nifi.cluster.node.unicast.manager.authority.provider.port= + +# cluster manager properties (only configure for cluster manager) # +nifi.cluster.is.manager=false +nifi.cluster.manager.address= +nifi.cluster.manager.protocol.port= +nifi.cluster.manager.authority.provider.port= +nifi.cluster.manager.authority.provider.threads=10 +nifi.cluster.manager.node.firewall.file= +nifi.cluster.manager.node.event.history.size=10 +nifi.cluster.manager.node.api.connection.timeout=30 sec +nifi.cluster.manager.node.api.read.timeout=30 sec +nifi.cluster.manager.node.api.request.threads=10 +nifi.cluster.manager.flow.retrieval.delay=5 sec +nifi.cluster.manager.protocol.threads=10 +nifi.cluster.manager.safemode.duration=0 sec