[nifi-minifi] branch master updated: MINIFI-424 Restructured ConfigTransformer to accept bootstrap properties and created BootstrapTransformer to consolidate future bootstrap use cases
This is an automated email from the ASF dual-hosted git repository. aldrin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi-minifi.git The following commit(s) were added to refs/heads/master by this push: new c6f2340 MINIFI-424 Restructured ConfigTransformer to accept bootstrap properties and created BootstrapTransformer to consolidate future bootstrap use cases c6f2340 is described below commit c6f2340a839efde6fadb68e704c3ee962457bc0a Author: GCHQ-NiFi AuthorDate: Mon Aug 19 19:23:25 2019 +0100 MINIFI-424 Restructured ConfigTransformer to accept bootstrap properties and created BootstrapTransformer to consolidate future bootstrap use cases This closes #167 Signed-off-by: Aldrin Piri --- .../apache/nifi/minifi/bootstrap/RunMiNiFi.java| 156 + .../bootstrap/status/reporters/StatusLogger.java | 2 +- .../bootstrap/util/BootstrapTransformer.java | 91 .../minifi/bootstrap/util/ConfigTransformer.java | 35 + .../nifi/minifi/bootstrap/RunMiNiFiTest.java | 11 +- .../bootstrap/util/ConfigTransformerTest.java | 44 -- .../schema/common/BootstrapPropertyKeys.java | 128 + 7 files changed, 262 insertions(+), 205 deletions(-) diff --git a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java index 93d5f05..5d0951a 100644 --- a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java +++ b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java @@ -23,10 +23,6 @@ import org.apache.nifi.minifi.bootstrap.configuration.ConfigurationChangeExcepti import org.apache.nifi.minifi.bootstrap.configuration.ConfigurationChangeListener; import org.apache.nifi.minifi.bootstrap.status.PeriodicStatusReporter; import org.apache.nifi.minifi.bootstrap.util.ConfigTransformer; -import org.apache.nifi.minifi.commons.schema.ProvenanceReportingSchema; -import org.apache.nifi.minifi.commons.schema.SecurityPropertiesSchema; -import org.apache.nifi.minifi.commons.schema.SensitivePropsSchema; -import org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys; import org.apache.nifi.minifi.commons.status.FlowStatusReport; import org.apache.nifi.util.Tuple; import org.apache.nifi.util.file.FileUtils; @@ -69,7 +65,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.Optional; import java.util.Properties; import java.util.Set; import java.util.concurrent.ExecutorService; @@ -84,11 +79,7 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; -import static org.apache.nifi.minifi.commons.schema.RemoteProcessGroupSchema.TIMEOUT_KEY; -import static org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.COMMENT_KEY; -import static org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.SCHEDULING_PERIOD_KEY; -import static org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.SCHEDULING_STRATEGY_KEY; -import static org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.USE_COMPRESSION_KEY; +import static org.apache.nifi.minifi.commons.schema.common.BootstrapPropertyKeys.STATUS_REPORTER_COMPONENTS_KEY; /** * @@ -137,96 +128,6 @@ public class RunMiNiFi implements QueryableStatusAggregator, ConfigurationFileHo public static final String DUMP_CMD = "DUMP"; public static final String FLOW_STATUS_REPORT_CMD = "FLOW_STATUS_REPORT"; -public static final String NOTIFIER_PROPERTY_PREFIX = "nifi.minifi.notifier"; -public static final String NOTIFIER_COMPONENTS_KEY = NOTIFIER_PROPERTY_PREFIX + ".components"; - -public static final String STATUS_REPORTER_PROPERTY_PREFIX = "nifi.minifi.status.reporter"; -public static final String STATUS_REPORTER_COMPONENTS_KEY = STATUS_REPORTER_PROPERTY_PREFIX + ".components"; - - -public static final String SECURITY_KEYSTORE_KEY = "nifi.minifi.security.keystore"; -public static final String SECURITY_KEYSTORE_TYPE_KEY = "nifi.minifi.security.keystoreType"; -public static final String SECURITY_KEYSTORE_PASSWORD_KEY = "nifi.minifi.security.keystorePasswd"; -public static final String SECURITY_KEY_PASSWORD_KEY = "nifi.minifi.security.keyPasswd"; -public static final String SECURITY_TRUSTSTORE_KEY = "nifi.minifi.security.truststore"; -public static final String SECURITY_TRUSTSTORE_TYPE_KEY = "nifi.minifi.security.truststoreType"; -public static final String SECURITY_TRUSTSTORE_PASSWORD_KEY = "nifi.minifi.security.truststorePasswd"; -public static final String SECURITY_SSL_PROTOCOL_KEY = "nifi.minifi.security.ssl.protocol"; - -public static final String SENSITIVE_PROPS_KEY_KEY =
[nifi] branch master updated: NIFI-6727 Fixed the MockProcessContext decrypt bug and added unit test.
This is an automated email from the ASF dual-hosted git repository. alopresto pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/master by this push: new 39a258d NIFI-6727 Fixed the MockProcessContext decrypt bug and added unit test. 39a258d is described below commit 39a258dc38f9b037bb0ee75c8f9a3da2b12b0946 Author: Alessandro D'Armiento AuthorDate: Sat Sep 28 10:11:23 2019 +0200 NIFI-6727 Fixed the MockProcessContext decrypt bug and added unit test. This closes #3773. Signed-off-by: Andy LoPresto --- .../main/java/org/apache/nifi/util/MockProcessContext.java| 2 +- .../java/org/apache/nifi/util/TestMockProcessContext.java | 11 +++ .../nifi-resources/src/main/resources/conf/logback.xml| 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessContext.java b/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessContext.java index 3e9b7e0..e850bc8 100644 --- a/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessContext.java +++ b/nifi-mock/src/main/java/org/apache/nifi/util/MockProcessContext.java @@ -399,7 +399,7 @@ public class MockProcessContext extends MockControllerServiceLookup implements P @Override public String decrypt(final String encrypted) { if (encrypted.startsWith("enc{") && encrypted.endsWith("}")) { -return encrypted.substring(4, encrypted.length() - 2); +return encrypted.substring(4, encrypted.length() - 1); } return encrypted; } diff --git a/nifi-mock/src/test/java/org/apache/nifi/util/TestMockProcessContext.java b/nifi-mock/src/test/java/org/apache/nifi/util/TestMockProcessContext.java index d48af63..f1137ed 100644 --- a/nifi-mock/src/test/java/org/apache/nifi/util/TestMockProcessContext.java +++ b/nifi-mock/src/test/java/org/apache/nifi/util/TestMockProcessContext.java @@ -75,6 +75,17 @@ public class TestMockProcessContext { assertEquals(2, proc.getUpdateCount(DummyProcessor.DEFAULTED_PROP)); } +@Test +public void testFakeEncryptionAndDecryption() { +final DummyProcessor proc = new DummyProcessor(); +final MockProcessContext context = new MockProcessContext(proc); +String subject = "foo"; +String encrypted = context.encrypt(subject); +assertEquals(encrypted, "enc{foo}"); +String decrypted = context.decrypt(encrypted); +assertEquals(decrypted, subject); +} + private static class DummyProcessor extends AbstractProcessor { static final PropertyDescriptor REQUIRED_PROP = new PropertyDescriptor.Builder() .name("required") diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/conf/logback.xml b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/conf/logback.xml index 03d401a..cc53093 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/conf/logback.xml +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/conf/logback.xml @@ -172,7 +172,7 @@ - +MockProcessContext
[nifi] branch master updated: Revert NIFI-6703 as it creates startup issues or logs a confusing message to the user. Details on JIRA
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/master by this push: new 8abf330 Revert NIFI-6703 as it creates startup issues or logs a confusing message to the user. Details on JIRA 8abf330 is described below commit 8abf330328953022c6506c173a11e12bde1abd64 Author: Joe Witt AuthorDate: Tue Oct 1 15:33:07 2019 -0400 Revert NIFI-6703 as it creates startup issues or logs a confusing message to the user. Details on JIRA This reverts commit 61baa41e7b5a86618e5b8773569c4805867f211b. --- nifi-assembly/pom.xml | 11 - nifi-docker/dockermaven-stateless/Dockerfile | 26 +- .../dockermaven-stateless/integration-test.sh | 46 +++ nifi-docker/dockermaven-stateless/pom.xml | 13 +- .../nifi-resources/src/main/resources/bin/nifi.sh | 23 +- nifi-stateless/README.md | 33 +-- nifi-stateless/nifi-stateless-assembly/LICENSE | 313 + nifi-stateless/nifi-stateless-assembly/NOTICE | 144 ++ .../pom.xml| 119 .../src/main/assembly/dependencies.xml}| 36 ++- .../org/apache/nifi/stateless/NiFiStateless.java | 24 +- nifi-stateless/nifi-stateless-core/pom.xml | 25 -- nifi-stateless/pom.xml | 1 + 13 files changed, 637 insertions(+), 177 deletions(-) diff --git a/nifi-assembly/pom.xml b/nifi-assembly/pom.xml index fb79bb5..8ce38b5 100755 --- a/nifi-assembly/pom.xml +++ b/nifi-assembly/pom.xml @@ -135,17 +135,6 @@ language governing permissions and limitations under the License. --> org.apache.nifi -nifi-stateless-bootstrap -1.10.0-SNAPSHOT - - -org.apache.nifi -nifi-stateless-nar -1.10.0-SNAPSHOT -nar - - -org.apache.nifi nifi-provenance-repository-nar 1.10.0-SNAPSHOT nar diff --git a/nifi-docker/dockermaven-stateless/Dockerfile b/nifi-docker/dockermaven-stateless/Dockerfile index 536329d..9dece1f 100644 --- a/nifi-docker/dockermaven-stateless/Dockerfile +++ b/nifi-docker/dockermaven-stateless/Dockerfile @@ -23,20 +23,36 @@ LABEL maintainer="Apache NiFi " ARG UID=1000 ARG GID=1000 ARG NIFI_VERSION -ARG LIB_DIR +ARG STATELESS_LIB_DIR ARG WORKING_DIR ENV NIFI_BASE_DIR /opt/nifi ENV NIFI_HOME ${NIFI_BASE_DIR}/nifi-current + +#Use Maven-Ant until Docker squash is stable +#COPY $NIFI_BINARY $NIFI_BASE_DIR +#RUN unzip ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.zip -d ${NIFI_BASE_DIR} \ +#&& rm ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION}-bin.zip \ +#&& mv ${NIFI_BASE_DIR}/nifi-${NIFI_VERSION} ${NIFI_HOME} +# +#COPY $NIFI_STATELESS_BINARY $NIFI_BASE_DIR +#RUN unzip ${NIFI_BASE_DIR}/nifi-stateless-${NIFI_VERSION}-bin.zip -d ${NIFI_BASE_DIR} \ +#&& rm ${NIFI_BASE_DIR}/nifi-stateless-${NIFI_VERSION}-bin.zip \ +#&& mv ${NIFI_BASE_DIR}/nifi-stateless-${NIFI_VERSION}/lib ${NIFI_HOME}/stateless-lib \ +#&& rm -r ${NIFI_BASE_DIR}/nifi-stateless-${NIFI_VERSION} +# +#RUN java -cp "${NIFI_HOME}/stateless-lib/*" org.apache.nifi.stateless.NiFiStateless ExtractNars +#RUN rm -r ${NIFI_HOME}/lib + # Setup NiFi user RUN addgroup -g ${GID} nifi && adduser -s /bin/sh -u ${UID} -G nifi -D nifi RUN mkdir -p $NIFI_HOME && chown nifi:nifi $NIFI_HOME -RUN mkdir -p ${NIFI_HOME}/work/stateless-nars && chown nifi:nifi ${NIFI_HOME}/work/stateless-nars && chmod 777 ${NIFI_HOME}/work/stateless-nars +RUN mkdir -p ${NIFI_HOME}/work/ && chown nifi:nifi ${NIFI_HOME}/work/ && chmod 777 ${NIFI_HOME}/work/ -COPY --chown=nifi:nifi $WORKING_DIR ${NIFI_HOME}/work -COPY --chown=nifi:nifi $LIB_DIR ${NIFI_HOME}/lib/ +COPY --chown=nifi:nifi $WORKING_DIR ${NIFI_HOME}/work/ +COPY --chown=nifi:nifi $STATELESS_LIB_DIR ${NIFI_HOME}/stateless-lib/ #NiFi's HDFS processors require core-site.xml or hdfs-site.xml to exist on disk before they can be started... @@ -59,5 +75,5 @@ EXPOSE 8080 WORKDIR ${NIFI_HOME} -ENTRYPOINT ["/usr/bin/java", "-cp", "lib/*", "org.apache.nifi.stateless.NiFiStateless"] +ENTRYPOINT ["/usr/bin/java", "-cp", "stateless-lib/*", "org.apache.nifi.stateless.NiFiStateless"] CMD ["RunOpenwhiskActionServer", "8080"] \ No newline at end of file diff --git a/nifi-docker/dockermaven-stateless/integration-test.sh b/nifi-docker/dockermaven-stateless/integration-test.sh new file mode 100755 index 000..c5c0f7c --- /dev/null +++ b/nifi-docker/dockermaven-stateless/integration-test.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +#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
[nifi] branch master updated (6541eac -> c2746fa)
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git. from 6541eac NIFI-6598 Storing peers into managed-state - Fixed checkstyle errors. - Added PeerPersistence interface. - Expose RemoteProcessGroup state via REST API - Made stateManager transient. new c0de26b NIFI-4573 Catch exceptions during flow content migration. new c2746fa NIFI-4573 This closes #3460. Refactored logic handling flow XML encryption migration. Added unit tests. The 2 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/properties/ConfigEncryptionTool.groovy| 104 - .../properties/ConfigEncryptionToolTest.groovy | 97 +++ .../nifi/toolkit/tls/commandLine/ExitCode.java | 7 +- 3 files changed, 164 insertions(+), 44 deletions(-)
[nifi] 01/02: NIFI-4573 Catch exceptions during flow content migration.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git commit c0de26b8d6ee99212659e1a58f46fb7956636a93 Author: Troy Melhase AuthorDate: Wed Apr 24 17:47:53 2019 -0800 NIFI-4573 Catch exceptions during flow content migration. --- .../org/apache/nifi/properties/ConfigEncryptionTool.groovy | 9 - .../java/org/apache/nifi/toolkit/tls/commandLine/ExitCode.java | 7 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/nifi-toolkit/nifi-toolkit-encrypt-config/src/main/groovy/org/apache/nifi/properties/ConfigEncryptionTool.groovy b/nifi-toolkit/nifi-toolkit-encrypt-config/src/main/groovy/org/apache/nifi/properties/ConfigEncryptionTool.groovy index 327735b..b20399d 100644 --- a/nifi-toolkit/nifi-toolkit-encrypt-config/src/main/groovy/org/apache/nifi/properties/ConfigEncryptionTool.groovy +++ b/nifi-toolkit/nifi-toolkit-encrypt-config/src/main/groovy/org/apache/nifi/properties/ConfigEncryptionTool.groovy @@ -1556,7 +1556,14 @@ class ConfigEncryptionTool { String newAlgorithm = tool.newFlowAlgorithm ?: existingAlgorithm String newProvider = tool.newFlowProvider ?: existingProvider -tool.flowXml = tool.migrateFlowXmlContent(tool.flowXml, existingFlowPassword, newFlowPassword, existingAlgorithm, existingProvider, newAlgorithm, newProvider) +try { +tool.flowXml = tool.migrateFlowXmlContent(tool.flowXml, existingFlowPassword, newFlowPassword, existingAlgorithm, existingProvider, newAlgorithm, newProvider) +} catch (Exception e) { +if (tool.isVerbose) { +logger.error("Encountered an error", e, "Check your password?") +} +tool.printUsageAndThrow("Encountered an error migrating flow content", ExitCode.ERROR_MIGRATING_FLOW) +} // If the new key is the hard-coded internal value, don't persist it to nifi.properties if (newFlowPassword != DEFAULT_NIFI_SENSITIVE_PROPS_KEY && newFlowPassword != existingFlowPassword) { diff --git a/nifi-toolkit/nifi-toolkit-tls/src/main/java/org/apache/nifi/toolkit/tls/commandLine/ExitCode.java b/nifi-toolkit/nifi-toolkit-tls/src/main/java/org/apache/nifi/toolkit/tls/commandLine/ExitCode.java index 234faf0..8456179 100644 --- a/nifi-toolkit/nifi-toolkit-tls/src/main/java/org/apache/nifi/toolkit/tls/commandLine/ExitCode.java +++ b/nifi-toolkit/nifi-toolkit-tls/src/main/java/org/apache/nifi/toolkit/tls/commandLine/ExitCode.java @@ -74,5 +74,10 @@ public enum ExitCode { /** * Unable to read existing configuration value or file */ -ERROR_READING_CONFIG +ERROR_READING_CONFIG, + +/** + * Unable to migrate flow content + */ +ERROR_MIGRATING_FLOW }
[nifi] 02/02: NIFI-4573 This closes #3460. Refactored logic handling flow XML encryption migration. Added unit tests.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git commit c2746fac5ff210a56704bf5ffe278359b9c85b54 Author: Andy LoPresto AuthorDate: Thu May 2 18:53:03 2019 -0700 NIFI-4573 This closes #3460. Refactored logic handling flow XML encryption migration. Added unit tests. Signed-off-by: Joe Witt --- .../nifi/properties/ConfigEncryptionTool.groovy| 109 - .../properties/ConfigEncryptionToolTest.groovy | 97 ++ 2 files changed, 157 insertions(+), 49 deletions(-) diff --git a/nifi-toolkit/nifi-toolkit-encrypt-config/src/main/groovy/org/apache/nifi/properties/ConfigEncryptionTool.groovy b/nifi-toolkit/nifi-toolkit-encrypt-config/src/main/groovy/org/apache/nifi/properties/ConfigEncryptionTool.groovy index b20399d..7c9164b 100644 --- a/nifi-toolkit/nifi-toolkit-encrypt-config/src/main/groovy/org/apache/nifi/properties/ConfigEncryptionTool.groovy +++ b/nifi-toolkit/nifi-toolkit-encrypt-config/src/main/groovy/org/apache/nifi/properties/ConfigEncryptionTool.groovy @@ -39,6 +39,7 @@ import org.slf4j.Logger import org.slf4j.LoggerFactory import org.xml.sax.SAXException +import javax.crypto.BadPaddingException import javax.crypto.Cipher import javax.crypto.SecretKey import javax.crypto.SecretKeyFactory @@ -1536,58 +1537,12 @@ class ConfigEncryptionTool { try { tool.flowXml = tool.loadFlowXml() } catch (Exception e) { -tool.printUsageAndThrow("Cannot load flow.xml.gz", ExitCode.ERROR_READING_NIFI_PROPERTIES) -} - -// If the flow password was not set in nifi.properties, use the hard-coded default -String existingFlowPassword = tool.getExistingFlowPassword() - -// If the new password was not provided in the arguments, read from the console. If that is empty, use the same value (essentially a copy no-op) -String newFlowPassword = tool.flowPropertiesPassword ?: tool.getFlowPassword() -if (!newFlowPassword) { -newFlowPassword = existingFlowPassword -} - -// Get the algorithms and providers -NiFiProperties nfp = tool.niFiProperties -String existingAlgorithm = nfp?.getProperty(NiFiProperties.SENSITIVE_PROPS_ALGORITHM) ?: DEFAULT_FLOW_ALGORITHM -String existingProvider = nfp?.getProperty(NiFiProperties.SENSITIVE_PROPS_PROVIDER) ?: DEFAULT_PROVIDER - -String newAlgorithm = tool.newFlowAlgorithm ?: existingAlgorithm -String newProvider = tool.newFlowProvider ?: existingProvider - -try { -tool.flowXml = tool.migrateFlowXmlContent(tool.flowXml, existingFlowPassword, newFlowPassword, existingAlgorithm, existingProvider, newAlgorithm, newProvider) -} catch (Exception e) { if (tool.isVerbose) { -logger.error("Encountered an error", e, "Check your password?") +logger.error("Encountered an error: ", e) } -tool.printUsageAndThrow("Encountered an error migrating flow content", ExitCode.ERROR_MIGRATING_FLOW) -} - -// If the new key is the hard-coded internal value, don't persist it to nifi.properties -if (newFlowPassword != DEFAULT_NIFI_SENSITIVE_PROPS_KEY && newFlowPassword != existingFlowPassword) { -// Update the NiFiProperties object with the new flow password before it gets encrypted (wasteful, but NiFiProperties instances are immutable) -Properties rawProperties = new Properties() -nfp.getPropertyKeys().each { String k -> -rawProperties.put(k, nfp.getProperty(k)) -} - -// If the tool is not going to encrypt NiFiProperties and the existing file is already encrypted, encrypt and update the new sensitive props key -if (!tool.handlingNiFiProperties && existingNiFiPropertiesAreEncrypted) { -AESSensitivePropertyProvider spp = new AESSensitivePropertyProvider(tool.keyHex) -String encryptedSPK = spp.protect(newFlowPassword) - rawProperties.put(NiFiProperties.SENSITIVE_PROPS_KEY, encryptedSPK) -// Manually update the protection scheme or it will be lost - rawProperties.put(ProtectedNiFiProperties.getProtectionKey(NiFiProperties.SENSITIVE_PROPS_KEY), spp.getIdentifierKey()) -if
[nifi] branch master updated: NIFI-6598 Storing peers into managed-state - Fixed checkstyle errors. - Added PeerPersistence interface. - Expose RemoteProcessGroup state via REST API - Made stateManage
This is an automated email from the ASF dual-hosted git repository. bbende pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/master by this push: new 6541eac NIFI-6598 Storing peers into managed-state - Fixed checkstyle errors. - Added PeerPersistence interface. - Expose RemoteProcessGroup state via REST API - Made stateManager transient. 6541eac is described below commit 6541eac625ff1d721867152d728c53483eab822a Author: Koji Kawamura AuthorDate: Tue Aug 27 16:53:02 2019 +0900 NIFI-6598 Storing peers into managed-state - Fixed checkstyle errors. - Added PeerPersistence interface. - Expose RemoteProcessGroup state via REST API - Made stateManager transient. This closes #3677. Signed-off-by: Bryan Bende --- .../java/org/apache/nifi/util/NiFiProperties.java | 12 -- .../remote/client/AbstractPeerPersistence.java | 93 +++ .../nifi/remote/client/FilePeerPersistence.java| 55 + .../PeerPersistence.java} | 28 + .../apache/nifi/remote/client/PeerSelector.java| 100 +--- .../nifi/remote/client/PeerStatusProvider.java | 7 ++ .../nifi/remote/client/SiteToSiteClient.java | 54 - .../nifi/remote/client/SiteToSiteClientConfig.java | 11 ++ .../nifi/remote/client/StatePeerPersistence.java | 65 +++ .../apache/nifi/remote/client/http/HttpClient.java | 8 +- .../client/socket/EndpointConnectionPool.java | 15 ++- .../nifi/remote/client/socket/SocketClient.java| 2 +- .../apache/nifi/remote/util/PeerStatusCache.java | 14 ++- .../nifi/remote/client/TestPeerSelector.java | 128 + .../remote/client/socket/TestSiteToSiteClient.java | 38 +- .../org/apache/nifi/groups/RemoteProcessGroup.java | 3 + .../nifi/controller/flow/StandardFlowManager.java | 4 +- .../apache/nifi/groups/StandardProcessGroup.java | 8 ++ .../nifi/remote/StandardRemoteProcessGroup.java| 22 ++-- .../nifi/remote/StandardRemoteGroupPort.java | 9 +- .../org/apache/nifi/web/NiFiServiceFacade.java | 8 ++ .../apache/nifi/web/StandardNiFiServiceFacade.java | 10 ++ .../nifi/web/api/RemoteProcessGroupResource.java | 57 + .../org/apache/nifi/web/dao/ComponentStateDAO.java | 10 ++ .../apache/nifi/web/dao/RemoteProcessGroupDAO.java | 10 ++ .../web/dao/impl/StandardComponentStateDAO.java| 6 + .../dao/impl/StandardRemoteProcessGroupDAO.java| 14 +++ .../src/main/resources/nifi-web-api-context.xml| 1 + 28 files changed, 652 insertions(+), 140 deletions(-) diff --git a/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java b/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java index afcd268..0315fdf 100644 --- a/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java +++ b/nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java @@ -77,7 +77,6 @@ public abstract class NiFiProperties { public static final String REMOTE_CONTENTS_CACHE_EXPIRATION = "nifi.remote.contents.cache.expiration"; public static final String TEMPLATE_DIRECTORY = "nifi.templates.directory"; public static final String ADMINISTRATIVE_YIELD_DURATION = "nifi.administrative.yield.duration"; -public static final String PERSISTENT_STATE_DIRECTORY = "nifi.persistent.state.directory"; public static final String BORED_YIELD_DURATION = "nifi.bored.yield.duration"; public static final String PROCESSOR_SCHEDULING_TIMEOUT = "nifi.processor.scheduling.timeout"; public static final String BACKPRESSURE_COUNT = "nifi.queue.backpressure.count"; @@ -272,7 +271,6 @@ public abstract class NiFiProperties { public static final long DEFAULT_BACKPRESSURE_COUNT = 10_000L; public static final String DEFAULT_BACKPRESSURE_SIZE = "1 GB"; public static final String DEFAULT_ADMINISTRATIVE_YIELD_DURATION = "30 sec"; -public static final String DEFAULT_PERSISTENT_STATE_DIRECTORY = "./conf/state"; public static final String DEFAULT_COMPONENT_STATUS_SNAPSHOT_FREQUENCY = "5 mins"; public static final String DEFAULT_BORED_YIELD_DURATION = "10 millis"; public static final String DEFAULT_ZOOKEEPER_CONNECT_TIMEOUT = "3 secs"; @@ -729,16 +727,6 @@ public abstract class NiFiProperties { DEFAULT_CLUSTER_NODE_CONNECTION_TIMEOUT); } -public File getPersistentStateDirectory() { -final String dirName = getProperty(PERSISTENT_STATE_DIRECTORY, -DEFAULT_PERSISTENT_STATE_DIRECTORY); -final File file = new File(dirName); -if (!file.exists()) { -file.mkdirs(); -} -return file; -} - // getters for cluster node properties // public boolean isNode() { return
[nifi-minifi] branch master updated: MINIFI-513 Clear secret key when auto restarting in order to obtain new secret key from the MiNiFi process
This is an automated email from the ASF dual-hosted git repository. aldrin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nifi-minifi.git The following commit(s) were added to refs/heads/master by this push: new 6ba6ce4 MINIFI-513 Clear secret key when auto restarting in order to obtain new secret key from the MiNiFi process 6ba6ce4 is described below commit 6ba6ce474ff6a93b4a337ea5ec1684313c7c3f59 Author: Bryan Bende AuthorDate: Mon Sep 30 15:09:08 2019 -0400 MINIFI-513 Clear secret key when auto restarting in order to obtain new secret key from the MiNiFi process This closes #172. Signed-off-by: Aldrin Piri --- .../src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java| 1 + 1 file changed, 1 insertion(+) diff --git a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java index 2fb4e0b..93d5f05 100644 --- a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java +++ b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java @@ -1388,6 +1388,7 @@ public class RunMiNiFi implements QueryableStatusAggregator, ConfigurationFileHo setNiFiStarted(false); } +secretKey = null; process = builder.start(); handleLogging(process);