(nifi) branch main updated: NIFI-13352 Adjusted Shutdown handling in ListenOTLP and Test Class This closes #8913
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 ab2cea4c22 NIFI-13352 Adjusted Shutdown handling in ListenOTLP and Test Class This closes #8913 ab2cea4c22 is described below commit ab2cea4c229f71ff9c967cb36e70328b3027fa57 Author: exceptionfactory AuthorDate: Mon Jun 3 16:10:23 2024 -0500 NIFI-13352 Adjusted Shutdown handling in ListenOTLP and Test Class This closes #8913 - Added quick duration for shutdown quiet period in ListenOTLP HttpServerFactory - Added TestRunner.stop() to ListenOTLPTest to close listening sockets - Increased Connect Timeout from 5 to 10 seconds in ListenOTLPTest Signed-off-by: Joseph Witt --- .../nifi/processors/opentelemetry/server/HttpServerFactory.java | 5 + .../org/apache/nifi/processors/opentelemetry/ListenOTLPTest.java | 8 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/nifi-extension-bundles/nifi-opentelemetry-bundle/nifi-opentelemetry-processors/src/main/java/org/apache/nifi/processors/opentelemetry/server/HttpServerFactory.java b/nifi-extension-bundles/nifi-opentelemetry-bundle/nifi-opentelemetry-processors/src/main/java/org/apache/nifi/processors/opentelemetry/server/HttpServerFactory.java index 48ef1f97db..3cf206eb97 100644 --- a/nifi-extension-bundles/nifi-opentelemetry-bundle/nifi-opentelemetry-processors/src/main/java/org/apache/nifi/processors/opentelemetry/server/HttpServerFactory.java +++ b/nifi-extension-bundles/nifi-opentelemetry-bundle/nifi-opentelemetry-processors/src/main/java/org/apache/nifi/processors/opentelemetry/server/HttpServerFactory.java @@ -20,6 +20,8 @@ import com.google.protobuf.Message; import io.netty.handler.codec.http2.Http2SecurityUtil; import io.netty.handler.ssl.ApplicationProtocolNames; import io.netty.handler.ssl.SupportedCipherSuiteFilter; +import org.apache.nifi.event.transport.configuration.ShutdownQuietPeriod; +import org.apache.nifi.event.transport.configuration.ShutdownTimeout; import org.apache.nifi.event.transport.configuration.TransportProtocol; import org.apache.nifi.event.transport.netty.NettyEventServerFactory; import org.apache.nifi.event.transport.netty.channel.LogExceptionChannelHandler; @@ -55,6 +57,9 @@ public class HttpServerFactory extends NettyEventServerFactory { new HttpProtocolNegotiationHandler(log, messages), logExceptionChannelHandler )); + +setShutdownQuietPeriod(ShutdownQuietPeriod.QUICK.getDuration()); +setShutdownTimeout(ShutdownTimeout.QUICK.getDuration()); } private SSLParameters getApplicationSslParameters(final SSLContext sslContext) { diff --git a/nifi-extension-bundles/nifi-opentelemetry-bundle/nifi-opentelemetry-processors/src/test/java/org/apache/nifi/processors/opentelemetry/ListenOTLPTest.java b/nifi-extension-bundles/nifi-opentelemetry-bundle/nifi-opentelemetry-processors/src/test/java/org/apache/nifi/processors/opentelemetry/ListenOTLPTest.java index cdee2ef8fc..15cdb560aa 100644 --- a/nifi-extension-bundles/nifi-opentelemetry-bundle/nifi-opentelemetry-processors/src/test/java/org/apache/nifi/processors/opentelemetry/ListenOTLPTest.java +++ b/nifi-extension-bundles/nifi-opentelemetry-bundle/nifi-opentelemetry-processors/src/test/java/org/apache/nifi/processors/opentelemetry/ListenOTLPTest.java @@ -45,6 +45,7 @@ import org.apache.nifi.web.client.api.HttpResponseEntity; import org.apache.nifi.web.client.api.HttpResponseStatus; import org.apache.nifi.web.client.api.WebClientService; import org.apache.nifi.web.client.ssl.TlsContext; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -125,7 +126,7 @@ class ListenOTLPTest { private static final byte[] EMPTY_BYTES = new byte[]{}; -private static final Duration CONNECT_TIMEOUT = Duration.ofSeconds(5); +private static final Duration CONNECT_TIMEOUT = Duration.ofSeconds(10); private static final Duration READ_TIMEOUT = Duration.ofSeconds(5); @@ -205,6 +206,11 @@ class ListenOTLPTest { webClientService = standardWebClientService; } +@AfterEach +void stopRunner() { +runner.stop(); +} + @Test void testRequiredProperties() throws InitializationException { runner.assertNotValid();
(nifi) branch main updated: NIFI-13305 Upgraded HBase from 2.5.8 to 2.6.0 This closes 8886
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 68630b64c1 NIFI-13305 Upgraded HBase from 2.5.8 to 2.6.0 This closes 8886 68630b64c1 is described below commit 68630b64c1b98a1237b0ce3a56ff73b93e92e1e9 Author: exceptionfactory AuthorDate: Tue May 28 10:16:11 2024 -0500 NIFI-13305 Upgraded HBase from 2.5.8 to 2.6.0 This closes 8886 - Removed unnecessary transitive dependency overrides Signed-off-by: Joseph Witt --- .../nifi-hbase_2-client-service-bundle/pom.xml | 25 +- 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/nifi-extension-bundles/nifi-standard-services/nifi-hbase_2-client-service-bundle/pom.xml b/nifi-extension-bundles/nifi-standard-services/nifi-hbase_2-client-service-bundle/pom.xml index 286376e671..aca5434003 100644 --- a/nifi-extension-bundles/nifi-standard-services/nifi-hbase_2-client-service-bundle/pom.xml +++ b/nifi-extension-bundles/nifi-standard-services/nifi-hbase_2-client-service-bundle/pom.xml @@ -24,7 +24,7 @@ nifi-hbase_2-client-service-bundle pom -2.5.8-hadoop3 +2.6.0-hadoop3 nifi-hbase_2-client-service @@ -46,29 +46,6 @@ - -io.netty -netty -${netty.3.version} - - - -commons-beanutils -commons-beanutils -1.9.4 - - - -com.nimbusds -nimbus-jose-jwt -9.37.3 - - - -com.fasterxml.woodstox -woodstox-core -5.4.0 - com.google.guava
(nifi) branch support/nifi-1.x updated: NIFI-13294 Deprecated Apache Knox SSO Authentication This closes #8875.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new f70ed77ada NIFI-13294 Deprecated Apache Knox SSO Authentication This closes #8875. f70ed77ada is described below commit f70ed77adac43c9b173492166645f586378b2497 Author: exceptionfactory AuthorDate: Fri May 24 14:23:46 2024 -0500 NIFI-13294 Deprecated Apache Knox SSO Authentication This closes #8875. Signed-off-by: Joseph Witt --- nifi-docs/src/main/asciidoc/administration-guide.adoc | 2 ++ .../nifi-framework/nifi-web/nifi-web-security/pom.xml | 4 .../configuration/KnoxAuthenticationSecurityConfiguration.java| 8 3 files changed, 14 insertions(+) diff --git a/nifi-docs/src/main/asciidoc/administration-guide.adoc b/nifi-docs/src/main/asciidoc/administration-guide.adoc index 754da60156..d09440539f 100644 --- a/nifi-docs/src/main/asciidoc/administration-guide.adoc +++ b/nifi-docs/src/main/asciidoc/administration-guide.adoc @@ -610,6 +610,8 @@ SAML authentication enables the following REST API resources for integration wit [[apache_knox]] === Apache Knox +NOTE: Support for Apache Knox Single Sign-On is deprecated for removal in NiFi 2. + To enable authentication via Apache Knox the following properties must be configured in _nifi.properties_. [options="header"] diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml index 1a198c4cbf..1a5bd665d8 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/pom.xml @@ -173,6 +173,10 @@ org.apache.nifi nifi-property-protection-loader + +org.apache.nifi +nifi-deprecation-log + org.bouncycastle bcprov-jdk18on diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/main/java/org/apache/nifi/web/security/configuration/KnoxAuthenticationSecurityConfiguration.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/main/java/org/apache/nifi/web/security/configuration/KnoxAuthenticationSecurityConfiguration.java index da01fecfab..1ea05c7812 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/main/java/org/apache/nifi/web/security/configuration/KnoxAuthenticationSecurityConfiguration.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/main/java/org/apache/nifi/web/security/configuration/KnoxAuthenticationSecurityConfiguration.java @@ -17,6 +17,8 @@ package org.apache.nifi.web.security.configuration; import org.apache.nifi.authorization.Authorizer; +import org.apache.nifi.deprecation.log.DeprecationLogger; +import org.apache.nifi.deprecation.log.DeprecationLoggerFactory; import org.apache.nifi.util.NiFiProperties; import org.apache.nifi.web.security.knox.KnoxAuthenticationFilter; import org.apache.nifi.web.security.knox.KnoxAuthenticationProvider; @@ -32,6 +34,8 @@ import org.springframework.security.authentication.AuthenticationManager; */ @Configuration public class KnoxAuthenticationSecurityConfiguration { +private static final DeprecationLogger deprecationLogger = DeprecationLoggerFactory.getLogger(KnoxAuthenticationSecurityConfiguration.class); + private final NiFiProperties niFiProperties; private final Authorizer authorizer; @@ -43,6 +47,10 @@ public class KnoxAuthenticationSecurityConfiguration { ) { this.niFiProperties = niFiProperties; this.authorizer = authorizer; + +if (niFiProperties.isKnoxSsoEnabled()) { +deprecationLogger.warn("Support for Apache Knox Single Sign-On authentication is deprecated for removal in NiFi 2"); +} } @Bean
(nifi) branch main updated: NIFI-13295 Removed Apache Knox SSO Authentication This closes #8876
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 fa8dc4f1a0 NIFI-13295 Removed Apache Knox SSO Authentication This closes #8876 fa8dc4f1a0 is described below commit fa8dc4f1a0c56bcb3c006defef52775d9fb9db71 Author: exceptionfactory AuthorDate: Fri May 24 13:44:31 2024 -0500 NIFI-13295 Removed Apache Knox SSO Authentication This closes #8876 Signed-off-by: Joseph Witt --- .../java/org/apache/nifi/util/NiFiProperties.java | 60 - .../src/main/asciidoc/administration-guide.adoc| 18 -- .../replication/ThreadPoolRequestReplicator.java | 5 - .../nifi-framework/nifi-resources/pom.xml | 6 - .../src/main/resources/conf/nifi.properties| 6 - .../org/apache/nifi/web/server/JettyServer.java| 2 - .../org/apache/nifi/web/api/AccessResource.java| 76 --- .../src/main/resources/nifi-web-api-context.xml| 1 - .../AuthenticationSecurityConfiguration.java | 1 - .../KnoxAuthenticationSecurityConfiguration.java | 67 -- .../configuration/WebSecurityConfiguration.java| 8 - .../security/knox/KnoxAuthenticationFilter.java| 71 -- .../security/knox/KnoxAuthenticationProvider.java | 68 -- .../knox/KnoxAuthenticationRequestToken.java | 59 - .../nifi/web/security/knox/KnoxConfiguration.java | 33 --- .../apache/nifi/web/security/knox/KnoxService.java | 244 - .../web/security/knox/KnoxServiceFactoryBean.java | 56 - .../security/knox/StandardKnoxConfiguration.java | 73 -- .../knox/KnoxAuthenticationFilterTest.java | 104 - .../nifi/web/security/knox/KnoxServiceTest.java| 212 -- .../org/apache/nifi/web/filter/LoginFilter.java| 8 +- .../org/apache/nifi/web/filter/LogoutFilter.java | 5 - .../resources/conf/clustered/node1/nifi.properties | 6 - .../resources/conf/clustered/node2/nifi.properties | 6 - .../test/resources/conf/default/nifi.properties| 6 - .../test/resources/conf/pythonic/nifi.properties | 6 - 26 files changed, 1 insertion(+), 1206 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 4b4bb77d8d..54866a4e39 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 @@ -39,7 +39,6 @@ import java.util.Map; import java.util.Properties; import java.util.Set; import java.util.stream.Collectors; -import java.util.stream.Stream; /** * The NiFiProperties class holds all properties which are needed for various @@ -181,12 +180,6 @@ public class NiFiProperties extends ApplicationProperties { public static final String SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER = "nifi.security.user.oidc.fallback.claims.identifying.user"; public static final String SECURITY_USER_OIDC_TOKEN_REFRESH_WINDOW = "nifi.security.user.oidc.token.refresh.window"; -// apache knox -public static final String SECURITY_USER_KNOX_URL = "nifi.security.user.knox.url"; -public static final String SECURITY_USER_KNOX_PUBLIC_KEY = "nifi.security.user.knox.publicKey"; -public static final String SECURITY_USER_KNOX_COOKIE_NAME = "nifi.security.user.knox.cookieName"; -public static final String SECURITY_USER_KNOX_AUDIENCES = "nifi.security.user.knox.audiences"; - // saml public static final String SECURITY_USER_SAML_IDP_METADATA_URL = "nifi.security.user.saml.idp.metadata.url"; public static final String SECURITY_USER_SAML_SP_ENTITY_ID = "nifi.security.user.saml.sp.entity.id"; @@ -1149,57 +1142,6 @@ public class NiFiProperties extends ApplicationProperties { return getProperty(DIAGNOSTICS_ON_SHUTDOWN_MAX_DIRECTORY_SIZE, DEFAULT_DIAGNOSTICS_ON_SHUTDOWN_MAX_DIRECTORY_SIZE); } -/** - * Returns whether Knox SSO is enabled. - * - * @return whether Knox SSO is enabled - */ -public boolean isKnoxSsoEnabled() { -return !StringUtils.isBlank(getKnoxUrl()); -} - -/** - * Returns the Knox URL. - * - * @return Knox URL - */ -public String getKnoxUrl() { -return getProperty(SECURITY_USER_KNOX_URL); -} - -/** - * Gets the configured Knox Audiences. - * - * @return Knox audiences - */ -public Set getKnoxAudiences() { -final String rawAudiences = getProperty(SECURITY_USER_KNOX_AUDIENCES); -if (StringUtils.isBlank(rawAudiences)) { -return null; -} else { -final String[] audienceTok
(nifi) branch support/nifi-1.x updated: NIFI-13296 Deprecated Kerberos SPNEGO Authentication This closes #8878.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 6fd7fd96c7 NIFI-13296 Deprecated Kerberos SPNEGO Authentication This closes #8878. 6fd7fd96c7 is described below commit 6fd7fd96c7a3fa9e87746dc7ca48eb97e369bff2 Author: exceptionfactory AuthorDate: Fri May 24 16:20:51 2024 -0500 NIFI-13296 Deprecated Kerberos SPNEGO Authentication This closes #8878. Signed-off-by: Joseph Witt --- nifi-docs/src/main/asciidoc/administration-guide.adoc | 3 +++ .../KerberosAuthenticationSecurityConfiguration.java | 8 2 files changed, 11 insertions(+) diff --git a/nifi-docs/src/main/asciidoc/administration-guide.adoc b/nifi-docs/src/main/asciidoc/administration-guide.adoc index dc9819aab1..754da60156 100644 --- a/nifi-docs/src/main/asciidoc/administration-guide.adoc +++ b/nifi-docs/src/main/asciidoc/administration-guide.adoc @@ -3308,6 +3308,9 @@ supports different strategies, including *cookie* and *route* options. [[kerberos_service]] == Kerberos Service + +NOTE: Support for Kerberos SPNEGO authentication is deprecated for removal in NiFi 2. + NiFi can be configured to use Kerberos SPNEGO (or "Kerberos Service") for authentication. In this scenario, users will hit the REST endpoint `/access/kerberos` and the server will respond with a `401` status code and the challenge response header `WWW-Authenticate: Negotiate`. This communicates to the browser to use the GSS-API and load the user's Kerberos ticket and provide it as a Base64-encoded header value in the subsequent request. It will be of the form `Authorization: Negotiate YI [...] NiFi will only respond to Kerberos SPNEGO negotiation over an HTTPS connection, as unsecured requests are never authenticated. diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/main/java/org/apache/nifi/web/security/configuration/KerberosAuthenticationSecurityConfiguration.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/main/java/org/apache/nifi/web/security/configuration/KerberosAuthenticationSecurityConfiguration.java index 5c07df4899..3f8f3f5e47 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/main/java/org/apache/nifi/web/security/configuration/KerberosAuthenticationSecurityConfiguration.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/main/java/org/apache/nifi/web/security/configuration/KerberosAuthenticationSecurityConfiguration.java @@ -16,6 +16,8 @@ */ package org.apache.nifi.web.security.configuration; +import org.apache.nifi.deprecation.log.DeprecationLogger; +import org.apache.nifi.deprecation.log.DeprecationLoggerFactory; import org.apache.nifi.util.NiFiProperties; import org.apache.nifi.web.security.kerberos.KerberosService; import org.apache.nifi.web.security.spring.KerberosServiceFactoryBean; @@ -28,6 +30,8 @@ import org.springframework.context.annotation.Configuration; */ @Configuration public class KerberosAuthenticationSecurityConfiguration { +private static final DeprecationLogger deprecationLogger = DeprecationLoggerFactory.getLogger(KerberosAuthenticationSecurityConfiguration.class); + private final NiFiProperties niFiProperties; @Autowired @@ -35,6 +39,10 @@ public class KerberosAuthenticationSecurityConfiguration { final NiFiProperties niFiProperties ) { this.niFiProperties = niFiProperties; + +if (niFiProperties.isKerberosSpnegoSupportEnabled()) { +deprecationLogger.warn("Support for Kerberos SPNEGO authentication is deprecated for removal in NiFi 2"); +} } @Bean
(nifi) branch main updated: NIFI-13297 Removed Kerberos SPENGO Authentication This closes #8879
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 43cc2b4aaa NIFI-13297 Removed Kerberos SPENGO Authentication This closes #8879 43cc2b4aaa is described below commit 43cc2b4aaadd2f3689b5f4b48fa8b43ceddb4579 Author: exceptionfactory AuthorDate: Fri May 24 15:58:36 2024 -0500 NIFI-13297 Removed Kerberos SPENGO Authentication This closes #8879 Signed-off-by: Joseph Witt --- .../java/org/apache/nifi/util/NiFiProperties.java | 41 --- .../src/main/asciidoc/administration-guide.adoc| 58 +-- .../src/test/resources/nifi.properties | 5 -- .../src/test/resources/nifi.properties | 5 -- .../nifi-framework/nifi-resources/pom.xml | 3 - .../src/main/resources/conf/nifi.properties| 5 -- .../nifi-framework/nifi-web/nifi-web-api/pom.xml | 6 -- .../org/apache/nifi/web/api/AccessResource.java| 82 - .../src/main/resources/nifi-web-api-context.xml| 1 - .../test/resources/site-to-site/nifi.properties| 3 - .../nifi-web/nifi-web-security/pom.xml | 4 - .../AuthenticationSecurityConfiguration.java | 1 - ...erberosAuthenticationSecurityConfiguration.java | 46 .../configuration/WebSecurityConfiguration.java| 1 - .../AlternateKerberosUserDetailsService.java | 32 .../web/security/kerberos/KerberosService.java | 77 --- .../spring/KerberosServiceFactoryBean.java | 86 -- .../src/main/webapp/js/nf/canvas/nf-canvas.js | 35 - nifi-framework-bundle/pom.xml | 5 -- .../resources/conf/clustered/node1/nifi.properties | 5 -- .../resources/conf/clustered/node2/nifi.properties | 5 -- .../test/resources/conf/default/nifi.properties| 5 -- .../test/resources/conf/pythonic/nifi.properties | 9 --- 23 files changed, 14 insertions(+), 506 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 8932760b14..4b4bb77d8d 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 @@ -281,9 +281,6 @@ public class NiFiProperties extends ApplicationProperties { public static final String KERBEROS_KRB5_FILE = "nifi.kerberos.krb5.file"; public static final String KERBEROS_SERVICE_PRINCIPAL = "nifi.kerberos.service.principal"; public static final String KERBEROS_SERVICE_KEYTAB_LOCATION = "nifi.kerberos.service.keytab.location"; -public static final String KERBEROS_SPNEGO_PRINCIPAL = "nifi.kerberos.spnego.principal"; -public static final String KERBEROS_SPNEGO_KEYTAB_LOCATION = "nifi.kerberos.spnego.keytab.location"; -public static final String KERBEROS_AUTHENTICATION_EXPIRATION = "nifi.kerberos.spnego.authentication.expiration"; // state management public static final String STATE_MANAGEMENT_CONFIG_FILE = "nifi.state.management.configuration.file"; @@ -982,43 +979,6 @@ public class NiFiProperties extends ApplicationProperties { } } -public String getKerberosSpnegoPrincipal() { -final String spengoPrincipal = getProperty(KERBEROS_SPNEGO_PRINCIPAL); -if (!StringUtils.isBlank(spengoPrincipal)) { -return spengoPrincipal.trim(); -} else { -return null; -} -} - -public String getKerberosSpnegoKeytabLocation() { -final String keytabLocation = getProperty(KERBEROS_SPNEGO_KEYTAB_LOCATION); -if (!StringUtils.isBlank(keytabLocation)) { -return keytabLocation.trim(); -} else { -return null; -} -} - -public String getKerberosAuthenticationExpiration() { -final String authenticationExpirationString = getProperty(KERBEROS_AUTHENTICATION_EXPIRATION, DEFAULT_KERBEROS_AUTHENTICATION_EXPIRATION); -if (!StringUtils.isBlank(authenticationExpirationString)) { -return authenticationExpirationString.trim(); -} else { -return null; -} -} - -/** - * Returns true if the Kerberos service principal and keytab location - * properties are populated. - * - * @return true if Kerberos service support is enabled - */ -public boolean isKerberosSpnegoSupportEnabled() { -return !StringUtils.isBlank(getKerberosSpnegoPrincipal()) && !StringUtils.isBlank(getKerberosSpnegoKeytabLocation()); -} - /** * Returns true if the login identity provider has been
(nifi) branch main updated: NIFI-13287: Added note to msal4j dependency in Azure bundle's pom This closes #8869.
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 de11b6c43e NIFI-13287: Added note to msal4j dependency in Azure bundle's pom This closes #8869. de11b6c43e is described below commit de11b6c43e6d5ec9fc77088ca091c0b848e5de21 Author: Peter Turcsanyi AuthorDate: Thu May 9 20:37:33 2024 +0200 NIFI-13287: Added note to msal4j dependency in Azure bundle's pom This closes #8869. Signed-off-by: Joseph Witt --- .../nifi-azure-bundle/nifi-azure-graph-authorizer/pom.xml| 1 - nifi-extension-bundles/nifi-azure-bundle/pom.xml | 9 - 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-graph-authorizer/pom.xml b/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-graph-authorizer/pom.xml index cd15f1891f..a70b317438 100644 --- a/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-graph-authorizer/pom.xml +++ b/nifi-extension-bundles/nifi-azure-bundle/nifi-azure-graph-authorizer/pom.xml @@ -53,7 +53,6 @@ com.microsoft.azure msal4j -${msal4j.version} diff --git a/nifi-extension-bundles/nifi-azure-bundle/pom.xml b/nifi-extension-bundles/nifi-azure-bundle/pom.xml index b55b83b603..e78152c5cc 100644 --- a/nifi-extension-bundles/nifi-azure-bundle/pom.xml +++ b/nifi-extension-bundles/nifi-azure-bundle/pom.xml @@ -27,6 +27,7 @@ pom + 1.2.23 1.15.0 0.34.1 @@ -62,7 +63,13 @@ proton-j ${qpid.proton.version} - + + +com.microsoft.azure +msal4j +${msal4j.version} + + com.nimbusds nimbus-jose-jwt
(nifi) branch main updated: NIFI-13293 Upgraded Spring Security from 6.2.4 to 6.3.0 This closes #8873.
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 0463abfeaa NIFI-13293 Upgraded Spring Security from 6.2.4 to 6.3.0 This closes #8873. 0463abfeaa is described below commit 0463abfeaa6d20369d1cfa6c564148e70b4286ca Author: exceptionfactory AuthorDate: Fri May 24 12:31:15 2024 -0500 NIFI-13293 Upgraded Spring Security from 6.2.4 to 6.3.0 This closes #8873. Signed-off-by: Joseph Witt --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9821e9918c..f9681eff59 100644 --- a/pom.xml +++ b/pom.xml @@ -155,7 +155,7 @@ 4.1.109.Final 6.0.0 6.1.7 -6.2.4 +6.3.0 2.2.22 2.2.224 3.9.2
(nifi) branch main updated: NIFI-13268 Fixed missing grpc dependencies in GCP module This closes #8863
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 05d0d36e70 NIFI-13268 Fixed missing grpc dependencies in GCP module This closes #8863 05d0d36e70 is described below commit 05d0d36e70a34cd9fd3e0fcb9b9475cf5ffcc573 Author: Peter Turcsanyi AuthorDate: Tue May 21 22:10:01 2024 +0200 NIFI-13268 Fixed missing grpc dependencies in GCP module This closes #8863 Signed-off-by: Joseph Witt --- .../nifi-gcp-bundle/nifi-gcp-services-api/pom.xml | 18 ++ 1 file changed, 18 insertions(+) diff --git a/nifi-extension-bundles/nifi-gcp-bundle/nifi-gcp-services-api/pom.xml b/nifi-extension-bundles/nifi-gcp-bundle/nifi-gcp-services-api/pom.xml index 5c08d461d2..e33720dba9 100644 --- a/nifi-extension-bundles/nifi-gcp-bundle/nifi-gcp-services-api/pom.xml +++ b/nifi-extension-bundles/nifi-gcp-bundle/nifi-gcp-services-api/pom.xml @@ -31,5 +31,23 @@ com.google.auth google-auth-library-oauth2-http + + +io.grpc +grpc-api + + +io.grpc +grpc-context + + +io.grpc +grpc-core + + +io.grpc +grpc-util +
(nifi-maven) branch main updated: NIFI-13274 - Dependencies and switch to 2.0.0-SNAPSHOT and update git workflow This closes #38
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-maven.git The following commit(s) were added to refs/heads/main by this push: new 61260ee NIFI-13274 - Dependencies and switch to 2.0.0-SNAPSHOT and update git workflow This closes #38 61260ee is described below commit 61260ee3c730faef33e7c8a405f059f4e37d45af Author: Pierre Villard AuthorDate: Tue May 21 17:48:12 2024 +0200 NIFI-13274 - Dependencies and switch to 2.0.0-SNAPSHOT and update git workflow This closes #38 Signed-off-by: Joseph Witt --- .github/workflows/build.yml | 34 +++-- .mvn/wrapper/maven-wrapper.properties | 18 +++ NOTICE| 2 +- README.md | 4 +- mvnw | 239 ++ pom.xml | 91 + 6 files changed, 349 insertions(+), 39 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ed3de84..e7c10ec 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,29 +15,39 @@ # limitations under the License. name: build -on: - push: -branches: - - main - - NIFI-11283 - pull_request: -branches: - - main +on: [push, pull_request] permissions: contents: read +env: + MAVEN_COMMAND: ./mvnw + MAVEN_COMPILE_COMMAND: >- +verify +--batch-mode +--update-snapshots +--show-version +--no-snapshot-updates +--no-transfer-progress +--fail-fast + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build: runs-on: ubuntu-latest steps: - name: Checkout Sources -uses: actions/checkout@v3 +uses: actions/checkout@v4 - name: Setup Java JDK -uses: actions/setup-java@v3 +uses: actions/setup-java@v4 with: - java-version: '8' + java-version: '21' distribution: 'zulu' cache: 'maven' - name: Build -run: mvn --batch-mode --update-snapshots verify +run: > + ${{ env.MAVEN_COMMAND }} + ${{ env.MAVEN_COMPILE_COMMAND }} diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 000..346d645 --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,18 @@ +# 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. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar diff --git a/NOTICE b/NOTICE index 1ba22b7..5b84739 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ Apache NiFi -Copyright 2014-2023 The Apache Software Foundation +Copyright 2014-2024 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). diff --git a/README.md b/README.md index 295a696..66b4398 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,8 @@ Apache NiFi NAR Maven Plugin helps to build NiFi Archive bundles to support the ## Minimum Requirements -* JDK 1.8.0-251 -* Apache Maven 3.6.3 +* JDK 21 +* Apache Maven 3.9.6 ## Getting Started diff --git a/mvnw b/mvnw new file mode 100755 index 000..633bbb7 --- /dev/null +++ b/mvnw @@ -0,0 +1,239 @@ +#!/bin/sh +# +# 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, +# so
(nifi) branch main updated: NIFI-13157 Replaced deprecated getNextTarEntry() and getNextZipEntry() with getNextEntry(). This closes #8813
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 7dfb4936a9 NIFI-13157 Replaced deprecated getNextTarEntry() and getNextZipEntry() with getNextEntry(). This closes #8813 7dfb4936a9 is described below commit 7dfb4936a9cbe0ee1e1f9d206916562d8feb9b88 Author: dan-s1 AuthorDate: Fri May 10 17:01:20 2024 + NIFI-13157 Replaced deprecated getNextTarEntry() and getNextZipEntry() with getNextEntry(). This closes #8813 Signed-off-by: Joseph Witt --- .../client/service/operation/TransferDebugOperationHandlerTest.java | 2 +- .../src/main/java/org/apache/nifi/util/FlowFileUnpackagerV1.java | 4 ++-- .../apache/nifi/processors/hadoop/TarUnpackerSequenceFileWriter.java | 2 +- .../main/java/org/apache/nifi/processors/standard/UnpackContent.java | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/c2/c2-client-bundle/c2-client-service/src/test/java/org/apache/nifi/c2/client/service/operation/TransferDebugOperationHandlerTest.java b/c2/c2-client-bundle/c2-client-service/src/test/java/org/apache/nifi/c2/client/service/operation/TransferDebugOperationHandlerTest.java index 798928bce0..78a0fc4426 100644 --- a/c2/c2-client-bundle/c2-client-service/src/test/java/org/apache/nifi/c2/client/service/operation/TransferDebugOperationHandlerTest.java +++ b/c2/c2-client-bundle/c2-client-service/src/test/java/org/apache/nifi/c2/client/service/operation/TransferDebugOperationHandlerTest.java @@ -238,7 +238,7 @@ public class TransferDebugOperationHandlerTest { Map fileNamesWithContents = new HashMap<>(); try (TarArchiveInputStream tarInputStream = new TarArchiveInputStream(new GzipCompressorInputStream(new ByteArrayInputStream(bundle { TarArchiveEntry currentEntry; -while ((currentEntry = tarInputStream.getNextTarEntry()) != null) { +while ((currentEntry = tarInputStream.getNextEntry()) != null) { fileNamesWithContents.put( currentEntry.getName(), new BufferedReader(new InputStreamReader(tarInputStream)).lines().collect(joining(NEW_LINE))); diff --git a/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/FlowFileUnpackagerV1.java b/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/FlowFileUnpackagerV1.java index b96534a6b2..bea8167703 100644 --- a/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/FlowFileUnpackagerV1.java +++ b/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/FlowFileUnpackagerV1.java @@ -34,7 +34,7 @@ public class FlowFileUnpackagerV1 implements FlowFileUnpackager { public Map unpackageFlowFile(final InputStream in, final OutputStream out) throws IOException { flowFilesRead++; final TarArchiveInputStream tarIn = new TarArchiveInputStream(in); -final TarArchiveEntry attribEntry = tarIn.getNextTarEntry(); +final TarArchiveEntry attribEntry = tarIn.getNextEntry(); if (attribEntry == null) { return null; } @@ -48,7 +48,7 @@ public class FlowFileUnpackagerV1 implements FlowFileUnpackager { + FlowFilePackagerV1.FILENAME_ATTRIBUTES); } -final TarArchiveEntry contentEntry = tarIn.getNextTarEntry(); +final TarArchiveEntry contentEntry = tarIn.getNextEntry(); if (contentEntry != null && contentEntry.getName().equals(FlowFilePackagerV1.FILENAME_CONTENT)) { final byte[] buffer = new byte[512 << 10];//512KB diff --git a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/TarUnpackerSequenceFileWriter.java b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/TarUnpackerSequenceFileWriter.java index 39bac2b96f..6d77f1d426 100644 --- a/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/TarUnpackerSequenceFileWriter.java +++ b/nifi-extension-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/TarUnpackerSequenceFileWriter.java @@ -37,7 +37,7 @@ public class TarUnpackerSequenceFileWriter extends SequenceFileWriterImpl { protected void processInputStream(final InputStream stream, final FlowFile tarArchivedFlowFile, final Writer writer) throws IOException { try (final TarArchiveInputStream tarIn = new TarArchiveInputStream(new BufferedInputStream(stream))) { TarArchiveEntry tarEntry; -while ((tarEntry = tarIn.getNextTarEntry()) != null) { +while ((tarEntry = tarIn.getNextEntry()) != null) { if (
(nifi) branch main updated: NIFI-13213 Added Validation for Swap File Names This closes 8812
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 1c2469bf33 NIFI-13213 Added Validation for Swap File Names This closes 8812 1c2469bf33 is described below commit 1c2469bf33ffac1554dd418aadbfb1c7f2e98357 Author: exceptionfactory AuthorDate: Thu May 9 16:20:56 2024 -0500 NIFI-13213 Added Validation for Swap File Names This closes 8812 Signed-off-by: Joseph Witt --- .../nifi/controller/FileSystemSwapManager.java | 24 ++-- .../nifi/controller/TestFileSystemSwapManager.java | 45 +++--- 2 files changed, 52 insertions(+), 17 deletions(-) diff --git a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FileSystemSwapManager.java b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FileSystemSwapManager.java index b01bdc9f79..2b56cedb7b 100644 --- a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FileSystemSwapManager.java +++ b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FileSystemSwapManager.java @@ -65,6 +65,7 @@ import java.util.List; import java.util.Objects; import java.util.Set; import java.util.UUID; +import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -79,6 +80,7 @@ public class FileSystemSwapManager implements FlowFileSwapManager { private static final Pattern SWAP_FILE_PATTERN = Pattern.compile("\\d+-.+?(\\..*?)?\\.swap"); private static final Pattern TEMP_SWAP_FILE_PATTERN = Pattern.compile("\\d+-.+?(\\..*?)?\\.swap\\.part"); +private static final Pattern UUID_PATTERN = Pattern.compile("([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})"); public static final String EVENT_CATEGORY = "Swap FlowFiles"; private static final Logger logger = LoggerFactory.getLogger(FileSystemSwapManager.class); @@ -133,11 +135,11 @@ public class FileSystemSwapManager implements FlowFileSwapManager { return null; } -final String swapFilePrefix = System.currentTimeMillis() + "-" + flowFileQueue.getIdentifier() + "-" + UUID.randomUUID().toString(); -final String swapFileBaseName = partitionName == null ? swapFilePrefix : swapFilePrefix + "." + partitionName; -final String swapFileName = swapFileBaseName + ".swap"; +final String swapFileName = getSwapFileName(flowFileQueue.getIdentifier(), partitionName); +final Path storageDirectoryPath = storageDirectory.toPath(); +final Path swapFilePath = storageDirectoryPath.resolve(swapFileName).toAbsolutePath(); -final File swapFile = new File(storageDirectory, swapFileName); +final File swapFile = swapFilePath.toFile(); final File swapTempFile = new File(swapFile.getParentFile(), swapFile.getName() + ".part"); final String swapLocation = swapFile.getAbsolutePath(); @@ -482,4 +484,18 @@ public class FileSystemSwapManager implements FlowFileSwapManager { logger.debug("Changed Partition for Swap File by renaming from {} to {}", swapLocation, newPartitionName); return newFile.getAbsolutePath(); } + +private String getSwapFileName(final String flowFileQueueIdentifier, final String partitionName) { +final UUID identifier; +final Matcher identifierMatcher = UUID_PATTERN.matcher(flowFileQueueIdentifier); +if (identifierMatcher.find()) { +identifier = UUID.fromString(identifierMatcher.group(1)); +} else { +throw new IllegalArgumentException("FlowFile Queue Identifier [%s] not valid".formatted(flowFileQueueIdentifier)); +} + +final String swapFilePrefix = System.currentTimeMillis() + "-" + identifier + "-" + UUID.randomUUID(); +final String swapFileBaseName = partitionName == null ? swapFilePrefix : swapFilePrefix + "." + partitionName; +return swapFileBaseName + ".swap"; +} } diff --git a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFileSystemSwapManager.java b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFileSystemSwapManager.java index a00b2c01f8..cc91b405ae 100644 --- a/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFileSystemSwapManager.java +++ b/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controlle
(nifi) branch main updated: NIFI-13196: Added new isAutoTerminated(Relationship) method to ProcessContext, which simply delegates to Connectable.isAutoTerminated(Relationship) This closes #8790
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 62fbd8e8b1 NIFI-13196: Added new isAutoTerminated(Relationship) method to ProcessContext, which simply delegates to Connectable.isAutoTerminated(Relationship) This closes #8790 62fbd8e8b1 is described below commit 62fbd8e8b187e6db2e639eb30f3078238a2da165 Author: Mark Payne AuthorDate: Thu May 9 15:55:06 2024 -0400 NIFI-13196: Added new isAutoTerminated(Relationship) method to ProcessContext, which simply delegates to Connectable.isAutoTerminated(Relationship) This closes #8790 Signed-off-by: Joseph Witt --- .../org/apache/nifi/processor/ProcessContext.java | 7 +++ .../scheduling/ConnectableProcessContext.java | 23 +- .../nifi/processor/StandardProcessContext.java | 5 + .../org/apache/nifi/mock/MockProcessContext.java | 5 + .../org/apache/nifi/util/MockProcessContext.java | 5 + 5 files changed, 36 insertions(+), 9 deletions(-) diff --git a/nifi-api/src/main/java/org/apache/nifi/processor/ProcessContext.java b/nifi-api/src/main/java/org/apache/nifi/processor/ProcessContext.java index b419e96367..448414a47b 100644 --- a/nifi-api/src/main/java/org/apache/nifi/processor/ProcessContext.java +++ b/nifi-api/src/main/java/org/apache/nifi/processor/ProcessContext.java @@ -108,6 +108,13 @@ public interface ProcessContext extends PropertyContext, ClusterContext { */ Set getAvailableRelationships(); +/** + * Indicates whether or not the given relationship is configured to be auto-terminated + * @param relationship the relationship + * @return true if the given relationship is auto-terminated, false otherwise + */ +boolean isAutoTerminated(Relationship relationship); + /** * @return true if the processor has one or more incoming connections, * false otherwise diff --git a/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/repository/scheduling/ConnectableProcessContext.java b/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/repository/scheduling/ConnectableProcessContext.java index 3d046411b5..b9e211b6f0 100644 --- a/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/repository/scheduling/ConnectableProcessContext.java +++ b/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/repository/scheduling/ConnectableProcessContext.java @@ -16,15 +16,6 @@ */ package org.apache.nifi.controller.repository.scheduling; -import java.time.Duration; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.TimeUnit; - import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.components.PropertyValue; import org.apache.nifi.components.resource.ResourceReference; @@ -43,6 +34,15 @@ import org.apache.nifi.processor.exception.ProcessException; import org.apache.nifi.scheduling.ExecutionNode; import org.apache.nifi.util.Connectables; +import java.time.Duration; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.TimeUnit; + /** * This class is essentially an empty shell for {@link Connectable}s that are not Processors */ @@ -250,6 +250,11 @@ public class ConnectableProcessContext implements ProcessContext { return new HashSet<>(connectable.getRelationships()); } +@Override +public boolean isAutoTerminated(final Relationship relationship) { +return connectable.isAutoTerminated(relationship); +} + @Override public boolean hasIncomingConnection() { return connectable.hasIncomingConnection(); diff --git a/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/processor/StandardProcessContext.java b/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/processor/StandardProcessContext.java index e3aa93bb8f..2164348f1d 100644 --- a/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/processor/StandardProcessContext.java +++ b/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/processor/StandardProcessContext.java @@ -309,6 +309,11 @@ public class StandardProcessContext implements ProcessContext, ControllerService return set; } +@Override +public boolean isAutoTerminated(final Relationship relati
(nifi) branch main updated: NIFI-13209 Corrected system-tests workflow paths for framework This closes #8806
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 196f6bb6b1 NIFI-13209 Corrected system-tests workflow paths for framework This closes #8806 196f6bb6b1 is described below commit 196f6bb6b1aba0a5ce633b18444264eee12d53f2 Author: exceptionfactory AuthorDate: Fri May 10 08:54:09 2024 -0500 NIFI-13209 Corrected system-tests workflow paths for framework This closes #8806 Signed-off-by: Joseph Witt --- .github/workflows/system-tests.yml | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/system-tests.yml b/.github/workflows/system-tests.yml index 9541cbf0ae..e88ac0a79e 100644 --- a/.github/workflows/system-tests.yml +++ b/.github/workflows/system-tests.yml @@ -22,20 +22,22 @@ on: push: paths: - '.github/workflows/system-tests.yml' + - 'c2/c2-protocol/**' - 'nifi-system-tests/**' - 'nifi-api/**' - 'nifi-framework-api/**' - - 'nifi-nar-bundles/nifi-framework-bundle/**' - - 'nifi-nar-bundles/nifi-py4j-bundle/**' + - 'nifi-nifi-framework-bundle/**' + - 'nifi-extension-bundles/nifi-py4j-bundle/**' - 'nifi-stateless/**' pull_request: paths: - '.github/workflows/system-tests.yml' + - 'c2/c2-protocol/**' - 'nifi-system-tests/**' - 'nifi-api/**' - 'nifi-framework-api/**' - - 'nifi-nar-bundles/nifi-framework-bundle/**' - - 'nifi-nar-bundles/nifi-py4j-bundle/**' + - 'nifi-nifi-framework-bundle/**' + - 'nifi-extension-bundles/nifi-py4j-bundle/**' - 'nifi-stateless/**' env:
(nifi) branch main updated: NIFI-13200: Do not allow 'filename' or 'path' attribute to removed from FlowFile This closes #8791
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 9cf5f947e8 NIFI-13200: Do not allow 'filename' or 'path' attribute to removed from FlowFile This closes #8791 9cf5f947e8 is described below commit 9cf5f947e8dda4b57cf1eb4c429a8c1159af341a Author: Mark Payne AuthorDate: Thu May 9 16:37:28 2024 -0400 NIFI-13200: Do not allow 'filename' or 'path' attribute to removed from FlowFile This closes #8791 Signed-off-by: Joseph Witt --- .../repository/StandardProcessSession.java | 83 -- 1 file changed, 47 insertions(+), 36 deletions(-) diff --git a/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/repository/StandardProcessSession.java b/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/repository/StandardProcessSession.java index 64ef1c5aff..5d6dc605ba 100644 --- a/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/repository/StandardProcessSession.java +++ b/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/repository/StandardProcessSession.java @@ -16,40 +16,6 @@ */ package org.apache.nifi.controller.repository; -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.ByteArrayInputStream; -import java.io.Closeable; -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.BitSet; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicLong; -import java.util.function.BiConsumer; -import java.util.function.BiFunction; -import java.util.function.Consumer; -import java.util.regex.Pattern; -import java.util.stream.Collectors; import org.apache.nifi.components.state.Scope; import org.apache.nifi.components.state.StateManager; import org.apache.nifi.components.state.StateMap; @@ -104,6 +70,41 @@ import org.apache.nifi.util.FormatUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.ByteArrayInputStream; +import java.io.Closeable; +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Consumer; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + /** * * Provides a ProcessSession that ensures all accesses, changes and transfers @@ -116,6 +117,12 @@ import org.slf4j.LoggerFactory; * */ public class StandardProcessSession implements ProcessSession, ProvenanceEventEnricher { +private static final Set REQUIRED_ATTRIBUTES = Set.of( +CoreAttributes.UUID.key(), +CoreAttributes.FILENAME.key(), +CoreAttributes.PATH.key() +); + private static final long VERSION_INCREMENT = 1; private static final String INITIAL_VERSION = String.valueOf(VERSION_INCREMENT); private static final AtomicLong idGenerator = new AtomicLong(0L); @@ -2271,7 +2278,7 @@ public class StandardProcessSession implements ProcessSession, ProvenanceEventEn verifyTaskActive(); flowFile = validateRecordState(flowFile); -if (CoreAttributes.UUID.key().equals(key)) { +if (REQUIRED_ATTRIBUTES.contains(key)) { return flowFile; } @@ -2295,6 +2302,10 @@ public class StandardProcessSession implements
(nifi) branch main updated: NIFI-13202 Removed Accumulo Processors and Services This closes #8794.
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 72b45f3114 NIFI-13202 Removed Accumulo Processors and Services This closes #8794. 72b45f3114 is described below commit 72b45f311488a40e518e97a039dd7ecc5378a3f3 Author: exceptionfactory AuthorDate: Thu May 9 15:45:16 2024 -0500 NIFI-13202 Removed Accumulo Processors and Services This closes #8794. Signed-off-by: Joseph Witt --- nifi-assembly/pom.xml | 30 - nifi-code-coverage/pom.xml | 10 - nifi-docs/src/main/asciidoc/developer-guide.adoc | 1 - .../nifi-accumulo-bundle/README.md | 23 - .../nifi-accumulo-bundle/nifi-accumulo-nar/pom.xml | 41 -- .../nifi-accumulo-processors/pom.xml | 66 --- .../accumulo/data/AccumuloRecordConfiguration.java | 159 - .../org/apache/nifi/accumulo/data/KeySchema.java | 136 - .../accumulo/processors/BaseAccumuloProcessor.java | 86 --- .../accumulo/processors/PutAccumuloRecord.java | 658 - .../nifi/accumulo/processors/ScanAccumulo.java | 390 .../services/org.apache.nifi.processor.Processor | 16 - .../nifi-accumulo-services-api-nar/pom.xml | 40 -- .../nifi-accumulo-services-api/pom.xml | 35 -- .../controllerservices/BaseAccumuloService.java| 33 -- .../nifi-accumulo-services-nar/pom.xml | 41 -- .../nifi-accumulo-services/pom.xml | 70 --- .../controllerservices/AccumuloService.java| 324 -- .../org.apache.nifi.controller.ControllerService | 15 - .../controllerservices/TestAccumuloService.java| 214 --- .../nifi-accumulo-bundle/pom.xml | 85 --- nifi-extension-bundles/pom.xml | 1 - 22 files changed, 2474 deletions(-) diff --git a/nifi-assembly/pom.xml b/nifi-assembly/pom.xml index 6501ad0e66..e06bf20559 100644 --- a/nifi-assembly/pom.xml +++ b/nifi-assembly/pom.xml @@ -1094,36 +1094,6 @@ language governing permissions and limitations under the License. --> - -include-accumulo - - -false - -allProfiles - - - - -org.apache.nifi -nifi-accumulo-nar -2.0.0-SNAPSHOT -nar - - -org.apache.nifi -nifi-accumulo-services-api-nar -2.0.0-SNAPSHOT -nar - - -org.apache.nifi -nifi-accumulo-services-nar -2.0.0-SNAPSHOT -nar - - - targz diff --git a/nifi-code-coverage/pom.xml b/nifi-code-coverage/pom.xml index c8e3f5a23e..50e5767338 100644 --- a/nifi-code-coverage/pom.xml +++ b/nifi-code-coverage/pom.xml @@ -701,16 +701,6 @@ - -org.apache.nifi -nifi-accumulo-processors -2.0.0-SNAPSHOT - - -org.apache.nifi -nifi-accumulo-services -2.0.0-SNAPSHOT - org.apache.nifi nifi-airtable-processors diff --git a/nifi-docs/src/main/asciidoc/developer-guide.adoc b/nifi-docs/src/main/asciidoc/developer-guide.adoc index 5f6cc76a27..7dd0ddb961 100644 --- a/nifi-docs/src/main/asciidoc/developer-guide.adoc +++ b/nifi-docs/src/main/asciidoc/developer-guide.adoc @@ -2698,7 +2698,6 @@ deprecationLogger.warn( [options="header,footer"] |== | Package| Maven Profile | Description -| Apache Accumulo Bundle | include-accumulo | Adds support for https://accumulo.apache.org[Apache Accumulo]. | Apache Hadoop Bundle | include-hadoop| Adds support for Apache Hadoop with HDFS and Parquet components | Apache HBase Bundle| include-hbase | Adds support for Apache HBase | Apache IoTDB Bundle| include-iotdb | Adds support for Apache IoTDB diff --git a/nifi-extension-bundles/nifi-accumulo-bundle/README.md b/nifi-extension-bundles/nifi-accumulo-bundle/README.md deleted file mode 100644 index e431586c24..00 --- a/nifi-extension-bundles/nifi-accumulo-bundle/README.md +++ /dev/null @@ -1,23 +0,0 @@ - -# nifi-accumulo - -This is a basic NiFi->Accumulo integration. Running `mvn install` will create your NAR, which can be added
(nifi) branch support/nifi-1.x updated: NIFI-13201 Deprecated Accumulo Components for Removal This closes #8793
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 99603eb6b8 NIFI-13201 Deprecated Accumulo Components for Removal This closes #8793 99603eb6b8 is described below commit 99603eb6b8a1aacf1b30f6091a36bcbc66ec0798 Author: exceptionfactory AuthorDate: Thu May 9 00:56:59 2024 -0500 NIFI-13201 Deprecated Accumulo Components for Removal This closes #8793 Signed-off-by: Joseph Witt --- .../java/org/apache/nifi/accumulo/processors/PutAccumuloRecord.java | 2 ++ .../src/main/java/org/apache/nifi/accumulo/processors/ScanAccumulo.java | 2 ++ .../org/apache/nifi/accumulo/controllerservices/AccumuloService.java| 2 ++ 3 files changed, 6 insertions(+) diff --git a/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-processors/src/main/java/org/apache/nifi/accumulo/processors/PutAccumuloRecord.java b/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-processors/src/main/java/org/apache/nifi/accumulo/processors/PutAccumuloRecord.java index 07cbadc58d..6af9f6f4c4 100644 --- a/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-processors/src/main/java/org/apache/nifi/accumulo/processors/PutAccumuloRecord.java +++ b/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-processors/src/main/java/org/apache/nifi/accumulo/processors/PutAccumuloRecord.java @@ -37,6 +37,7 @@ import org.apache.nifi.annotation.behavior.EventDriven; import org.apache.nifi.annotation.behavior.InputRequirement; import org.apache.nifi.annotation.behavior.SupportsBatching; import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.DeprecationNotice; import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.annotation.lifecycle.OnDisabled; import org.apache.nifi.annotation.lifecycle.OnScheduled; @@ -79,6 +80,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; +@DeprecationNotice(reason = "Planned for removal in version 2.0") @EventDriven @SupportsBatching @InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED) diff --git a/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-processors/src/main/java/org/apache/nifi/accumulo/processors/ScanAccumulo.java b/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-processors/src/main/java/org/apache/nifi/accumulo/processors/ScanAccumulo.java index 18c162eb37..0bd9282529 100644 --- a/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-processors/src/main/java/org/apache/nifi/accumulo/processors/ScanAccumulo.java +++ b/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-processors/src/main/java/org/apache/nifi/accumulo/processors/ScanAccumulo.java @@ -31,6 +31,7 @@ import org.apache.nifi.annotation.behavior.InputRequirement; import org.apache.nifi.annotation.behavior.SupportsBatching; import org.apache.nifi.annotation.configuration.DefaultSchedule; import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.DeprecationNotice; import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.annotation.lifecycle.OnScheduled; import org.apache.nifi.components.PropertyDescriptor; @@ -76,6 +77,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.LongAdder; +@DeprecationNotice(reason = "Planned for removal in version 2.0") @EventDriven @SupportsBatching @InputRequirement(InputRequirement.Requirement.INPUT_ALLOWED) diff --git a/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-services/src/main/java/org/apache/nifi/accumulo/controllerservices/AccumuloService.java b/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-services/src/main/java/org/apache/nifi/accumulo/controllerservices/AccumuloService.java index bd9f7856e4..ad664fc20c 100644 --- a/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-services/src/main/java/org/apache/nifi/accumulo/controllerservices/AccumuloService.java +++ b/nifi-nar-bundles/nifi-accumulo-bundle/nifi-accumulo-services/src/main/java/org/apache/nifi/accumulo/controllerservices/AccumuloService.java @@ -26,6 +26,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.security.UserGroupInformation; import org.apache.nifi.annotation.behavior.RequiresInstanceClassLoading; import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.DeprecationNotice; import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.annotation.lifecycle.OnDisabled; import org.apache.nifi.annotation.lifecycle.OnEnabled; @@ -59,6 +60,7 @@ import java.util.Properties; * Justification: Centralizes the configuration of the connecting accumulo code. This also will
(nifi) branch main updated: NIFI-13203: Include s3.url attribute in FetchS3Object, PutS3Object This closes #8795
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 db7e073368 NIFI-13203: Include s3.url attribute in FetchS3Object, PutS3Object This closes #8795 db7e073368 is described below commit db7e073368eeec2a17da73f74415d64d81e55458 Author: Mark Payne AuthorDate: Thu May 9 17:02:18 2024 -0400 NIFI-13203: Include s3.url attribute in FetchS3Object, PutS3Object This closes #8795 Signed-off-by: Joseph Witt --- .../java/org/apache/nifi/processors/aws/s3/FetchS3Object.java| 8 .../main/java/org/apache/nifi/processors/aws/s3/PutS3Object.java | 8 .../java/org/apache/nifi/processors/aws/s3/ITPutS3Object.java| 9 - 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java index 21f6371c61..7d5ae411f3 100644 --- a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java +++ b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/FetchS3Object.java @@ -70,6 +70,7 @@ import static org.apache.nifi.processors.aws.util.RegionUtilV1.S3_REGION; @Tags({"Amazon", "S3", "AWS", "Get", "Fetch"}) @CapabilityDescription("Retrieves the contents of an S3 Object and writes it to the content of a FlowFile") @WritesAttributes({ +@WritesAttribute(attribute = "s3.url", description = "The URL that can be used to access the S3 object"), @WritesAttribute(attribute = "s3.bucket", description = "The name of the S3 bucket"), @WritesAttribute(attribute = "path", description = "The path of the file"), @WritesAttribute(attribute = "absolute.path", description = "The path of the file"), @@ -439,12 +440,11 @@ public class FetchS3Object extends AbstractS3Processor { throw ffae; } -if (!attributes.isEmpty()) { -flowFile = session.putAllAttributes(flowFile, attributes); -} +final String url = client.getResourceUrl(bucket, key); +attributes.put("s3.url", url); +flowFile = session.putAllAttributes(flowFile, attributes); session.transfer(flowFile, REL_SUCCESS); -final String url = client.getResourceUrl(bucket, key); final long transferMillis = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNanos); getLogger().info("Successfully retrieved S3 Object for {} in {} millis; routing to success", new Object[]{flowFile, transferMillis}); session.getProvenanceReporter().fetch(flowFile, url, transferMillis); diff --git a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/PutS3Object.java b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/PutS3Object.java index 9237f4..80c3645f7d 100644 --- a/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/PutS3Object.java +++ b/nifi-extension-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/PutS3Object.java @@ -105,6 +105,7 @@ import static org.apache.nifi.processors.transfer.ResourceTransferUtils.getFileR expressionLanguageScope = ExpressionLanguageScope.FLOWFILE_ATTRIBUTES) @ReadsAttribute(attribute = "filename", description = "Uses the FlowFile's filename as the filename for the S3 object") @WritesAttributes({ +@WritesAttribute(attribute = "s3.url", description = "The URL that can be used to access the S3 object"), @WritesAttribute(attribute = "s3.bucket", description = "The S3 bucket where the Object was put in S3"), @WritesAttribute(attribute = "s3.key", description = "The S3 key within where the Object was put in S3"), @WritesAttribute(attribute = "s3.contenttype", description = "The S3 content type of the S3 Object that put in S3"), @@ -857,12 +858,11 @@ public class PutS3Object extends AbstractS3Processor { throw e; } -if (!attributes.isEmpty()) { -flowFile = session.putAllAttributes(flowFile, attributes); -} +final String url = s3.getResourceUrl(bucket, key); +attributes.put("s3.url", url); +flo
(nifi) branch main updated: NIFI-13113: upgrade Iceberg from 1.5.0 to 1.5.2 This closes #8796
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 7584a5c6f5 NIFI-13113: upgrade Iceberg from 1.5.0 to 1.5.2 This closes #8796 7584a5c6f5 is described below commit 7584a5c6f560eecb0c758c5d222a4824c0eea0dc Author: sullis AuthorDate: Thu May 9 14:30:23 2024 -0700 NIFI-13113: upgrade Iceberg from 1.5.0 to 1.5.2 This closes #8796 Signed-off-by: Joseph Witt --- nifi-extension-bundles/nifi-iceberg-bundle/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nifi-extension-bundles/nifi-iceberg-bundle/pom.xml b/nifi-extension-bundles/nifi-iceberg-bundle/pom.xml index 70702928d4..bf7f431a36 100644 --- a/nifi-extension-bundles/nifi-iceberg-bundle/pom.xml +++ b/nifi-extension-bundles/nifi-iceberg-bundle/pom.xml @@ -26,7 +26,7 @@ pom -1.5.0 +1.5.2 3.1.3
(nifi) branch main updated: NIFI-13187 - Modernize Archetypes This closes #8783.
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 4faad38c16 NIFI-13187 - Modernize Archetypes This closes #8783. 4faad38c16 is described below commit 4faad38c16560a47fe408122c51f52069b19ba90 Author: bob AuthorDate: Wed May 8 20:28:36 2024 -0500 NIFI-13187 - Modernize Archetypes This closes #8783. Signed-off-by: Joseph Witt --- .../src/main/java/MyProcessor.java | 24 +- .../src/main/java/StandardMyService.java | 13 +++- 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/nifi-maven-archetypes/nifi-processor-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__-processors/src/main/java/MyProcessor.java b/nifi-maven-archetypes/nifi-processor-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__-processors/src/main/java/MyProcessor.java index 56432c1a15..7ecf9c15a5 100644 --- a/nifi-maven-archetypes/nifi-processor-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__-processors/src/main/java/MyProcessor.java +++ b/nifi-maven-archetypes/nifi-processor-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__-processors/src/main/java/MyProcessor.java @@ -33,9 +33,6 @@ import org.apache.nifi.processor.ProcessorInitializationContext; import org.apache.nifi.processor.Relationship; import org.apache.nifi.processor.util.StandardValidators; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashSet; import java.util.List; import java.util.Set; @@ -47,16 +44,17 @@ import java.util.Set; public class MyProcessor extends AbstractProcessor { public static final PropertyDescriptor MY_PROPERTY = new PropertyDescriptor -.Builder().name("MY_PROPERTY") -.displayName("My property") +.Builder() +.name("My Property") +.displayName("My Property") .description("Example Property") .required(true) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) .build(); -public static final Relationship MY_RELATIONSHIP = new Relationship.Builder() -.name("MY_RELATIONSHIP") -.description("Example relationship") +public static final Relationship REL_SUCCESS = new Relationship.Builder() +.name("success") +.description("Example success relationship") .build(); private List descriptors; @@ -65,13 +63,9 @@ public class MyProcessor extends AbstractProcessor { @Override protected void init(final ProcessorInitializationContext context) { -descriptors = new ArrayList<>(); -descriptors.add(MY_PROPERTY); -descriptors = Collections.unmodifiableList(descriptors); +descriptors = List.of(MY_PROPERTY); -relationships = new HashSet<>(); -relationships.add(MY_RELATIONSHIP); -relationships = Collections.unmodifiableSet(relationships); +relationships = Set.of(REL_SUCCESS); } @Override @@ -96,5 +90,7 @@ public class MyProcessor extends AbstractProcessor { return; } // TODO implement + +session.transfer(flowFile, REL_SUCCESS); } } diff --git a/nifi-maven-archetypes/nifi-service-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__/src/main/java/StandardMyService.java b/nifi-maven-archetypes/nifi-service-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__/src/main/java/StandardMyService.java index 688004da52..6f4698831a 100644 --- a/nifi-maven-archetypes/nifi-service-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__/src/main/java/StandardMyService.java +++ b/nifi-maven-archetypes/nifi-service-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__/src/main/java/StandardMyService.java @@ -16,8 +16,6 @@ */ package ${package}; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; import org.apache.nifi.annotation.documentation.CapabilityDescription; @@ -35,20 +33,15 @@ import org.apache.nifi.reporting.InitializationException; public class StandardMyService extends AbstractControllerService implements MyService { public static final PropertyDescriptor MY_PROPERTY = new PropertyDescriptor -.Builder().name("MY_PROPERTY") +.Builder() +.name("My Property") .displayName("My Property") .description("Example Property") .required(true)
(nifi) branch support/nifi-1.x updated: NIFI-13181 Updated msal4j to 1.15.0 This closes #8777
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new dc39334b37 NIFI-13181 Updated msal4j to 1.15.0 This closes #8777 dc39334b37 is described below commit dc39334b37407d92c45974b134b28fc5bc80d19d Author: Peter Turcsanyi AuthorDate: Wed May 8 16:12:47 2024 +0200 NIFI-13181 Updated msal4j to 1.15.0 This closes #8777 Signed-off-by: Joseph Witt --- nifi-nar-bundles/nifi-azure-bundle/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-azure-bundle/pom.xml b/nifi-nar-bundles/nifi-azure-bundle/pom.xml index 20dbf48f25..eb662a1820 100644 --- a/nifi-nar-bundles/nifi-azure-bundle/pom.xml +++ b/nifi-nar-bundles/nifi-azure-bundle/pom.xml @@ -29,7 +29,7 @@ 8.6.6 1.2.23 -1.14.3 +1.15.0 0.34.1
(nifi) branch main updated: NIFI-13168 Upgraded QuestDB from 7.3.7 to 7.4.2 This closes #8773
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 f4d40722fe NIFI-13168 Upgraded QuestDB from 7.3.7 to 7.4.2 This closes #8773 f4d40722fe is described below commit f4d40722fed9759efd5f609741b92c917ddf4a2b Author: exceptionfactory AuthorDate: Tue May 7 16:02:09 2024 -0500 NIFI-13168 Upgraded QuestDB from 7.3.7 to 7.4.2 This closes #8773 - Changed getSym() to getSymA() following QuestDB changes - Added WAL Table status check for Table Metadata lookup Signed-off-by: Joseph Witt --- nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/pom.xml | 2 +- .../apache/nifi/questdb/embedded/CursorBasedQueryRowContext.java| 2 +- .../org/apache/nifi/questdb/embedded/EmbeddedDatabaseManager.java | 6 -- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/pom.xml b/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/pom.xml index 93f7267f0e..4d37bbf03e 100644 --- a/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/pom.xml +++ b/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/pom.xml @@ -35,7 +35,7 @@ org.questdb questdb -7.3.7 +7.4.2 org.springframework diff --git a/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/src/main/java/org/apache/nifi/questdb/embedded/CursorBasedQueryRowContext.java b/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/src/main/java/org/apache/nifi/questdb/embedded/CursorBasedQueryRowContext.java index 2c01cb840c..c99ecb6ba0 100644 --- a/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/src/main/java/org/apache/nifi/questdb/embedded/CursorBasedQueryRowContext.java +++ b/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/src/main/java/org/apache/nifi/questdb/embedded/CursorBasedQueryRowContext.java @@ -50,7 +50,7 @@ final class CursorBasedQueryRowContext implements QueryRowContext { @Override public String getString(final int position) { -return String.valueOf(actualRecord.getSym(position)); +return String.valueOf(actualRecord.getSymA(position)); } boolean hasNext() { diff --git a/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/src/main/java/org/apache/nifi/questdb/embedded/EmbeddedDatabaseManager.java b/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/src/main/java/org/apache/nifi/questdb/embedded/EmbeddedDatabaseManager.java index c71fa41c31..a1234c9bd6 100644 --- a/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/src/main/java/org/apache/nifi/questdb/embedded/EmbeddedDatabaseManager.java +++ b/nifi-extension-bundles/nifi-questdb-bundle/nifi-questdb/src/main/java/org/apache/nifi/questdb/embedded/EmbeddedDatabaseManager.java @@ -178,8 +178,10 @@ final class EmbeddedDatabaseManager implements DatabaseManager { for (final ManagedTableDefinition tableDefinition : context.getTableDefinitions()) { try { final TableToken tableToken = this.engine.get().getTableTokenIfExists(tableDefinition.getName()); -final TableRecordMetadata metadata = this.engine.get().getSequencerMetadata(tableToken); -metadata.close(); +if (tableToken.isWal()) { +final TableRecordMetadata metadata = this.engine.get().getSequencerMetadata(tableToken); +metadata.close(); +} client.execute(String.format("SELECT * FROM %S LIMIT 1", tableDefinition.getName())); } catch (final Exception e) {
(nifi) branch main updated: NIFI-11686 upgrade Elasticsearch low-level REST client to 8.13.3 This closes #8772
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 1f5868b999 NIFI-11686 upgrade Elasticsearch low-level REST client to 8.13.3 This closes #8772 1f5868b999 is described below commit 1f5868b999070b162413c5c8e2921249b7f3ea43 Author: Chris Sampson AuthorDate: Tue May 7 21:03:54 2024 +0100 NIFI-11686 upgrade Elasticsearch low-level REST client to 8.13.3 This closes #8772 Signed-off-by: Joseph Witt --- .../nifi/elasticsearch/ElasticSearchClientServiceImpl.java | 4 +--- .../apache/nifi/processors/elasticsearch/api/PaginationType.java | 3 ++- nifi-extension-bundles/nifi-elasticsearch-bundle/pom.xml | 9 + 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java index e2efb792f4..0b8b6acec3 100644 --- a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java +++ b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java @@ -88,9 +88,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @Tags({"elasticsearch", "elasticsearch6", "elasticsearch7", "elasticsearch8", "client"}) -@CapabilityDescription("A controller service for accessing an Elasticsearch client. " + -"Uses the Elasticsearch REST Client (7.13.4, the last version before client connections verify" + -"the server is Elastic provided, this should allow for connections to compatible alternatives, e.g. AWS OpenSearch)") +@CapabilityDescription("A controller service for accessing an Elasticsearch client, using the Elasticsearch (low-level) REST Client.") @DynamicProperty( name = "The name of a Request Header to add", value = "The value of the Header", diff --git a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/api/PaginationType.java b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/api/PaginationType.java index c7199b6524..c8ea776309 100644 --- a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/api/PaginationType.java +++ b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/api/PaginationType.java @@ -22,7 +22,8 @@ import org.apache.nifi.components.DescribedValue; public enum PaginationType implements DescribedValue { SCROLL("pagination-scroll", "Use Elasticsearch \"_scroll\" API to page results. Does not accept additional query parameters."), SEARCH_AFTER("pagination-search_after", "Use Elasticsearch \"search_after\" _search API to page sorted results."), -POINT_IN_TIME("pagination-pit", "Use Elasticsearch (7.10+ with XPack) \"point in time\" _search API to page sorted results."); +POINT_IN_TIME("pagination-pit", "Use Elasticsearch (7.10+ with XPack) \"point in time\" _search API to page sorted results. " + +"Not available for use with AWS OpenSearch."); private final String value; private final String description; diff --git a/nifi-extension-bundles/nifi-elasticsearch-bundle/pom.xml b/nifi-extension-bundles/nifi-elasticsearch-bundle/pom.xml index eca6230c5f..bb26aea04f 100644 --- a/nifi-extension-bundles/nifi-elasticsearch-bundle/pom.xml +++ b/nifi-extension-bundles/nifi-elasticsearch-bundle/pom.xml @@ -33,14 +33,7 @@ language governing permissions and limitations under the License. --> - -7.13.4 +8.13.3
(nifi) branch main updated: NIFI-13167 Replaced Hamcrest Matchers with JUnit Matchers This closes #8764
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 09cf383f9b NIFI-13167 Replaced Hamcrest Matchers with JUnit Matchers This closes #8764 09cf383f9b is described below commit 09cf383f9b46d7bb3a861d71d8d2492bd7114a51 Author: exceptionfactory AuthorDate: Tue May 7 11:35:31 2024 -0500 NIFI-13167 Replaced Hamcrest Matchers with JUnit Matchers This closes #8764 - Removed Hamcrest from set of default dependencies Signed-off-by: Joseph Witt --- minifi/minifi-integration-tests/pom.xml| 6 ++ .../attribute/expression/language/TestQuery.java | 15 --- .../controllerservices/TestAccumuloService.java| 55 +++ .../org/apache/nifi/jasn1/JASN1ReaderTest.java | 40 ++-- .../TestJASN1RecordReaderWithSimpleTypes.java | 13 ++- .../kinesis/stream/TestConsumeKinesisStream.java | 109 + .../record/TestAbstractKinesisRecordProcessor.java | 12 +-- .../record/TestKinesisRecordProcessorRaw.java | 13 ++- .../record/TestKinesisRecordProcessorRecord.java | 9 +- .../nifi/processors/aws/s3/ITPutS3Object.java | 50 +++--- .../AbstractComponentStateCheckpointStoreTest.java | 5 +- ...mponentStateCheckpointStoreConcurrencyTest.java | 65 +++- .../ComponentStateCheckpointStoreTest.java | 7 +- ...ingleAttributeBasedControllerServiceLookup.java | 82 +--- .../iceberg/TestIcebergRecordConverter.java| 8 +- .../nifi-jolt-transform-json-ui/pom.xml| 6 ++ .../nifi/processors/pgp/DecryptContentPGPTest.java | 18 ++-- .../prometheus/TestPrometheusMetricsUtil.java | 28 +++--- .../snmp/factory/core/SNMPFactoryProviderTest.java | 9 +- .../snmp/factory/core/V1V2cSNMPFactoryTest.java| 4 - .../nifi/snmp/factory/core/V3SNMPFactoryTest.java | 5 +- .../processors/standard/QueryDatabaseTableIT.java | 12 +-- .../standard/QueryDatabaseTableRecordIT.java | 12 +-- .../nifi/processors/standard/TestLogAttribute.java | 59 ++- .../standard/ftp/TestVirtualFileSystem.java| 30 +- .../nifi/lookup/TestCSVRecordLookupService.java| 14 +-- .../TestDistributedMapCacheLookupService.java | 4 - .../lookup/TestPropertiesFileLookupService.java| 6 -- .../lookup/TestSimpleCsvFileLookupService.java | 12 +-- .../lookup/TestSimpleKeyValueLookupService.java| 8 +- .../nifi/lookup/TestXMLFileLookupService.java | 4 - .../apache/nifi/csv/ITApacheCSVRecordReader.java | 14 +-- .../apache/nifi/nar/TestLoadNativeLibFromNar.java | 13 ++- .../nar/TestLoadNativeLibViaSystemProperty.java| 10 +- .../org/apache/nifi/web/api/TestFlowResource.java | 52 +- .../nifi-registry-core/nifi-registry-test/pom.xml | 4 + pom.xml| 14 +-- 37 files changed, 282 insertions(+), 545 deletions(-) diff --git a/minifi/minifi-integration-tests/pom.xml b/minifi/minifi-integration-tests/pom.xml index a03932a91b..15115f49ff 100644 --- a/minifi/minifi-integration-tests/pom.xml +++ b/minifi/minifi-integration-tests/pom.xml @@ -41,6 +41,12 @@ limitations under the License. docker-compose-junit-jupiter 2.3.0 test + + +org.hamcrest +hamcrest + + org.apache.nifi.minifi diff --git a/nifi-commons/nifi-expression-language/src/test/java/org/apache/nifi/attribute/expression/language/TestQuery.java b/nifi-commons/nifi-expression-language/src/test/java/org/apache/nifi/attribute/expression/language/TestQuery.java index 2bb8192337..5d73d42510 100644 --- a/nifi-commons/nifi-expression-language/src/test/java/org/apache/nifi/attribute/expression/language/TestQuery.java +++ b/nifi-commons/nifi-expression-language/src/test/java/org/apache/nifi/attribute/expression/language/TestQuery.java @@ -45,7 +45,6 @@ import java.util.Calendar; import java.util.Collections; import java.util.Date; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -56,8 +55,6 @@ import java.util.concurrent.TimeUnit; import static java.lang.Double.NEGATIVE_INFINITY; import static java.lang.Double.NaN; import static java.lang.Double.POSITIVE_INFINITY; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.greaterThan; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -2177,18 +2174,6 @@ public class TestQuery { verifyEquals("${literal('hello'):substring(0, 1):equals('h')}", at
(nifi) branch main updated: NIFI-13160 Corrected frontend changes evaluation in ci-workflow This closes #8761.
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 b259e2ae73 NIFI-13160 Corrected frontend changes evaluation in ci-workflow This closes #8761. b259e2ae73 is described below commit b259e2ae73ea9dedcb6fefb25987c8e33ff5e6fa Author: exceptionfactory AuthorDate: Tue May 7 08:49:32 2024 -0500 NIFI-13160 Corrected frontend changes evaluation in ci-workflow This closes #8761. Signed-off-by: Joseph Witt --- .github/workflows/ci-workflow.yml | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 4706624bd6..a0ef7aacbd 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -170,7 +170,7 @@ jobs: env: MAVEN_OPTS: >- ${{ env.COMPILE_MAVEN_OPTS }} --Dfrontend.skipTests=${{ !steps.changes.outputs.frontend }} +-Dfrontend.skipTests=${{ steps.changes.outputs.frontend == 'true' && 'false' || 'true' }} run: > ${{ env.MAVEN_COMMAND }} ${{ env.MAVEN_COMPILE_COMMAND }} @@ -178,7 +178,7 @@ jobs: env: MAVEN_OPTS: >- ${{ env.DEFAULT_MAVEN_OPTS }} --Dfrontend.skipTests=${{ !steps.changes.outputs.frontend }} +-Dfrontend.skipTests=${{ steps.changes.outputs.frontend == 'true' && 'false' || 'true' }} run: > ${{ env.MAVEN_COMMAND }} jacoco:prepare-agent @@ -241,7 +241,7 @@ jobs: env: MAVEN_OPTS: >- ${{ env.COMPILE_MAVEN_OPTS }} --Dfrontend.skipTests=${{ !steps.changes.outputs.frontend }} +-Dfrontend.skipTests=${{ steps.changes.outputs.frontend == 'true' && 'false' || 'true' }} run: > ${{ env.MAVEN_COMMAND }} ${{ env.MAVEN_COMPILE_COMMAND }} @@ -316,7 +316,7 @@ jobs: env: MAVEN_OPTS: >- ${{ env.COMPILE_MAVEN_OPTS }} --Dfrontend.skipTests=${{ !steps.changes.outputs.frontend }} +-Dfrontend.skipTests=${{ steps.changes.outputs.frontend == 'true' && 'false' || 'true' }} run: > ${{ env.MAVEN_COMMAND_WINDOWS }} ${{ env.MAVEN_COMPILE_COMMAND }}
(nifi) branch main updated: NIFI-13160 Support Skipping Frontend Unit Tests This closes #8757
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 6b8c19c761 NIFI-13160 Support Skipping Frontend Unit Tests This closes #8757 6b8c19c761 is described below commit 6b8c19c7617be7d49534064c65b95c188d08759f Author: exceptionfactory AuthorDate: Mon May 6 16:24:08 2024 -0500 NIFI-13160 Support Skipping Frontend Unit Tests This closes #8757 - Added frontend.skipTests property to nifi-web-frontend Maven configuration with default value of false - Configured lint and unit-test execution goals to depend on frontend.skipTests - Added paths-filter GitHub Actions step for conditional enabling of frontend tests Signed-off-by: Joseph Witt --- .github/workflows/ci-workflow.yml | 26 ++ .../nifi-web/nifi-web-frontend/pom.xml | 3 +++ 2 files changed, 29 insertions(+) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index c5a9a02ce5..4706624bd6 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -77,6 +77,7 @@ concurrency: permissions: security-events: write contents: read + pull-requests: read jobs: static-analysis: @@ -158,10 +159,18 @@ jobs: distribution: 'corretto' java-version: '21' cache: 'maven' + - name: Evaluate Changed Paths +uses: dorny/paths-filter@v3 +id: changes +with: + filters: | +frontend: + - 'nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/**' - name: Maven Compile env: MAVEN_OPTS: >- ${{ env.COMPILE_MAVEN_OPTS }} +-Dfrontend.skipTests=${{ !steps.changes.outputs.frontend }} run: > ${{ env.MAVEN_COMMAND }} ${{ env.MAVEN_COMPILE_COMMAND }} @@ -169,6 +178,7 @@ jobs: env: MAVEN_OPTS: >- ${{ env.DEFAULT_MAVEN_OPTS }} +-Dfrontend.skipTests=${{ !steps.changes.outputs.frontend }} run: > ${{ env.MAVEN_COMMAND }} jacoco:prepare-agent @@ -220,10 +230,18 @@ jobs: distribution: 'zulu' java-version: '21' cache: 'maven' + - name: Evaluate Changed Paths +uses: dorny/paths-filter@v3 +id: changes +with: + filters: | +frontend: + - 'nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/**' - name: Maven Compile env: MAVEN_OPTS: >- ${{ env.COMPILE_MAVEN_OPTS }} +-Dfrontend.skipTests=${{ !steps.changes.outputs.frontend }} run: > ${{ env.MAVEN_COMMAND }} ${{ env.MAVEN_COMPILE_COMMAND }} @@ -287,10 +305,18 @@ jobs: distribution: 'zulu' java-version: '21' cache: 'maven' + - name: Evaluate Changed Paths +uses: dorny/paths-filter@v3 +id: changes +with: + filters: | +frontend: + - 'nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/**' - name: Maven Compile env: MAVEN_OPTS: >- ${{ env.COMPILE_MAVEN_OPTS }} +-Dfrontend.skipTests=${{ !steps.changes.outputs.frontend }} run: > ${{ env.MAVEN_COMMAND_WINDOWS }} ${{ env.MAVEN_COMPILE_COMMAND }} diff --git a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/pom.xml b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/pom.xml index 324e2e023c..48fd1813d9 100644 --- a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/pom.xml +++ b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/pom.xml @@ -36,6 +36,7 @@ Ex: 'purple' // will overwrite the 'material' theme file with the 'purple' theme. --> material +true @@ -160,6 +161,7 @@ nx lint ${frontend.working.dir} +${frontend.skipTests} @@ -175,6 +177,7 @@ nx test --maxWorkers=2 ${frontend.working.dir} +${frontend.skipTests}
(nifi) branch main updated: Revert "NIFI-12973 Add Process Group scope to Flow Analysis rules" After commentary in the JIRA regarding UX and nifi-api considerations needing further discussion and reso
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 7540991a59 Revert "NIFI-12973 Add Process Group scope to Flow Analysis rules" After commentary in the JIRA regarding UX and nifi-api considerations needing further discussion and resolution. 7540991a59 is described below commit 7540991a591539aea3562ea100f4c42986cc8ba2 Author: Joseph Witt AuthorDate: Mon May 6 12:39:27 2024 -0700 Revert "NIFI-12973 Add Process Group scope to Flow Analysis rules" After commentary in the JIRA regarding UX and nifi-api considerations needing further discussion and resolution. This reverts commit bc75ef108c13cf5e75c4fbb20634c906f65c10d4. --- .../nifi/flow/VersionedFlowAnalysisRule.java | 10 --- .../nifi/web/api/dto/FlowAnalysisRuleDTO.java | 9 -- .../flowanalysis/AbstractFlowAnalysisRuleNode.java | 12 .../StandardVersionedComponentSynchronizer.java| 1 - .../flow/mapping/NiFiRegistryFlowMapper.java | 1 - .../nifi/controller/FlowAnalysisRuleNode.java | 4 --- .../org/apache/nifi/controller/FlowController.java | 2 +- .../serialization/VersionedFlowSynchronizer.java | 1 - .../nifi/flowanalysis/StandardFlowAnalyzer.java| 34 +- .../apache/nifi/audit/FlowAnalysisRuleAuditor.java | 22 -- .../org/apache/nifi/web/api/dto/DtoFactory.java| 1 - .../web/dao/impl/StandardFlowAnalysisRuleDAO.java | 4 --- .../canvas/flow-analysis-rule-configuration.jsp| 12 .../webapp/js/nf/canvas/nf-flow-analysis-rule.js | 9 -- 14 files changed, 2 insertions(+), 120 deletions(-) diff --git a/nifi-api/src/main/java/org/apache/nifi/flow/VersionedFlowAnalysisRule.java b/nifi-api/src/main/java/org/apache/nifi/flow/VersionedFlowAnalysisRule.java index 1b7154..0d5abd829b 100644 --- a/nifi-api/src/main/java/org/apache/nifi/flow/VersionedFlowAnalysisRule.java +++ b/nifi-api/src/main/java/org/apache/nifi/flow/VersionedFlowAnalysisRule.java @@ -25,8 +25,6 @@ public class VersionedFlowAnalysisRule extends VersionedConfigurableExtension { private ScheduledState scheduledState; private EnforcementPolicy enforcementPolicy; -private String scope; - @Schema(description = "How to handle violations.") public EnforcementPolicy getEnforcementPolicy() { return enforcementPolicy; @@ -36,14 +34,6 @@ public class VersionedFlowAnalysisRule extends VersionedConfigurableExtension { this.enforcementPolicy = enforcementPolicy; } -public String getScope() { -return scope; -} - -public void setScope(String scope) { -this.scope = scope; -} - @Override public ComponentType getComponentType() { return ComponentType.FLOW_ANALYSIS_RULE; diff --git a/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/FlowAnalysisRuleDTO.java b/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/FlowAnalysisRuleDTO.java index 20c964f4b5..33e2058214 100644 --- a/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/FlowAnalysisRuleDTO.java +++ b/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/FlowAnalysisRuleDTO.java @@ -42,7 +42,6 @@ public class FlowAnalysisRuleDTO extends ComponentDTO { private Boolean supportsSensitiveDynamicProperties; private String enforcementPolicy; -private String scope; private Map properties; private Map descriptors; @@ -209,14 +208,6 @@ public class FlowAnalysisRuleDTO extends ComponentDTO { this.enforcementPolicy = enforcementPolicy; } -public String getScope() { -return scope; -} - -public void setScope(String scope) { -this.scope = scope; -} - /** * @return flow analysis rule's properties */ diff --git a/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/flowanalysis/AbstractFlowAnalysisRuleNode.java b/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/flowanalysis/AbstractFlowAnalysisRuleNode.java index 13c617002e..02fe471646 100644 --- a/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/flowanalysis/AbstractFlowAnalysisRuleNode.java +++ b/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/controller/flowanalysis/AbstractFlowAnalysisRuleNode.java @@ -77,8 +77,6 @@ public abstract class AbstractFlowAnalysisRuleNode extends AbstractComponentNode private volatile String comment; private EnforcementPolicy enforcementPolic
(nifi) branch support/nifi-1.x updated: Revert "NIFI-12231 FetchSmb supports Move and Delete Completion Strategies"
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 00d90e3f4a Revert "NIFI-12231 FetchSmb supports Move and Delete Completion Strategies" 00d90e3f4a is described below commit 00d90e3f4a71eac304efaa30faf6137c8e507798 Author: Joseph Witt AuthorDate: Mon May 6 11:37:56 2024 -0700 Revert "NIFI-12231 FetchSmb supports Move and Delete Completion Strategies" This reverts commit d3a7549e8109774b06e79f13d570ef5da04c451f. --- .../processors/smb/util/CompletionStrategy.java| 49 - .../apache/nifi/services/smb/SmbClientService.java | 10 +- .../org/apache/nifi/processors/smb/FetchSmb.java | 152 +-- .../org/apache/nifi/processors/smb/ListSmb.java| 2 +- .../org/apache/nifi/processors/smb/FetchSmbIT.java | 212 ++--- .../apache/nifi/processors/smb/ListSmbTest.java| 4 +- .../nifi/processors/smb/SambaTestContainers.java | 59 ++ .../nifi/services/smb/SmbjClientService.java | 113 --- .../nifi/services/smb/SmbjClientServiceIT.java | 2 +- .../nifi/services/smb/SmbjClientServiceTest.java | 2 +- 10 files changed, 123 insertions(+), 482 deletions(-) diff --git a/nifi-extension-bundles/nifi-smb-bundle/nifi-smb-processors/src/main/java/org/apache/nifi/processors/smb/util/CompletionStrategy.java b/nifi-extension-bundles/nifi-smb-bundle/nifi-smb-processors/src/main/java/org/apache/nifi/processors/smb/util/CompletionStrategy.java deleted file mode 100644 index cf3dd0fcbf..00 --- a/nifi-extension-bundles/nifi-smb-bundle/nifi-smb-processors/src/main/java/org/apache/nifi/processors/smb/util/CompletionStrategy.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * 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. - */ -package org.apache.nifi.processors.smb.util; - -import org.apache.nifi.components.DescribedValue; - -public enum CompletionStrategy implements DescribedValue { - -NONE("None", "Leaves the file as-is."), -MOVE("Move File", "Moves the file to the specified directory on the remote system. This option cannot be used when DFS is enabled on 'SMB Client Provider Service'."), -DELETE("Delete File", "Deletes the file from the remote system."); - -private final String displayName; -private final String description; - -CompletionStrategy(String displayName, String description) { -this.displayName = displayName; -this.description = description; -} - -@Override -public String getValue() { -return name(); -} - -@Override -public String getDisplayName() { -return displayName; -} - -@Override -public String getDescription() { -return description; -} -} diff --git a/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-client-api/src/main/java/org/apache/nifi/services/smb/SmbClientService.java b/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-client-api/src/main/java/org/apache/nifi/services/smb/SmbClientService.java index c70dea133e..9eb0e41a67 100644 --- a/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-client-api/src/main/java/org/apache/nifi/services/smb/SmbClientService.java +++ b/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-client-api/src/main/java/org/apache/nifi/services/smb/SmbClientService.java @@ -25,13 +25,9 @@ import java.util.stream.Stream; */ public interface SmbClientService extends AutoCloseable { -Stream listFiles(String directoryPath); +Stream listRemoteFiles(String path); -void ensureDirectory(String directoryPath); +void createDirectory(String path); -void readFile(String filePath, OutputStream outputStream) throws IOException; - -void moveFile(String filePath, String directoryPath); - -void deleteFile(String filePath); +void readFile(String fileName, OutputStream outputStream) throws IOException; } diff --git a/nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/src/main/java/org/apache/nifi/processors/smb/FetchSmb.java
(nifi) 01/02: NIFI-13148 Excluded unused xmlunit dependency from nifi-registry-test This closes #8750.
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 68a885d3906014e6b75c07273c42e6a350cf5886 Author: exceptionfactory AuthorDate: Mon May 6 11:23:01 2024 -0500 NIFI-13148 Excluded unused xmlunit dependency from nifi-registry-test This closes #8750. - Updated OWASP Dependency Check Suppression configuration to remove non-applicable suppressions Signed-off-by: Joseph Witt --- nifi-dependency-check-maven/suppressions.xml | 46 -- .../nifi-registry-core/nifi-registry-test/pom.xml | 5 +++ 2 files changed, 13 insertions(+), 38 deletions(-) diff --git a/nifi-dependency-check-maven/suppressions.xml b/nifi-dependency-check-maven/suppressions.xml index 16f768e997..e7c879a351 100644 --- a/nifi-dependency-check-maven/suppressions.xml +++ b/nifi-dependency-check-maven/suppressions.xml @@ -24,11 +24,6 @@ ^pkg:maven/xerces/xercesImpl@.*$ CVE-2017-10355 - -CVE-2020-13955 applies to Apache Calcite not Apache Calcite Druid -^pkg:maven/org\.apache\.calcite\/calcite-druid@.*$ -CVE-2020-13955 - CVE-2007-6465 applies to Ganglia Server not Ganglia client libraries ^pkg:maven/com\.yammer\.metrics/metrics\-ganglia@.*$ @@ -104,11 +99,6 @@ ^pkg:maven/org\.apache\.kafka/kafka.*?@.*$ CVE-2023-25194 - -CVE-2022-24823 applies to Netty HTTP decoding which is not applicable to Apache Kudu clients -^pkg:maven/io\.netty/netty.*?@.*$ -CVE-2022-24823 - CVE-2022-41915 applies to Netty HTTP decoding which is not applicable to Apache Kudu clients ^pkg:maven/io\.netty/netty.*?@.*$ @@ -189,11 +179,6 @@ ^pkg:maven/org\.apache\.thrift/libfb303@.*$ CVE-2019-3559 - -The jetty-servlet-api is versioned according to the Java Servlet API version not the Jetty version -^pkg:maven/org\.eclipse\.jetty\.toolchain/jetty\-servlet\-api@.*$ -cpe:/a:eclipse:jetty - CVE-2023-37475 applies to Hamba Avro in Go not Apache Avro for Java ^pkg:maven/org\.apache\.avro/.*$ @@ -219,11 +204,6 @@ ^pkg:maven/org\.apache\.parquet/parquet\-(?!mr).*$ cpe:/a:apache:parquet-mr - -Apache Hadoop vulnerabilities do not apply to Parquet Hadoop Bundle library -^pkg:maven/org\.apache\.parquet/parquet\-hadoop\-bundle@.*$ -cpe:/a:apache:hadoop - CVE-2019-11358 applies to bundled copies of jQuery not used in the project ^pkg:javascript/jquery@.*$ @@ -284,29 +264,19 @@ ^pkg:maven/com\.azure/.*$ CVE-2023-36052 - -software.amazon.ion:ion-java is newer than com.amazonaws.ion:ion-java and does not share the same vulnerabilities -^pkg:maven/software\.amazon\.ion/ion\-java@.*$ -cpe:/a:amazon:ion - - -CVE-2017-20189 applies to the Clojure library not the spec files which have a different version number -^pkg:maven/org\.clojure/spec\.alpha@.*$ -CVE-2017-20189 - - -CVE-2017-20189 applies to the Clojure library not the spec files which have a different version number -^pkg:maven/org\.clojure/core\.specs\.alpha@.*$ -CVE-2017-20189 - Findings for Apache Hadoop do not apply to the shaded Protobuf library ^pkg:maven/org\.apache\.hadoop\.thirdparty/hadoop\-shaded\-protobuf_3_21@.*$ cpe:/a:apache:hadoop -CVE-2024-22201 applies to Jetty Server 10.0.19 and not Jetty client usage in Solr -^pkg:maven/org\.eclipse\.jetty\.http2/http2\-common@.*$ -CVE-2024-22201 +CVE-2024-23081 applies to threetenbp 1.6.8 and earlier not 1.6.9 +^pkg:maven/org\.threeten/threetenbp@.*$ +CVE-2024-23081 + + +CVE-2024-23082 applies to threetenbp 1.6.8 and earlier not 1.6.9 +^pkg:maven/org\.threeten/threetenbp@.*$ +CVE-2024-23082 diff --git a/nifi-registry/nifi-registry-core/nifi-registry-test/pom.xml b/nifi-registry/nifi-registry-core/nifi-registry-test/pom.xml index ccde7a580c..b22bf5daac 100644 --- a/nifi-registry/nifi-registry-core/nifi-registry-test/pom.xml +++ b/nifi-registry/nifi-registry-core/nifi-registry-test/pom.xml @@ -31,6 +31,11 @@ org.springframework.boot spring-boot-starter-logging + + +org.xmlunit +xmlunit-core +
(nifi) 02/02: NIFI-13147 Remove include-new-ui profile and include it by default always. This closes #8749.
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 b0ace45b554b0a81ffa86ad4e86cc1a486239675 Author: Matt Gilman AuthorDate: Mon May 6 10:47:57 2024 -0400 NIFI-13147 Remove include-new-ui profile and include it by default always. This closes #8749. Signed-off-by: Joseph Witt --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/workflows/ci-workflow.yml | 3 -- .../nifi-web-frontend/src/main/nifi/README.md | 15 +++ .../nifi-framework/nifi-web/pom.xml| 50 +- nifi-framework-bundle/nifi-server-nar/pom.xml | 25 +++ 5 files changed, 13 insertions(+), 82 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4d507003bf..b459fbbb3a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -44,7 +44,7 @@ Please indicate the verification steps performed prior to pull request creation. ### UI Contributions -- [ ] NiFi is modernizing its UI. Any contributions that update the [current UI](https://github.com/apache/nifi/tree/main/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui) also need to be implemented in the [new UI](https://github.com/apache/nifi/tree/main/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi). +- [ ] NiFi is modernizing its UI. Any contributions that update the [current UI](https://github.com/apache/nifi/tree/main/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui) also need to be implemented in the [new UI](https://github.com/apache/nifi/tree/main/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi). ### Licensing diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index bd63b1296c..c5a9a02ce5 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -53,7 +53,6 @@ env: -pl -:nifi-nar-provider-assembly -pl -:nifi-py4j-integration-tests -pl -:nifi-python-extensions-bundle --P include-new-ui MAVEN_VERIFY_COMMAND: >- verify --show-version @@ -63,7 +62,6 @@ env: -D dir-only MAVEN_BUILD_PROFILES: >- -P skip-nifi-bin-assembly --P include-new-ui MAVEN_PROJECTS: >- -pl -minifi/minifi-assembly -pl -minifi/minifi-toolkit/minifi-toolkit-assembly @@ -114,7 +112,6 @@ jobs: --no-transfer-progress --fail-fast -P contrib-check - -P include-new-ui - name: Initialize CodeQL uses: github/codeql-action/init@v3 with: diff --git a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/README.md b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/README.md index a846a526db..3c9a5e1caa 100644 --- a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/README.md +++ b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/README.md @@ -6,17 +6,12 @@ This module is the primary UI for NiFi. It contains the canvas and all UI's for that support other UIs that intergate with this. These include documentation, data viewers, advanced configuration UIs, error handling, and Registry UIs. Overtime, these will all be modernized and possibly brought into this Nx repo to co-locate all the front end code. -In its current state it is not quite ready to replace the existing UI as there are a few features that are not implemented yet. The new UI will not -be available with the default build. However, if the build activates the `include-new-ui` profile the new UI will be built and included. On startup, -NiFi has been updated to locate the new UI and if present deploy it to a new context path (`/nf`). If the new UI is not found, nothing is deployed to -the new context path and the application functions as it does today. +On startup, NiFi has been updated to locate the new UI and deploy it to a new context path (`/nf`). One thing to note, when using the new UI running +in NiFi at `/nf`, the user can log in and use the application. When logging out however, there is a hardcoded redirect that happens from the back end +which sends the user to the old UI (`/nifi`). -One thing to note, when using the new UI running in NiFi at `/nf`, the user can log in and use the application. When logging out however, there is -a hardcoded redirect that happens from the back end which sends the user to the old UI (`/nifi`). - -Once the remaining features have been implemented, the look and feel has be polished, and it is ready for release the old UI will be removed, update -the context path for the new UI to use `/nifi`, and remove the `include-new-ui` Maven profile. At that point, the logout redirect
(nifi) branch main updated (7a6c26fd96 -> b0ace45b55)
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 7a6c26fd96 NIFI-13144 improved depependency update config and various dependencies new 68a885d390 NIFI-13148 Excluded unused xmlunit dependency from nifi-registry-test This closes #8750. new b0ace45b55 NIFI-13147 Remove include-new-ui profile and include it by default always. This closes #8749. 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: .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/workflows/ci-workflow.yml | 3 -- nifi-dependency-check-maven/suppressions.xml | 46 .../nifi-web-frontend/src/main/nifi/README.md | 15 +++ .../nifi-framework/nifi-web/pom.xml| 50 +- nifi-framework-bundle/nifi-server-nar/pom.xml | 25 +++ .../nifi-registry-core/nifi-registry-test/pom.xml | 5 +++ 7 files changed, 26 insertions(+), 120 deletions(-)
(nifi) branch support/nifi-1.x updated: NIFI-13137 - Switch to Zulu for MacOS Java 8 action This closes #8739.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 5adc0d8cb8 NIFI-13137 - Switch to Zulu for MacOS Java 8 action This closes #8739. 5adc0d8cb8 is described below commit 5adc0d8cb834206e09138d1310c303bdfa985df0 Author: Pierre Villard AuthorDate: Fri May 3 16:56:07 2024 +0200 NIFI-13137 - Switch to Zulu for MacOS Java 8 action This closes #8739. Signed-off-by: Joseph Witt --- .github/workflows/ci-workflow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index fd23fef6c1..bb258143ea 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -241,7 +241,7 @@ jobs: macos-build-jp: timeout-minutes: 150 runs-on: macos-latest -name: MacOS Temurin JDK 8 JP +name: MacOS Zulu JDK 8 JP steps: - name: System Information run: | @@ -261,7 +261,7 @@ jobs: - name: Set up Java 8 uses: actions/setup-java@v3 with: - distribution: 'temurin' + distribution: 'zulu' java-version: '8' cache: 'maven' - name: Maven Compile
(nifi) 01/01: NIFI-13006 solr component marked as deprecated
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch NIFI-13006 in repository https://gitbox.apache.org/repos/asf/nifi.git commit 63ca5c9aa6e8c08f52885dc24751aa0934843f6c Author: Joseph Witt AuthorDate: Fri Apr 26 11:01:46 2024 -0700 NIFI-13006 solr component marked as deprecated --- .../src/main/java/org/apache/nifi/processors/solr/GetSolr.java | 2 ++ .../main/java/org/apache/nifi/processors/solr/PutSolrContentStream.java | 2 ++ .../src/main/java/org/apache/nifi/processors/solr/PutSolrRecord.java| 2 ++ .../src/main/java/org/apache/nifi/processors/solr/QuerySolr.java| 2 ++ 4 files changed, 8 insertions(+) diff --git a/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java b/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java index ce6e3fd993..ec556fe929 100644 --- a/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java +++ b/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java @@ -23,6 +23,7 @@ import org.apache.nifi.annotation.behavior.InputRequirement.Requirement; import org.apache.nifi.annotation.behavior.Stateful; import org.apache.nifi.annotation.configuration.DefaultSchedule; import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.DeprecationNotice; import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.annotation.lifecycle.OnScheduled; import org.apache.nifi.components.AllowableValue; @@ -96,6 +97,7 @@ import static org.apache.nifi.processors.solr.SolrUtils.ZK_CONNECTION_TIMEOUT; @CapabilityDescription("Queries Solr and outputs the results as a FlowFile in the format of XML or using a Record Writer") @Stateful(scopes = {Scope.CLUSTER}, description = "Stores latest date of Date Field so that the same data will not be fetched multiple times.") @DefaultSchedule(strategy = SchedulingStrategy.TIMER_DRIVEN, period = "1 min") +@DeprecationNotice(reason = "The SOLR processors are deprecated and will be removed in NiFi 2.x.") public class GetSolr extends SolrProcessor { public static final String STATE_MANAGER_FILTER = "stateManager_filter"; diff --git a/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/PutSolrContentStream.java b/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/PutSolrContentStream.java index 5bfc7b7a0b..a116cb6cb7 100644 --- a/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/PutSolrContentStream.java +++ b/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/PutSolrContentStream.java @@ -22,6 +22,7 @@ import org.apache.nifi.annotation.behavior.DynamicProperty; import org.apache.nifi.annotation.behavior.InputRequirement; import org.apache.nifi.annotation.behavior.InputRequirement.Requirement; import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.DeprecationNotice; import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.expression.ExpressionLanguageScope; @@ -77,6 +78,7 @@ import static org.apache.nifi.processors.solr.SolrUtils.ZK_CONNECTION_TIMEOUT; @CapabilityDescription("Sends the contents of a FlowFile as a ContentStream to Solr") @DynamicProperty(name="A Solr request parameter name", value="A Solr request parameter value", description="These parameters will be passed to Solr on the request") +@DeprecationNotice(reason = "The SOLR processors are deprecated and will be removed in NiFi 2.x.") public class PutSolrContentStream extends SolrProcessor { public static final PropertyDescriptor CONTENT_STREAM_PATH = new PropertyDescriptor diff --git a/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/PutSolrRecord.java b/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/PutSolrRecord.java index 90dccfd91a..ea2dcfe635 100644 --- a/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/PutSolrRecord.java +++ b/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/PutSolrRecord.java @@ -22,6 +22,7 @@ import org.apache.nifi.annotation.behavior.DynamicProperty; import org.apache.nifi.annotation.behavior.InputRequirement; import org.apache.nifi.annotation.behavior.InputRequ
(nifi) branch NIFI-13006 created (now 63ca5c9aa6)
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a change to branch NIFI-13006 in repository https://gitbox.apache.org/repos/asf/nifi.git at 63ca5c9aa6 NIFI-13006 solr component marked as deprecated This branch includes the following new commits: new 63ca5c9aa6 NIFI-13006 solr component marked as deprecated 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) branch main updated: NIFI-12986 Remove depreciation warning from ProcessSession.commit Explain advantage of commitAsync in ProcessSession
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 49862d5342 NIFI-12986 Remove depreciation warning from ProcessSession.commit Explain advantage of commitAsync in ProcessSession 49862d5342 is described below commit 49862d5342f5641f49ff1c2493259dd9628d92c2 Author: Lucas <1115+endzeitbeg...@users.noreply.github.com> AuthorDate: Mon Apr 22 20:14:09 2024 +0300 NIFI-12986 Remove depreciation warning from ProcessSession.commit Explain advantage of commitAsync in ProcessSession This closes #8683 Signed-off-by: Joseph Witt --- .../src/main/java/org/apache/nifi/processor/ProcessSession.java| 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nifi-api/src/main/java/org/apache/nifi/processor/ProcessSession.java b/nifi-api/src/main/java/org/apache/nifi/processor/ProcessSession.java index ecbb9a4019..b3a33dcb3f 100644 --- a/nifi-api/src/main/java/org/apache/nifi/processor/ProcessSession.java +++ b/nifi-api/src/main/java/org/apache/nifi/processor/ProcessSession.java @@ -75,10 +75,11 @@ public interface ProcessSession { * All FlowFiles operated on within this session must be accounted for by transfer or removal or the commit will fail. * * As soon as the commit completes the session is again ready to be used. + * + * See {@link #commitAsync()}, {@link #commitAsync(Runnable)}, and {@link #commitAsync(Runnable, Consumer)}. + * The asynchronous session commit methods are preferable to this commit call for most cases + * as it defers when the actual commit happens to the framework so that it can optimize when the commit call takes place. * - * @deprecated As of NiFi 1.14.0, replaced by {@link #commitAsync()}, {@link #commitAsync(Runnable)}, and {@link #commitAsync(Runnable, Consumer)}. - * The synchronous API is less suited for execution in different runtimes, e.g. MiNiFi or Stateless NiFi, - * and may cause the dataflow in such runtimes to get stuck. * @throws IllegalStateException if detected that this method is being called from within a read or write callback * (see {@link #read(FlowFile, InputStreamCallback)}, {@link #write(FlowFile, StreamCallback)}, * {@link #write(FlowFile, OutputStreamCallback)}) or while a read or write stream is open
(nifi) branch main updated: NIFI-13042 Support Python 3.12 for Python Processors This closes #8644.
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 2d9943e2d3 NIFI-13042 Support Python 3.12 for Python Processors This closes #8644. 2d9943e2d3 is described below commit 2d9943e2d30561bc28969c1c3f626f4754d671ab Author: exceptionfactory AuthorDate: Fri Apr 12 17:41:15 2024 -0500 NIFI-13042 Support Python 3.12 for Python Processors This closes #8644. - Updated Controller.py main function to join non-daemon threads avoiding RuntimeError on Python 3.12 - Replaced deprecated find_module method with find_spec - Updated documentation to include support for Python 3.12 Signed-off-by: Joseph Witt --- nifi-docs/src/main/asciidoc/administration-guide.adoc| 4 ++-- nifi-docs/src/main/asciidoc/python-developer-guide.adoc | 2 +- .../src/main/python/framework/Controller.py | 9 - .../src/main/python/framework/ExtensionManager.py| 4 ++-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/nifi-docs/src/main/asciidoc/administration-guide.adoc b/nifi-docs/src/main/asciidoc/administration-guide.adoc index fd5248948f..b2fbeb50c4 100644 --- a/nifi-docs/src/main/asciidoc/administration-guide.adoc +++ b/nifi-docs/src/main/asciidoc/administration-guide.adoc @@ -24,7 +24,7 @@ Apache NiFi Team Apache NiFi can run on something as simple as a laptop, but it can also be clustered across many enterprise-class servers. Therefore, the amount of hardware and memory needed will depend on the size and nature of the dataflow involved. The data is stored on disk while NiFi is processing it. So NiFi needs to have sufficient disk space allocated for its various repositories, particularly the content repository, flowfile repository, and provenance repository (see the <> s [...] * Requires Java 21 -* Use of Python-based Processors (beta feature) requires Python 3.9, 3.10 or 3.11 +* Use of Python-based Processors (beta feature) requires Python 3.9, 3.10, 3.11, or 3.12 * Supported Operating Systems: ** Linux ** Unix @@ -231,7 +231,7 @@ The `name` attribute must start with `deprecation`, followed by the component cl NiFi is a Java-based application. NiFi 2.0 introduces support for a Python-based Processor API. This capability is still considered to be in "Beta" mode and should not be used in production. By default, support for Python-based Processors is disabled. In order to enable it, -Python 3.9, 3.10 or 3.11 must be installed on the NiFi node (Python 3.12 is not supported yet). +Python 3.9, 3.10, 3.11, or 3.12 must be installed on the NiFi node. The following properties may be used to configure the Python 3 installation and process management. These properties are all located under the "Python Extensions" heading in the _nifi.properties_ file: diff --git a/nifi-docs/src/main/asciidoc/python-developer-guide.adoc b/nifi-docs/src/main/asciidoc/python-developer-guide.adoc index b798fb6d0f..fc85521ecb 100644 --- a/nifi-docs/src/main/asciidoc/python-developer-guide.adoc +++ b/nifi-docs/src/main/asciidoc/python-developer-guide.adoc @@ -509,7 +509,7 @@ because we know that the ListFile Processor will produce these attributes for us [[requirements]] == Requirements -The Python API requires that Python 3.9, 3.10 or 3.11 is available on the machine hosting NiFi (Python 3.12 is not supported yet). +The Python API requires that Python 3.9, 3.10, 3.11, or 3.12 is available on the machine hosting NiFi. Each Processor may have its own list of requirements / dependencies. These are made available to the Processor by creating a separate environment for each Processor implementation (not for each instance of a Processor on the canvas). PyPI is then used to install these diff --git a/nifi-nar-bundles/nifi-py4j-bundle/nifi-python-framework/src/main/python/framework/Controller.py b/nifi-nar-bundles/nifi-py4j-bundle/nifi-python-framework/src/main/python/framework/Controller.py index b40a444d28..038911271c 100644 --- a/nifi-nar-bundles/nifi-py4j-bundle/nifi-python-framework/src/main/python/framework/Controller.py +++ b/nifi-nar-bundles/nifi-py4j-bundle/nifi-python-framework/src/main/python/framework/Controller.py @@ -127,4 +127,11 @@ if __name__ == "__main__": # Notify the Java side of the port that Python is listening on gateway.java_gateway_server.resetCallbackClient( gateway.java_gateway_server.getCallbackClient().getAddress(), -python_port) \ No newline at end of file +python_port) + +# Join main thread to non-daemon threads in order to avoid RuntimeError on Python 3.12 blocking new thread creation in Py4J +import threading +for thread in threading.enumerate(): +if thread.daemon or thread is threading.cur
(nifi) branch support/nifi-1.x updated: NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where we were comparing existingConnection.getProcessGroup() to newDestination.getProcessGro
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 212763dd79 NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where we were comparing existingConnection.getProcessGroup() to newDestination.getProcessGroup(), instead of comparing existingConnection.getDestination().getProcessGroup() to newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG to the Connection's PG instead of comparing Destination's PG to Destination's PG. This resulted in using a temporary funnel when we shouldn't. And as [...] 212763dd79 is described below commit 212763dd79b3652c9870ff6a59db28c232113c55 Author: Mark Payne AuthorDate: Wed Apr 3 16:35:35 2024 -0400 NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where we were comparing existingConnection.getProcessGroup() to newDestination.getProcessGroup(), instead of comparing existingConnection.getDestination().getProcessGroup() to newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG to the Connection's PG instead of comparing Destination's PG to Destination's PG. This resulted in using a temporary funnel when we shouldn't. And as a result it atte [...] Signed-off-by: Joseph Witt --- .../flow/synchronization/StandardVersionedComponentSynchronizer.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java index 0951775778..12420e3764 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java @@ -735,7 +735,7 @@ public class StandardVersionedComponentSynchronizer implements VersionedComponen // If the destination is an Input Port or an Output Port and the group changed, use a temp destination final ConnectableType connectableType = newDestination.getConnectableType(); final boolean port = connectableType == ConnectableType.OUTPUT_PORT || connectableType == ConnectableType.INPUT_PORT; -final boolean groupChanged = !newDestination.getProcessGroup().equals(existingConnection.getProcessGroup()); +final boolean groupChanged = !newDestination.getProcessGroup().equals(existingConnection.getDestination().getProcessGroup()); if (port && groupChanged) { LOG.debug("Will use a temporary destination for {} because its destination is a port whose group has changed", existingConnection); return true;
(nifi) branch main updated: NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where we were comparing existingConnection.getProcessGroup() to newDestination.getProcessGroup(), instea
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 3a03caa149 NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where we were comparing existingConnection.getProcessGroup() to newDestination.getProcessGroup(), instead of comparing existingConnection.getDestination().getProcessGroup() to newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG to the Connection's PG instead of comparing Destination's PG to Destination's PG. This resulted in using a temporary funnel when we shouldn't. And as [...] 3a03caa149 is described below commit 3a03caa14968d0c9a2e6790373871e886b632f09 Author: Mark Payne AuthorDate: Wed Apr 3 16:35:35 2024 -0400 NIFI-12969: Fixed a typo in the #isTempDestinationNecessary method, where we were comparing existingConnection.getProcessGroup() to newDestination.getProcessGroup(), instead of comparing existingConnection.getDestination().getProcessGroup() to newDestination.getProcessGroup(). I.e., we were comparing the Destination's PG to the Connection's PG instead of comparing Destination's PG to Destination's PG. This resulted in using a temporary funnel when we shouldn't. And as a result it atte [...] This closes #8600. Signed-off-by: Joseph Witt --- .../flow/synchronization/StandardVersionedComponentSynchronizer.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java index 74ffd715b3..7b128fc6bd 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java @@ -741,7 +741,7 @@ public class StandardVersionedComponentSynchronizer implements VersionedComponen // If the destination is an Input Port or an Output Port and the group changed, use a temp destination final ConnectableType connectableType = newDestination.getConnectableType(); final boolean port = connectableType == ConnectableType.OUTPUT_PORT || connectableType == ConnectableType.INPUT_PORT; -final boolean groupChanged = !newDestination.getProcessGroup().equals(existingConnection.getProcessGroup()); +final boolean groupChanged = !newDestination.getProcessGroup().equals(existingConnection.getDestination().getProcessGroup()); if (port && groupChanged) { LOG.debug("Will use a temporary destination for {} because its destination is a port whose group has changed", existingConnection); return true;
(nifi) branch main updated: NIFI-5894 set a default last modified time when no last modified time is provided instead of NPE
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 0bd3635ff9 NIFI-5894 set a default last modified time when no last modified time is provided instead of NPE 0bd3635ff9 is described below commit 0bd3635ff9cd3c1c700fe551cb66aa366f1c9186 Author: Eric AuthorDate: Wed Dec 19 14:11:38 2018 -0500 NIFI-5894 set a default last modified time when no last modified time is provided instead of NPE This closes #3229. Signed-off-by: Joseph Witt --- .../java/org/apache/nifi/processors/standard/util/FTPTransfer.java| 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java index 057f66c8a5..e9cb364df4 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer.java @@ -313,12 +313,14 @@ public class FTPTransfer implements FileTransfer { perms.append(file.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.WRITE_PERMISSION) ? "w" : "-"); perms.append(file.hasPermission(FTPFile.WORLD_ACCESS, FTPFile.EXECUTE_PERMISSION) ? "x" : "-"); +final long lastModifiedTime = (file.getTimestamp() != null) ? file.getTimestamp().getTimeInMillis() : 0L; + FileInfo.Builder builder = new FileInfo.Builder() .filename(file.getName()) .fullPathFileName(newFullForwardPath) .directory(file.isDirectory()) .size(file.getSize()) -.lastModifiedTime(file.getTimestamp().getTimeInMillis()) +.lastModifiedTime(lastModifiedTime) .permissions(perms.toString()) .owner(file.getUser()) .group(file.getGroup());
(nifi) branch main updated: NIFI-12943 Upgraded Hadoop from 3.3.6 to 3.4.0 This closes #8556
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 dd9d1c978f NIFI-12943 Upgraded Hadoop from 3.3.6 to 3.4.0 This closes #8556 dd9d1c978f is described below commit dd9d1c978f7d4854ac0d53140f72f7c96c4e1d71 Author: exceptionfactory AuthorDate: Mon Mar 25 09:06:27 2024 -0500 NIFI-12943 Upgraded Hadoop from 3.3.6 to 3.4.0 This closes #8556 Signed-off-by: Joseph Witt --- nifi-nar-bundles/nifi-extension-utils/nifi-hadoop-utils/pom.xml | 9 + .../nifi-record-utils/nifi-hadoop-record-utils/pom.xml | 9 + nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml | 9 + .../nifi-hadoop-libraries-nar/pom.xml| 9 + nifi-nar-bundles/nifi-hive-bundle/pom.xml| 5 + nifi-nar-bundles/nifi-iceberg-bundle/pom.xml | 5 + .../nifi-parquet-bundle/nifi-parquet-processors/pom.xml | 9 + .../nifi-hadoop-dbcp-service/pom.xml | 5 + pom.xml | 2 +- 9 files changed, 61 insertions(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-hadoop-utils/pom.xml b/nifi-nar-bundles/nifi-extension-utils/nifi-hadoop-utils/pom.xml index cf1d9242a3..d1e4968f83 100644 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-hadoop-utils/pom.xml +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-hadoop-utils/pom.xml @@ -76,8 +76,17 @@ commons-logging commons-logging + + +org.bouncycastle +bcprov-jdk15on + + +org.bouncycastle +bcprov-jdk18on + org.apache.hadoop hadoop-auth diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-hadoop-record-utils/pom.xml b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-hadoop-record-utils/pom.xml index 978495d3b3..e01ed8aa80 100644 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-hadoop-record-utils/pom.xml +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-hadoop-record-utils/pom.xml @@ -64,8 +64,17 @@ commons-logging commons-logging + + +org.bouncycastle +bcprov-jdk15on + + +org.bouncycastle +bcprov-jdk18on + org.slf4j jcl-over-slf4j diff --git a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml index 357f057dbc..420086edde 100644 --- a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml +++ b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/pom.xml @@ -67,8 +67,17 @@ commons-logging commons-logging + + +org.bouncycastle +bcprov-jdk15on + + +org.bouncycastle +bcprov-jdk18on + org.apache.hadoop hadoop-hdfs diff --git a/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml b/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml index 2d2a8c1f49..a0d2c466a4 100644 --- a/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml +++ b/nifi-nar-bundles/nifi-hadoop-libraries-bundle/nifi-hadoop-libraries-nar/pom.xml @@ -73,8 +73,17 @@ org.eclipse.jetty jetty-rewrite + + +org.bouncycastle +bcprov-jdk15on + + +org.bouncycastle +bcprov-jdk18on + org.slf4j log4j-over-slf4j diff --git a/nifi-nar-bundles/nifi-hive-bundle/pom.xml b/nifi-nar-bundles/nifi-hive-bundle/pom.xml index 48c41e0089..1c7544f072 100644 --- a/nifi-nar-bundles/nifi-hive-bundle/pom.xml +++ b/nifi-nar-bundles/nifi-hive-bundle/pom.xml @@ -245,6 +245,11 @@ org.eclipse.jetty jetty-rewrite + + +org.bouncycastle +bcprov-jdk15on + diff --git a/nifi-nar-bundles/nifi
(nifi) branch support/nifi-1.x updated: NIFI-12911 Upgraded Jagged from 0.3.0 to 0.3.2
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 06e452742b NIFI-12911 Upgraded Jagged from 0.3.0 to 0.3.2 06e452742b is described below commit 06e452742b82364def9be816efde7cc026bf7f41 Author: exceptionfactory AuthorDate: Fri Mar 15 16:01:47 2024 -0500 NIFI-12911 Upgraded Jagged from 0.3.0 to 0.3.2 --- nifi-nar-bundles/nifi-cipher-bundle/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-cipher-bundle/pom.xml b/nifi-nar-bundles/nifi-cipher-bundle/pom.xml index 6fb6d30f62..e918ee4594 100644 --- a/nifi-nar-bundles/nifi-cipher-bundle/pom.xml +++ b/nifi-nar-bundles/nifi-cipher-bundle/pom.xml @@ -36,7 +36,7 @@ com.exceptionfactory.jagged jagged-bom -0.3.0 +0.3.2 import pom
(nifi) branch main updated: NIFI-12911 Upgraded Jagged from 0.3.0 to 0.3.2 This closes #8522.
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 d62c8054d0 NIFI-12911 Upgraded Jagged from 0.3.0 to 0.3.2 This closes #8522. d62c8054d0 is described below commit d62c8054d016bbbd96b949e804fa471c6b24d274 Author: exceptionfactory AuthorDate: Fri Mar 15 16:01:47 2024 -0500 NIFI-12911 Upgraded Jagged from 0.3.0 to 0.3.2 This closes #8522. Signed-off-by: Joseph Witt --- nifi-nar-bundles/nifi-cipher-bundle/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-cipher-bundle/pom.xml b/nifi-nar-bundles/nifi-cipher-bundle/pom.xml index b3e6233c0f..049d23b0de 100644 --- a/nifi-nar-bundles/nifi-cipher-bundle/pom.xml +++ b/nifi-nar-bundles/nifi-cipher-bundle/pom.xml @@ -36,7 +36,7 @@ com.exceptionfactory.jagged jagged-bom -0.3.0 +0.3.2 import pom
(nifi) branch main updated: NIFI-12910 Upgraded Spring Framework from 6.0.17 to 6.0.18 This closes #8520.
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 82ea7a284c NIFI-12910 Upgraded Spring Framework from 6.0.17 to 6.0.18 This closes #8520. 82ea7a284c is described below commit 82ea7a284c164ab1de4fecdc41209018a3c208c7 Author: exceptionfactory AuthorDate: Fri Mar 15 15:54:11 2024 -0500 NIFI-12910 Upgraded Spring Framework from 6.0.17 to 6.0.18 This closes #8520. - Upgraded Spring Boot from 3.2.2 to 3.2.3 for Registry - Upgraded Spring Framework from 6.1.4 to 6.1.5 for Registry Signed-off-by: Joseph Witt --- nifi-registry/pom.xml | 4 ++-- pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nifi-registry/pom.xml b/nifi-registry/pom.xml index 6dea181c9b..5bdeeb5d3a 100644 --- a/nifi-registry/pom.xml +++ b/nifi-registry/pom.xml @@ -35,8 +35,8 @@ nifi-registry-docker-maven -6.1.4 -3.2.2 +6.1.5 +3.2.3 9.22.3 9.5.0 3.12.0 diff --git a/pom.xml b/pom.xml index df42bb2751..67f63cf42e 100644 --- a/pom.xml +++ b/pom.xml @@ -151,7 +151,7 @@ 2.2 4.1.106.Final 6.0.0 -6.0.17 +6.0.18 6.2.2 2.2.20 2.2.224
(nifi) branch main updated: NIFI-12772 Expose REMOTE_POLL_BATCH_SIZE property for ListSFTP
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 89b618cc05 NIFI-12772 Expose REMOTE_POLL_BATCH_SIZE property for ListSFTP 89b618cc05 is described below commit 89b618cc052a19bb4bcdbe8f7067ad996aad614d Author: Tom Brisland AuthorDate: Fri Feb 9 23:13:35 2024 + NIFI-12772 Expose REMOTE_POLL_BATCH_SIZE property for ListSFTP This closes #8390. revert max results optimisation + unnecessary import Signed-off-by: Joseph Witt --- .../util/file/transfer/ListFileTransfer.java | 9 +- .../apache/nifi/processors/standard/ListSFTP.java | 3 +- .../nifi/processors/standard/TestListSFTP.java | 37 +++--- 3 files changed, 29 insertions(+), 20 deletions(-) diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-file-transfer/src/main/java/org/apache/nifi/processor/util/file/transfer/ListFileTransfer.java b/nifi-nar-bundles/nifi-extension-utils/nifi-file-transfer/src/main/java/org/apache/nifi/processor/util/file/transfer/ListFileTransfer.java index 1106b27fa3..af10d592d9 100644 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-file-transfer/src/main/java/org/apache/nifi/processor/util/file/transfer/ListFileTransfer.java +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-file-transfer/src/main/java/org/apache/nifi/processor/util/file/transfer/ListFileTransfer.java @@ -31,7 +31,6 @@ import java.time.Instant; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; @@ -124,13 +123,7 @@ public abstract class ListFileTransfer extends AbstractListProcessor { return listing; } -final Iterator itr = listing.iterator(); -while (itr.hasNext()) { -final FileInfo next = itr.next(); -if (next.getLastModifiedTime() < minTimestamp) { -itr.remove(); -} -} +listing.removeIf(file -> file.getLastModifiedTime() < minTimestamp); return listing; } diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListSFTP.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListSFTP.java index 16a4e8e14e..1d3e498a0c 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListSFTP.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListSFTP.java @@ -100,6 +100,7 @@ public class ListSFTP extends ListFileTransfer { properties.add(SFTPTransfer.FILE_FILTER_REGEX); properties.add(SFTPTransfer.PATH_FILTER_REGEX); properties.add(SFTPTransfer.IGNORE_DOTTED_FILES); +properties.add(SFTPTransfer.REMOTE_POLL_BATCH_SIZE); properties.add(SFTPTransfer.STRICT_HOST_KEY_CHECKING); properties.add(SFTPTransfer.HOST_KEY_FILE); properties.add(SFTPTransfer.CONNECTION_TIMEOUT); @@ -176,7 +177,7 @@ public class ListSFTP extends ListFileTransfer { final Long maxAge = context.getProperty(ListFile.MAX_AGE).asTimePeriod(TimeUnit.MILLISECONDS); return (attributes) -> { -if(attributes.isDirectory()) { +if (attributes.isDirectory()) { return true; } diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListSFTP.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListSFTP.java index f2340238c1..2ae2b78335 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListSFTP.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListSFTP.java @@ -16,16 +16,6 @@ */ package org.apache.nifi.processors.standard; -import java.io.File; -import java.io.IOException; -import java.io.UncheckedIOException; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.Collections; -import java.util.List; -import java.util.UUID; - import org.apache.nifi.components.ConfigVerificationResult; import org.apache.nifi.components.ConfigVerificationResult.Outcome; import org.apache.nifi.distributed.cache.client.DistributedMapCacheClient; @@ -45,6 +35,16 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import java.io.F
(nifi) branch main updated: NIFI-12796 - PutDatabaseRecord statement type should support u/c/d for Debezium This closes #8412.
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 abc08eb842 NIFI-12796 - PutDatabaseRecord statement type should support u/c/d for Debezium This closes #8412. abc08eb842 is described below commit abc08eb842afe7a033a20fbeb94a08be264b0512 Author: Pierre Villard AuthorDate: Wed Feb 14 23:06:02 2024 -0500 NIFI-12796 - PutDatabaseRecord statement type should support u/c/d for Debezium This closes #8412. Signed-off-by: Joseph Witt --- .../org/apache/nifi/processors/standard/PutDatabaseRecord.java | 10 +- .../apache/nifi/processors/standard/PutDatabaseRecordTest.java | 5 +++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDatabaseRecord.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDatabaseRecord.java index b12d2c869f..1f60208f40 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDatabaseRecord.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutDatabaseRecord.java @@ -183,7 +183,8 @@ public class PutDatabaseRecord extends AbstractProcessor { static final PropertyDescriptor STATEMENT_TYPE_RECORD_PATH = new Builder() .name("Statement Type Record Path") .displayName("Statement Type Record Path") -.description("Specifies a RecordPath to evaluate against each Record in order to determine the Statement Type. The RecordPath should equate to either INSERT, UPDATE, UPSERT, or DELETE.") +.description("Specifies a RecordPath to evaluate against each Record in order to determine the Statement Type. The RecordPath should equate to either INSERT, UPDATE, UPSERT, or DELETE. " ++ "(Debezium style operation types are also supported: \"r\" and \"c\" for INSERT, \"u\" for UPDATE, and \"d\" for DELETE)") .required(true) .addValidator(new RecordPathValidator()) .expressionLanguageSupported(NONE) @@ -1555,6 +1556,13 @@ public class PutDatabaseRecord extends AbstractProcessor { case DELETE_TYPE: case UPSERT_TYPE: return resultValue; +case "C": +case "R": +return INSERT_TYPE; +case "U": +return UPDATE_TYPE; +case "D": +return DELETE_TYPE; } throw new ProcessException("Evaluated RecordPath " + recordPath.getPath() + " against Record to determine Statement Type but found invalid value: " + resultValue); diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/PutDatabaseRecordTest.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/PutDatabaseRecordTest.java index 107db3f688..e6483efc7f 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/PutDatabaseRecordTest.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/PutDatabaseRecordTest.java @@ -1311,9 +1311,10 @@ public class PutDatabaseRecordTest { // CREATE, CREATE, CREATE, DELETE, UPDATE parser.addRecord("INSERT", new MapRecord(dataSchema, createValues(1, "John Doe", 55))); parser.addRecord("INSERT", new MapRecord(dataSchema, createValues(2, "Jane Doe", 44))); -parser.addRecord("INSERT", new MapRecord(dataSchema, createValues(3, "Jim Doe", 2))); +parser.addRecord("c", new MapRecord(dataSchema, createValues(3, "Jim Doe", 2))); parser.addRecord("DELETE", new MapRecord(dataSchema, createValues(2, "Jane Doe", 44))); parser.addRecord("UPDATE", new MapRecord(dataSchema, createValues(1, "John Doe", 201))); +parser.addRecord("u", new MapRecord(dataSchema, createValues(3, "Jim Doe", 20))); runner.setProperty(PutDatabaseRecord.RECORD_READER_FACTORY, "parser"); runner.setProperty(PutDatabaseRecord.STATEMENT_TYPE, PutDatabaseRecord.USE_RECORD_PATH); @@ -1337,7 +1338,7 @@ public class PutDatabaseRecordTest { assertTrue(rs.next()); assertEquals(3, rs.getInt(1)); assertEquals("Jim Doe", rs.getString(2)); -assertEquals(2, rs.getInt(3)); +assertEquals(20, rs.getInt(3)); assertFalse(rs.next()); stmt.close();
(nifi) branch support/nifi-1.x updated: NIFI-12818 Deprecated ReportLineageToAtlas for Removal This closes #8426.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new d5385c298d NIFI-12818 Deprecated ReportLineageToAtlas for Removal This closes #8426. d5385c298d is described below commit d5385c298dd79110fd4c8546daa0e3e953a7cd2b Author: exceptionfactory AuthorDate: Mon Feb 19 14:29:02 2024 -0600 NIFI-12818 Deprecated ReportLineageToAtlas for Removal This closes #8426. Signed-off-by: Joseph Witt --- .../main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java index d0359fa1e0..ee3d533b45 100644 --- a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java +++ b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java @@ -30,6 +30,7 @@ import org.apache.nifi.annotation.behavior.DynamicProperty; import org.apache.nifi.annotation.behavior.RequiresInstanceClassLoading; import org.apache.nifi.annotation.behavior.Stateful; import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.DeprecationNotice; import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.annotation.lifecycle.OnScheduled; import org.apache.nifi.annotation.lifecycle.OnStopped; @@ -107,6 +108,7 @@ import static org.apache.commons.lang3.StringUtils.isEmpty; import static org.apache.nifi.reporting.util.provenance.ProvenanceEventConsumer.PROVENANCE_BATCH_SIZE; import static org.apache.nifi.reporting.util.provenance.ProvenanceEventConsumer.PROVENANCE_START_POSITION; +@DeprecationNotice(reason = "Planned for removal in NiFi 2.0") @Tags({"atlas", "lineage"}) @CapabilityDescription("Report NiFi flow data set level lineage to Apache Atlas." + " End-to-end lineages across NiFi environments and other systems can be reported if those are" +
(nifi) 01/03: NIFI-12820 Upgraded Email Processors to Jakarta Mail 2 This closes #8428.
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 ff4c187f860e332640bd1a10d09fd435d286e3f1 Author: exceptionfactory AuthorDate: Mon Feb 19 20:18:09 2024 -0600 NIFI-12820 Upgraded Email Processors to Jakarta Mail 2 This closes #8428. - Upgraded from Java Mail 1.4.7 to Jakarta Mail API 2.1.2 - Upgraded Spring Integration from 5.5.20 to 6.2.1 - Upgraded SubEtha SMTP from 3.1.7 to 7.0.1 - Upgraded Greenmail from 1.6.15 to 2.0.1 - Removed usage of Commons Lang3 - Removed usage of Commons IO Signed-off-by: Joseph Witt --- .../nifi-email-processors/pom.xml | 102 ++-- .../processors/email/AbstractEmailProcessor.java | 51 ++ .../apache/nifi/processors/email/ConsumeIMAP.java | 18 +- .../apache/nifi/processors/email/ConsumePOP3.java | 21 +-- .../processors/email/ExtractEmailAttachments.java | 183 ++--- .../nifi/processors/email/ExtractEmailHeaders.java | 168 +-- .../processors/email/ExtractTNEFAttachments.java | 133 +-- .../apache/nifi/processors/email/ListenSMTP.java | 142 +--- .../nifi/processors/email/smtp/SmtpConsumer.java | 39 ++--- .../nifi/processors/email/GenerateAttachment.java | 131 +++ ...TestConsumeEmail.java => TestConsumeEmail.java} | 36 +--- .../email/TestExtractEmailAttachments.java | 33 ++-- .../processors/email/TestExtractEmailHeaders.java | 72 ++-- .../nifi/processors/email/TestListenSMTP.java | 12 +- pom.xml| 1 - 15 files changed, 443 insertions(+), 699 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 ddb94f1b2b..c6a4930dbb 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 @@ -25,7 +25,7 @@ nifi-email-processors jar -5.5.20 +6.2.1 5.2.5 @@ -37,103 +37,95 @@ org.apache.nifi nifi-utils -2.0.0-SNAPSHOT org.apache.nifi -nifi-security-cert -2.0.0-SNAPSHOT +nifi-ssl-context-service-api org.apache.nifi nifi-oauth2-provider-api -2.0.0-SNAPSHOT - - -javax.mail -mail -1.4.7 - - -org.apache.commons -commons-email -1.6.0 - - -com.sun.mail -javax.mail - - - - -commons-io -commons-io -org.apache.commons -commons-lang3 +jakarta.mail +jakarta.mail-api +2.1.2 -com.sun.mail -javax.mail -1.6.2 +org.eclipse.angus +angus-mail +2.0.2 -org.subethamail +com.github.davidmoten subethasmtp -3.1.7 - - -com.google.code.findbugs -jsr305 - - -javax.mail -mail - - - - -com.github.stephenc.findbugs -findbugs-annotations -1.3.9-1 - - -org.apache.nifi -nifi-ssl-context-service-api +7.0.1 org.springframework.integration spring-integration-mail ${spring.integration.version} + org.springframework.retry spring-retry + +org.springframework +spring-aop + + +org.springframework +spring-tx + + +org.springframework +spring-context-support + + +io.projectreactor +reactor-core + + +io.micrometer +micrometer-observation + + org.apache.poi poi-scratchpad ${poi.version} + + +org.apache.commons +commons-ma
(nifi) 03/03: NIFI-12817 Moved Hadoop DBCP NAR to Hadoop Build Profile This closes #8425.
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 27f8b98e9a64e544e0158b36700091610389dea5 Author: exceptionfactory AuthorDate: Mon Feb 19 13:53:50 2024 -0600 NIFI-12817 Moved Hadoop DBCP NAR to Hadoop Build Profile This closes #8425. Signed-off-by: Joseph Witt --- nifi-assembly/pom.xml | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nifi-assembly/pom.xml b/nifi-assembly/pom.xml index ec602f141b..5d521e1152 100644 --- a/nifi-assembly/pom.xml +++ b/nifi-assembly/pom.xml @@ -368,12 +368,6 @@ language governing permissions and limitations under the License. --> 2.0.0-SNAPSHOT nar - -org.apache.nifi -nifi-hadoop-dbcp-service-nar -2.0.0-SNAPSHOT -nar - org.apache.nifi nifi-mongodb-client-service-api-nar @@ -1003,6 +997,12 @@ language governing permissions and limitations under the License. --> 2.0.0-SNAPSHOT nar + +org.apache.nifi +nifi-hadoop-dbcp-service-nar +2.0.0-SNAPSHOT +nar + org.apache.nifi nifi-parquet-nar
(nifi) 02/03: NIFI-12821 Set docker-maven-plugin version to 0.43.4 This closes #8429.
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 1124728ff73c8fdb2cf6683d3a1f0686ef9b093b Author: exceptionfactory AuthorDate: Mon Feb 19 20:53:04 2024 -0600 NIFI-12821 Set docker-maven-plugin version to 0.43.4 This closes #8429. - Reduced docker-tests timeout from 120 to 60 minutes Signed-off-by: Joseph Witt --- .github/workflows/docker-tests.yml | 5 + pom.xml| 1 + 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index 9a2161a75b..fc36cc981b 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -16,7 +16,6 @@ name: docker-tests on: - # Run every day at 02:00 schedule: - cron: "0 2 * * *" push: @@ -59,7 +58,6 @@ env: -ntp -ff -# build assemblies (including binaries) for use in Docker Image builds MAVEN_BUILD_ARGUMENTS: >- -am -D skipTests @@ -82,7 +80,6 @@ env: -pl -nifi-toolkit/nifi-toolkit-encrypt-config -pl -minifi/minifi-assembly -# build and test Docker Images MAVEN_DOCKER_ARGUMENTS: >- verify -P docker @@ -100,7 +97,7 @@ permissions: jobs: build_and_test: -timeout-minutes: 120 +timeout-minutes: 60 runs-on: ubuntu-latest name: Ubuntu Java 21 steps: diff --git a/pom.xml b/pom.xml index bee1d2ff27..6f0372489e 100644 --- a/pom.xml +++ b/pom.xml @@ -884,6 +884,7 @@ io.fabric8 docker-maven-plugin +0.43.4 org.codehaus.mojo
(nifi) branch main updated (fcbd7c690b -> 27f8b98e9a)
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 fcbd7c690b NIFI-12644 Exported json flows does not match minifi json schema resolved by adding new method transform-nifi to convert Nifi Flow json to MiNifi flow json #8393 new ff4c187f86 NIFI-12820 Upgraded Email Processors to Jakarta Mail 2 This closes #8428. new 1124728ff7 NIFI-12821 Set docker-maven-plugin version to 0.43.4 This closes #8429. new 27f8b98e9a NIFI-12817 Moved Hadoop DBCP NAR to Hadoop Build Profile This closes #8425. 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: .github/workflows/docker-tests.yml | 5 +- nifi-assembly/pom.xml | 12 +- .../nifi-email-processors/pom.xml | 102 ++-- .../processors/email/AbstractEmailProcessor.java | 51 ++ .../apache/nifi/processors/email/ConsumeIMAP.java | 18 +- .../apache/nifi/processors/email/ConsumePOP3.java | 21 +-- .../processors/email/ExtractEmailAttachments.java | 183 ++--- .../nifi/processors/email/ExtractEmailHeaders.java | 168 +-- .../processors/email/ExtractTNEFAttachments.java | 133 +-- .../apache/nifi/processors/email/ListenSMTP.java | 142 +--- .../nifi/processors/email/smtp/SmtpConsumer.java | 39 ++--- .../nifi/processors/email/GenerateAttachment.java | 131 +++ ...TestConsumeEmail.java => TestConsumeEmail.java} | 36 +--- .../email/TestExtractEmailAttachments.java | 33 ++-- .../processors/email/TestExtractEmailHeaders.java | 72 ++-- .../nifi/processors/email/TestListenSMTP.java | 12 +- pom.xml| 2 +- 17 files changed, 451 insertions(+), 709 deletions(-) rename nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/test/java/org/apache/nifi/processors/email/{ITestConsumeEmail.java => TestConsumeEmail.java} (82%)
(nifi) 01/02: NIFI-12792 Deprecated nifi-spark-bundle components for removal This closes #8408
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git commit 463e965f588ec405e1e9d49d5246f81b069a70e2 Author: exceptionfactory AuthorDate: Wed Feb 14 15:03:11 2024 -0600 NIFI-12792 Deprecated nifi-spark-bundle components for removal This closes #8408 Signed-off-by: Joseph Witt --- .../java/org/apache/nifi/controller/livy/LivySessionController.java | 2 ++ .../java/org/apache/nifi/processors/livy/ExecuteSparkInteractive.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service/src/main/java/org/apache/nifi/controller/livy/LivySessionController.java b/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service/src/main/java/org/apache/nifi/controller/livy/LivySessionController.java index f691346c17..904fe75183 100644 --- a/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service/src/main/java/org/apache/nifi/controller/livy/LivySessionController.java +++ b/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service/src/main/java/org/apache/nifi/controller/livy/LivySessionController.java @@ -36,6 +36,7 @@ import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.DeprecationNotice; import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.annotation.lifecycle.OnDisabled; import org.apache.nifi.annotation.lifecycle.OnEnabled; @@ -84,6 +85,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; +@DeprecationNotice(reason = "Unmaintained and planned for removal in version 2.0") @Tags({"Livy", "REST", "Spark", "http"}) @CapabilityDescription("Manages pool of Spark sessions over HTTP") public class LivySessionController extends AbstractControllerService implements LivySessionService { diff --git a/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-processors/src/main/java/org/apache/nifi/processors/livy/ExecuteSparkInteractive.java b/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-processors/src/main/java/org/apache/nifi/processors/livy/ExecuteSparkInteractive.java index 41eaac0152..99181eca3d 100644 --- a/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-processors/src/main/java/org/apache/nifi/processors/livy/ExecuteSparkInteractive.java +++ b/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-processors/src/main/java/org/apache/nifi/processors/livy/ExecuteSparkInteractive.java @@ -44,6 +44,7 @@ import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.nifi.annotation.behavior.InputRequirement; import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.DeprecationNotice; import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.controller.api.livy.exception.SessionManagerException; @@ -64,6 +65,7 @@ import org.codehaus.jettison.json.JSONObject; import org.apache.nifi.controller.api.livy.LivySessionService; import org.apache.nifi.expression.ExpressionLanguageScope; +@DeprecationNotice(reason = "Unmaintained and planned for removal in version 2.0") @InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED) @Tags({"spark", "livy", "http", "execute"}) @CapabilityDescription("Execute Spark Code over a Livy-managed HTTP session to a live Spark context. Supports cached RDD sharing.")
(nifi) branch support/nifi-1.x updated (b262f96b56 -> f9b89b7248)
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a change to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git from b262f96b56 NIFI-12777 Add support for UUID record field type in QueryRecord processor new 463e965f58 NIFI-12792 Deprecated nifi-spark-bundle components for removal This closes #8408 new f9b89b7248 NIFI-12770 Deprecated Ranger Authorizers for Removal This closes #8387 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-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/pom.xml | 4 .../org/apache/nifi/ranger/authorization/RangerNiFiAuthorizer.java | 6 +- .../java/org/apache/nifi/controller/livy/LivySessionController.java | 2 ++ .../org/apache/nifi/processors/livy/ExecuteSparkInteractive.java| 2 ++ .../nifi-registry-ranger/nifi-registry-ranger-plugin/pom.xml| 5 + .../main/java/org/apache/nifi/registry/ranger/RangerAuthorizer.java | 4 6 files changed, 22 insertions(+), 1 deletion(-)
(nifi) 02/02: NIFI-12770 Deprecated Ranger Authorizers for Removal This closes #8387
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git commit f9b89b7248d343e07cbe49108855cdd292080ee5 Author: exceptionfactory AuthorDate: Fri Feb 9 16:21:34 2024 -0600 NIFI-12770 Deprecated Ranger Authorizers for Removal This closes #8387 Signed-off-by: Joseph Witt --- nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/pom.xml | 4 .../org/apache/nifi/ranger/authorization/RangerNiFiAuthorizer.java | 6 +- .../nifi-registry-ranger/nifi-registry-ranger-plugin/pom.xml| 5 + .../main/java/org/apache/nifi/registry/ranger/RangerAuthorizer.java | 4 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/pom.xml b/nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/pom.xml index 0c4f47ed18..6e26203268 100644 --- a/nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/pom.xml +++ b/nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/pom.xml @@ -41,6 +41,10 @@ org.slf4j jcl-over-slf4j + +org.apache.nifi +nifi-deprecation-log + org.apache.ranger ranger-plugins-common diff --git a/nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/src/main/java/org/apache/nifi/ranger/authorization/RangerNiFiAuthorizer.java b/nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/src/main/java/org/apache/nifi/ranger/authorization/RangerNiFiAuthorizer.java index d7513d7d6f..a96eb83910 100644 --- a/nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/src/main/java/org/apache/nifi/ranger/authorization/RangerNiFiAuthorizer.java +++ b/nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-plugin/src/main/java/org/apache/nifi/ranger/authorization/RangerNiFiAuthorizer.java @@ -33,6 +33,8 @@ import org.apache.nifi.authorization.exception.AuthorizationAccessException; import org.apache.nifi.authorization.exception.AuthorizerCreationException; import org.apache.nifi.authorization.exception.AuthorizerDestructionException; import org.apache.nifi.components.PropertyValue; +import org.apache.nifi.deprecation.log.DeprecationLogger; +import org.apache.nifi.deprecation.log.DeprecationLoggerFactory; import org.apache.nifi.util.NiFiProperties; import org.apache.ranger.audit.model.AuthzAuditEvent; import org.apache.ranger.authorization.hadoop.config.RangerConfiguration; @@ -85,9 +87,11 @@ public class RangerNiFiAuthorizer implements Authorizer, AuthorizationAuditor { private volatile NiFiProperties nifiProperties; private final NumberFormat numberFormat = NumberFormat.getInstance(); +private final DeprecationLogger deprecationLogger = DeprecationLoggerFactory.getLogger(getClass()); + @Override public void initialize(AuthorizerInitializationContext initializationContext) throws AuthorizerCreationException { - +deprecationLogger.warn("Apache Ranger integration does not support Jetty 12 and related libraries required for NiFi 2.0"); } @Override diff --git a/nifi-registry/nifi-registry-extensions/nifi-registry-ranger/nifi-registry-ranger-plugin/pom.xml b/nifi-registry/nifi-registry-extensions/nifi-registry-ranger/nifi-registry-ranger-plugin/pom.xml index a328668f71..67ef61339b 100644 --- a/nifi-registry/nifi-registry-extensions/nifi-registry-ranger/nifi-registry-ranger-plugin/pom.xml +++ b/nifi-registry/nifi-registry-extensions/nifi-registry-ranger/nifi-registry-ranger-plugin/pom.xml @@ -78,6 +78,11 @@ org.slf4j jcl-over-slf4j + +org.apache.nifi +nifi-deprecation-log +1.26.0-SNAPSHOT + diff --git a/nifi-registry/nifi-registry-extensions/nifi-registry-ranger/nifi-registry-ranger-plugin/src/main/java/org/apache/nifi/registry/ranger/RangerAuthorizer.java b/nifi-registry/nifi-registry-extensions/nifi-registry-ranger/nifi-registry-ranger-plugin/src/main/java/org/apache/nifi/registry/ranger/RangerAuthorizer.java index ee90729b69..98edcb2c91 100644 --- a/nifi-registry/nifi-registry-extensions/nifi-registry-ranger/nifi-registry-ranger-plugin/src/main/java/org/apache/nifi/registry/ranger/RangerAuthorizer.java +++ b/nifi-registry/nifi-registry-extensions/nifi-registry-ranger/nifi-registry-ranger-plugin/src/main/java/org/apache/nifi/registry/ranger/RangerAuthorizer.java @@ -19,6 +19,8 @@ package org.apache.nifi.registry.ranger; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.security.UserGroupInformation; +import org.apache.nifi.deprecation.log.DeprecationLogger; +import org.apache.nifi.deprecation.log.DeprecationLoggerFactory; import org.apache.nifi.registry.properties.NiFiRegistryProperties; import org.apache.nifi.registry.security.authorization.Ac
(nifi) branch main updated: NIFI-12793 Removed deprecated nifi-spark-bundle This closes #8409
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 fcaaa566e8 NIFI-12793 Removed deprecated nifi-spark-bundle This closes #8409 fcaaa566e8 is described below commit fcaaa566e89ea52250e02fb0af1446aec27cc75d Author: exceptionfactory AuthorDate: Wed Feb 14 14:59:14 2024 -0600 NIFI-12793 Removed deprecated nifi-spark-bundle This closes #8409 Signed-off-by: Joseph Witt --- nifi-code-coverage/pom.xml | 15 - .../nifi-livy-controller-service-api-nar/pom.xml | 39 -- .../src/main/resources/META-INF/LICENSE| 257 - .../src/main/resources/META-INF/NOTICE | 63 --- .../nifi-livy-controller-service-api/pom.xml | 40 -- .../controller/api/livy/LivySessionService.java| 33 -- .../livy/exception/SessionManagerException.java| 27 - .../nifi-livy-controller-service/pom.xml | 85 --- .../controller/livy/LivySessionController.java | 572 - .../org.apache.nifi.controller.ControllerService | 16 - .../nifi-spark-bundle/nifi-livy-nar/pom.xml| 48 -- .../src/main/resources/META-INF/LICENSE| 257 - .../src/main/resources/META-INF/NOTICE | 89 .../nifi-spark-bundle/nifi-livy-processors/pom.xml | 89 .../processors/livy/ExecuteSparkInteractive.java | 316 .../services/org.apache.nifi.processor.Processor | 16 - .../livy/TestExecuteSparkInteractive.java | 115 - nifi-nar-bundles/nifi-spark-bundle/pom.xml | 82 --- nifi-nar-bundles/pom.xml | 1 - 19 files changed, 2160 deletions(-) diff --git a/nifi-code-coverage/pom.xml b/nifi-code-coverage/pom.xml index 5dad4ff268..ec929c0331 100644 --- a/nifi-code-coverage/pom.xml +++ b/nifi-code-coverage/pom.xml @@ -1469,21 +1469,6 @@ nifi-solr-processors 2.0.0-SNAPSHOT - -org.apache.nifi -nifi-livy-controller-service -2.0.0-SNAPSHOT - - -org.apache.nifi -nifi-livy-controller-service-api -2.0.0-SNAPSHOT - - -org.apache.nifi -nifi-livy-processors -2.0.0-SNAPSHOT - org.apache.nifi nifi-splunk-processors diff --git a/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service-api-nar/pom.xml b/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service-api-nar/pom.xml deleted file mode 100644 index ca5dbcc2e6..00 --- a/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service-api-nar/pom.xml +++ /dev/null @@ -1,39 +0,0 @@ - -http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd;> -4.0.0 - -org.apache.nifi -nifi-spark-bundle -2.0.0-SNAPSHOT - - -nifi-livy-controller-service-api-nar -nar - - - -org.apache.nifi -nifi-standard-services-api-nar -2.0.0-SNAPSHOT -nar - - -org.apache.nifi -nifi-livy-controller-service-api -2.0.0-SNAPSHOT - - - \ No newline at end of file diff --git a/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service-api-nar/src/main/resources/META-INF/LICENSE b/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service-api-nar/src/main/resources/META-INF/LICENSE deleted file mode 100644 index d86d9641f1..00 --- a/nifi-nar-bundles/nifi-spark-bundle/nifi-livy-controller-service-api-nar/src/main/resources/META-INF/LICENSE +++ /dev/null @@ -1,257 +0,0 @@ - - Apache License - Version 2.0, January 2004 -http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the -
(nifi) branch support/nifi-1.x updated: NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8385.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 3baf052aae NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8385. 3baf052aae is described below commit 3baf052aae18c97c7f2d39a4fc681e5cc8406139 Author: Peter Turcsanyi AuthorDate: Fri Feb 9 21:37:36 2024 +0100 NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8385. Signed-off-by: Joseph Witt --- NOTICE | 2 +- minifi/minifi-assembly/NOTICE | 2 +- .../minifi-framework-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-framework/minifi-server/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-server-nar/src/main/resources/META-INF/NOTICE| 2 +- .../minifi-provenance-repository-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-standard-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-update-attribute-nar/src/main/resources/META-INF/NOTICE | 2 +- minifi/minifi-toolkit/minifi-toolkit-assembly/NOTICE| 2 +- nifi-assembly/NOTICE| 2 +- nifi-docs/NOTICE| 2 +- nifi-external/nifi-kafka-connect/nifi-kafka-connector-assembly/NOTICE | 2 +- .../nifi-airtable-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-atlas-bundle/nifi-atlas-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-avro-bundle/nifi-avro-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-beats-bundle/nifi-beats-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-cdc-mysql-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-compress-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-confluent-platform-nar/src/main/resource/META-INF/NOTICE | 2 +- .../nifi-couchbase-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-couchbase-services-api-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-easyrules-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-email-bundle/nifi-email-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-utils/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-framework-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-framework-bundle/nifi-framework/nifi-resources/NOTICE | 2 +- .../nifi-web/nifi-web-docs/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-web/nifi-web-ui/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-headless-server-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-server-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-groovyx-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-libraries-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-hashicorp-vault-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hbase-bundle/nifi-hbase-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hive-bundle/nifi-hive-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hive-bundle/nifi-hive3-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hive_1_1-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-hubspot-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-iceberg-processors-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-iceberg-services-api-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-iceberg-services-nar/src/main/resources/META-INF/NOTICE| 2 +- nifi-nar-bundles/nifi-jetty-bundle/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jms-cf-service-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jms-processors-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jolt-record-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kafka-1-0-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kafka-2-0-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kafka-2-6-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kerberos-iaa-providers-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kudu-bundle/nifi-kudu-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-ldap-iaa-providers-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-mqtt-bundle/nifi-mqtt-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-opentelemetry-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-parquet-nar/src/main
(nifi) branch main updated: NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8384.
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 b6b0b241c3 NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8384. b6b0b241c3 is described below commit b6b0b241c3a4d71454bb29228a468e40bde1d045 Author: Peter Turcsanyi AuthorDate: Fri Feb 9 21:26:36 2024 +0100 NIFI-12769 Updated copyright year to 2024 in NOTICE file headers This closes #8384. Signed-off-by: Joseph Witt --- NOTICE | 2 +- minifi/minifi-assembly/NOTICE | 2 +- .../minifi-framework-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-framework/minifi-server/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-server-nar/src/main/resources/META-INF/NOTICE| 2 +- .../minifi-provenance-repository-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-standard-nar/src/main/resources/META-INF/NOTICE | 2 +- .../minifi-update-attribute-nar/src/main/resources/META-INF/NOTICE | 2 +- minifi/minifi-toolkit/minifi-toolkit-assembly/NOTICE| 2 +- nifi-assembly/NOTICE| 2 +- nifi-docs/NOTICE| 2 +- nifi-external/nifi-kafka-connect/nifi-kafka-connector-assembly/NOTICE | 2 +- .../nifi-airtable-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-apicurio-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-atlas-bundle/nifi-atlas-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-avro-bundle/nifi-avro-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-beats-bundle/nifi-beats-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-cdc-mysql-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-compress-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-confluent-platform-nar/src/main/resource/META-INF/NOTICE | 2 +- .../nifi-couchbase-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-couchbase-services-api-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-email-bundle/nifi-email-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-utils/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-framework-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-framework-bundle/nifi-framework/nifi-resources/NOTICE | 2 +- .../nifi-web/nifi-web-docs/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-web/nifi-web-frontend/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-web/nifi-web-ui/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-headless-server-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-server-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-groovyx-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hadoop-libraries-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-hashicorp-vault-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hbase-bundle/nifi-hbase-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hive-bundle/nifi-hive3-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-hubspot-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-iceberg-processors-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-iceberg-services-api-nar/src/main/resources/META-INF/NOTICE| 2 +- .../nifi-iceberg-services-nar/src/main/resources/META-INF/NOTICE| 2 +- nifi-nar-bundles/nifi-jetty-bundle/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jms-cf-service-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jms-processors-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jolt-bundle/nifi-jolt-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-jolt-transform-json-ui/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kafka-2-6-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kerberos-iaa-providers-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-kudu-bundle/nifi-kudu-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-ldap-iaa-providers-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-mqtt-bundle/nifi-mqtt-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-opentelemetry-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-parquet-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-provenance-repository-nar/src/main/resources/META-INF/NOTICE | 2 +- .../nifi-questdb-status-history-nar/src/main/resources
(nifi-site) branch main updated: Updating Slack invite links
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-site.git The following commit(s) were added to refs/heads/main by this push: new 2d611e19 Updating Slack invite links 2d611e19 is described below commit 2d611e1934de5e922ea8350a0f17bd1ac26a9b2f Author: Joseph Witt AuthorDate: Fri Feb 9 13:34:35 2024 -0700 Updating Slack invite links --- content/community/contact.md | 2 +- themes/nifi/layouts/partials/footer.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/community/contact.md b/content/community/contact.md index 9b522eda..7001edc8 100644 --- a/content/community/contact.md +++ b/content/community/contact.md @@ -15,7 +15,7 @@ recommendations on how to interact with the community. ## Slack - [Apache NiFi on Slack](https://apachenifi.slack.com/) -- New users can join the workspace using the [invitation link](https://join.slack.com/t/apachenifi/shared_invite/zt-11njbtkdx-ZRU8FKYSWoEHRJetidy0zA) +- New users can join the workspace using the [invitation link](https://join.slack.com/t/apachenifi/shared_invite/zt-2ccusmst2-l2KrTzJLrGcHOO0V7~XD4g) ## Users Mailing List diff --git a/themes/nifi/layouts/partials/footer.html b/themes/nifi/layouts/partials/footer.html index f955fcf0..bf1e0643 100644 --- a/themes/nifi/layouts/partials/footer.html +++ b/themes/nifi/layouts/partials/footer.html @@ -25,7 +25,7 @@ https://issues.apache.org/jira/browse/NIFI;>Issues https://github.com/apache/nifi;>Source https://www.linkedin.com/company/apache-nifi/;>LinkedIn - https://apachenifi.slack.com/;>Slack + https://join.slack.com/t/apachenifi/shared_invite/zt-2ccusmst2-l2KrTzJLrGcHOO0V7~XD4g;>Slack
(nifi) branch main updated: NIFI-12708: add option in UnpackContent to specify encoding charset for filenames in zip unpacking
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 e00d2b6d5e NIFI-12708: add option in UnpackContent to specify encoding charset for filenames in zip unpacking e00d2b6d5e is described below commit e00d2b6d5e5ef7ffb726251b7edf94d0735ce7a8 Author: Umar Hussain AuthorDate: Fri Feb 2 16:49:11 2024 +0100 NIFI-12708: add option in UnpackContent to specify encoding charset for filenames in zip unpacking This closes #8350 The processor can now take a filename encoding parameter and pass it to zip unpacking. This will allow user to unzip files with specific encoding to get correct filenames in output. This for example help with zip files created on Windows which by default uses Cp437 for filename encoding. If the filename contains special character like German alphabet ä, ü etc., decoding this with Linux's default encoding usually UTF8 output will contain `?` in it. When the same file is processed with property set with `Cp437`, the processor outputs correct filenames with special characters preserved. Signed-off-by: Joseph Witt --- .../nifi-standard-processors/pom.xml | 1 + .../nifi/processors/standard/UnpackContent.java| 114 + .../processors/standard/TestUnpackContent.java | 105 +++ .../TestUnpackContent/windows-with-cp437.zip | Bin 0 -> 644 bytes 4 files changed, 180 insertions(+), 40 deletions(-) diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml index e514b21466..1048db9509 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml @@ -697,6 +697,7 @@ src/test/resources/TestUnpackContent/folder/cal.txt src/test/resources/TestUnpackContent/folder/date.txt src/test/resources/TestUnpackContent/invalid_data.zip + src/test/resources/TestUnpackContent/windows-with-cp437.zip src/test/resources/TestUpdateRecord/input/addresses.json src/test/resources/TestUpdateRecord/input/embedded-string.json src/test/resources/TestUpdateRecord/input/multi-arrays.json diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/UnpackContent.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/UnpackContent.java index 3b736aaa6c..34b8573389 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/UnpackContent.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/UnpackContent.java @@ -16,6 +16,7 @@ */ package org.apache.nifi.processors.standard; +import java.nio.charset.Charset; import net.lingala.zip4j.io.inputstream.ZipInputStream; import net.lingala.zip4j.model.LocalFileHeader; import net.lingala.zip4j.model.enums.EncryptionMethod; @@ -24,6 +25,7 @@ import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; +import org.apache.commons.io.Charsets; import org.apache.nifi.annotation.behavior.InputRequirement; import org.apache.nifi.annotation.behavior.InputRequirement.Requirement; import org.apache.nifi.annotation.behavior.ReadsAttribute; @@ -34,6 +36,7 @@ import org.apache.nifi.annotation.behavior.WritesAttributes; 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.documentation.UseCase; import org.apache.nifi.annotation.lifecycle.OnScheduled; import org.apache.nifi.annotation.lifecycle.OnStopped; import org.apache.nifi.components.PropertyDescriptor; @@ -104,6 +107,13 @@ import java.util.regex.Pattern; @WritesAttribute(attribute = "file.permissions", description = "The read/write/execute permissions of the unpacked file (tar only)"), @WritesAttribute(attribute = "file.encryptionMethod", description = "The encryption method for entries in Zip archives")}) @SeeAlso(MergeContent.class) +@UseCase( +description = "Unpack Zip containing filenames with special characters, created on
(nifi) branch main updated: NIFI-12681: Remove standard services api nar version so it is inherited.
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 ddc12b94be NIFI-12681: Remove standard services api nar version so it is inherited. ddc12b94be is described below commit ddc12b94be176e47ab9c794616d0404020d3edfc Author: bpaulin AuthorDate: Sat Jan 27 14:30:55 2024 -0600 NIFI-12681: Remove standard services api nar version so it is inherited. This closes #8308. Signed-off-by: Joseph Witt --- .../resources/archetype-resources/nifi-__artifactBaseName__-nar/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/nifi-maven-archetypes/nifi-processor-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__-nar/pom.xml b/nifi-maven-archetypes/nifi-processor-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__-nar/pom.xml index 2737b68a88..4474300e05 100644 --- a/nifi-maven-archetypes/nifi-processor-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__-nar/pom.xml +++ b/nifi-maven-archetypes/nifi-processor-bundle-archetype/src/main/resources/archetype-resources/nifi-__artifactBaseName__-nar/pom.xml @@ -35,7 +35,6 @@ org.apache.nifi nifi-standard-services-api-nar -${version} nar
(nifi) branch main updated: NIFI-12676 Fixed Servlet Registration in HandleHttpRequest This closes #8304.
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 103e350943 NIFI-12676 Fixed Servlet Registration in HandleHttpRequest This closes #8304. 103e350943 is described below commit 103e350943233c6a780ab1086b2da9872df7c312 Author: exceptionfactory AuthorDate: Thu Jan 25 16:12:04 2024 -0600 NIFI-12676 Fixed Servlet Registration in HandleHttpRequest This closes #8304. Signed-off-by: Joseph Witt --- .../processors/standard/HandleHttpRequest.java | 8 +-- .../processors/standard/HandleHttpRequestTest.java | 61 +- 2 files changed, 64 insertions(+), 5 deletions(-) diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java index de7ff1ad7a..6cc07da11a 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java @@ -51,9 +51,8 @@ import org.apache.nifi.scheduling.ExecutionNode; import org.apache.nifi.ssl.RestrictedSSLContextService; import org.apache.nifi.ssl.SSLContextService; import org.apache.nifi.stream.io.StreamUtils; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.ee10.servlet.ServletContextRequest; -import org.eclipse.jetty.ee10.servlet.ServletHandler; -import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; @@ -485,8 +484,9 @@ public class HandleHttpRequest extends AbstractProcessor { } } }; -final ServletHandler servletHandler = new ServletHandler(); -servletHandler.addServlet(new ServletHolder(standardServlet)); +final ServletContextHandler handler = new ServletContextHandler(); +handler.addServlet(standardServlet, "/"); +server.setHandler(handler); this.server = server; server.start(); diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/HandleHttpRequestTest.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/HandleHttpRequestTest.java index 0bc5ae8b3f..5ccc1ab2c7 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/HandleHttpRequestTest.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/HandleHttpRequestTest.java @@ -27,6 +27,17 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URL; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) @@ -36,14 +47,19 @@ class HandleHttpRequestTest { private static final String MINIMUM_THREADS = "8"; +private static final String URL_FORMAT = "http://127.0.0.1:%d;; + @Mock HttpContextMap httpContextMap; TestRunner runner; +HandleHttpRequest handleHttpRequest; + @BeforeEach void setRunner() throws InitializationException { -runner = TestRunners.newTestRunner(HandleHttpRequest.class); +handleHttpRequest = new HandleHttpRequest(); +runner = TestRunners.newTestRunner(handleHttpRequest); when(httpContextMap.getIdentifier()).thenReturn(CONTEXT_MAP_ID); runner.addControllerService(CONTEXT_MAP_ID, httpContextMap); @@ -72,4 +88,47 @@ class HandleHttpRequestTest { runner.assertTransferCount(HandleHttpRequest.REL_SUCCESS, 0); } + +@Test +void testRunMethodNotAllowed() throws InterruptedException { +runner.setProperty(HandleHttpRequest.HTTP_CONTEXT_MAP, CONTEXT_MAP_ID); +runner.setProperty(HandleHttpRequest.MAXIMUM_THREADS, MINIMUM_THREADS); +runner.setProperty(HandleHttpRequest.PORT, "0"); +runner.setProperty(HandleHttpRequest.ALLOW_GET, Boolean.FALSE
(nifi) branch support/nifi-1.x updated: NIFI-12606: Upgrade parent Apache POM to version 31
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 037ab2886f NIFI-12606: Upgrade parent Apache POM to version 31 037ab2886f is described below commit 037ab2886fbf017e67074773b618c3ce8c96abeb Author: Matt Burgess AuthorDate: Fri Jan 12 15:34:51 2024 -0500 NIFI-12606: Upgrade parent Apache POM to version 31 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4bfd115153..58126bf940 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.apache apache -30 +31 org.apache.nifi
(nifi) branch main updated: NIFI-12606: Upgrade parent Apache POM to version 31 This closes #8242.
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 be16a423ed NIFI-12606: Upgrade parent Apache POM to version 31 This closes #8242. be16a423ed is described below commit be16a423ed8a1082e1692bfe75e7afe3660e4e35 Author: Matt Burgess AuthorDate: Fri Jan 12 15:34:51 2024 -0500 NIFI-12606: Upgrade parent Apache POM to version 31 This closes #8242. Signed-off-by: Joseph Witt --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5d73af259d..348b0f27d1 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ org.apache apache -30 +31 org.apache.nifi
(nifi) branch main updated: NIFI-12607 This closes #8243. remove kernel 2.6 TIMED_WAIT documentation
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 2179d16bdc NIFI-12607 This closes #8243. remove kernel 2.6 TIMED_WAIT documentation 2179d16bdc is described below commit 2179d16bdc3b79b34fce111ce6272561faec08c5 Author: theBestAndrew <13425633+thebestand...@users.noreply.github.com> AuthorDate: Fri Jan 12 16:23:48 2024 -0500 NIFI-12607 This closes #8243. remove kernel 2.6 TIMED_WAIT documentation Signed-off-by: Joseph Witt --- nifi-docs/src/main/asciidoc/administration-guide.adoc | 6 -- 1 file changed, 6 deletions(-) diff --git a/nifi-docs/src/main/asciidoc/administration-guide.adoc b/nifi-docs/src/main/asciidoc/administration-guide.adoc index 332290f382..8da36bdcbd 100644 --- a/nifi-docs/src/main/asciidoc/administration-guide.adoc +++ b/nifi-docs/src/main/asciidoc/administration-guide.adoc @@ -159,12 +159,6 @@ Set how long sockets stay in a TIMED_WAIT state when closed:: You don't want your sockets to sit and linger too long given that you want to be able to quickly setup and teardown new sockets. It is a good idea to read more about it and adjust to something like - -for kernel 2.6 - -sudo sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait="1" - -for kernel 3.0 sudo sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait="1"
(nifi) branch main updated: NIFI-12532: This closes #8179. Ensure that when CommunicateAction completes (exceptionally or otherwise) that it gets removed from the list of all CommunicationActions
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 c670161cb0 NIFI-12532: This closes #8179. Ensure that when CommunicateAction completes (exceptionally or otherwise) that it gets removed from the list of all CommunicationActions c670161cb0 is described below commit c670161cb09855b28e444a4d32d37427b31e8422 Author: Mark Payne AuthorDate: Thu Dec 21 10:49:15 2023 -0500 NIFI-12532: This closes #8179. Ensure that when CommunicateAction completes (exceptionally or otherwise) that it gets removed from the list of all CommunicationActions Signed-off-by: Joseph Witt --- .../server/ConnectionLoadBalanceServer.java| 50 +- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/clustered/server/ConnectionLoadBalanceServer.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/clustered/server/ConnectionLoadBalanceServer.java index 20b955..f5c7c644ca 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/clustered/server/ConnectionLoadBalanceServer.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/queue/clustered/server/ConnectionLoadBalanceServer.java @@ -17,6 +17,17 @@ package org.apache.nifi.controller.queue.clustered.server; +import org.apache.commons.io.IOUtils; +import org.apache.nifi.events.EventReporter; +import org.apache.nifi.io.socket.SocketUtils; +import org.apache.nifi.reporting.Severity; +import org.apache.nifi.security.util.TlsPlatform; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLPeerUnverifiedException; +import javax.net.ssl.SSLServerSocket; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.IOException; @@ -31,17 +42,6 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.concurrent.atomic.AtomicLong; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLPeerUnverifiedException; -import javax.net.ssl.SSLServerSocket; - -import org.apache.commons.io.IOUtils; -import org.apache.nifi.events.EventReporter; -import org.apache.nifi.io.socket.SocketUtils; -import org.apache.nifi.reporting.Severity; -import org.apache.nifi.security.util.TlsPlatform; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class ConnectionLoadBalanceServer { private static final Logger logger = LoggerFactory.getLogger(ConnectionLoadBalanceServer.class); @@ -104,10 +104,12 @@ public class ConnectionLoadBalanceServer { acceptConnection.stop(); } -final Iterator itr = communicationActions.iterator(); -while (itr.hasNext()) { -itr.next().stop(); -itr.remove(); +synchronized (communicationActions) { // Must synchronize on Synchronized List when using iterator +final Iterator itr = communicationActions.iterator(); +while (itr.hasNext()) { +itr.next().stop(); +itr.remove(); +} } } @@ -135,8 +137,7 @@ public class ConnectionLoadBalanceServer { private volatile boolean stopped = false; -// This should be final but it is not to allow override during testing; no production code modifies the value -private static int EXCEPTION_THRESHOLD_MILLIS = 10_000; +private static final int EXCEPTION_THRESHOLD_MILLIS = 10_000; private volatile long tlsErrorLastSeen = -1; public CommunicateAction(final LoadBalanceProtocol loadBalanceProtocol, final Socket socket, final EventReporter eventReporter) throws IOException { @@ -187,6 +188,8 @@ public class ConnectionLoadBalanceServer { logger.error("Failed to communicate over Channel {}", channelDescription, e); eventReporter.reportEvent(Severity.ERROR, "Load Balanced Connection", "Failed to receive FlowFiles for Load Balancing due to " + e); } + +return; } } } @@ -265,11 +268,18 @@ public class ConnectionLoadBalanceServer { socket.setSoTimeout(connectionTimeoutMillis); final CommunicateAction communicateAction = new CommunicateAction(loadBalanceProtocol, socket, eventReporter); -final Thread commsThread = new Thread(communicateAction); +communicatio
(nifi) branch support/nifi-1.x updated: NIFI-12535: Fixed documentation for 'PadRight Examples' table name in the Expression Language Guide as well as the last example in the table.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 29821f6e71 NIFI-12535: Fixed documentation for 'PadRight Examples' table name in the Expression Language Guide as well as the last example in the table. 29821f6e71 is described below commit 29821f6e71a5d763863e191d223c8fb7fda519c0 Author: Alex Ethier AuthorDate: Thu Dec 21 13:12:08 2023 -0500 NIFI-12535: Fixed documentation for 'PadRight Examples' table name in the Expression Language Guide as well as the last example in the table. Signed-off-by: Joseph Witt --- nifi-docs/src/main/asciidoc/expression-language-guide.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc index 321c334517..14620851f1 100644 --- a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc +++ b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc @@ -1085,13 +1085,13 @@ Expressions will provide the following results: -.PadLeft Examples +.PadRight Examples |=== | Expression | Value | `${greetings:padRight(10)}` | `hello\_` | `${greetings:padRight(10, '@')}` | `hello@` | `${greetings:padRight(10, 'xy')}` | `helloxyxyx` -| `${greetings:padLeft(10, 'aVeryLongPaddingString')}` | `helloaVery` +| `${greetings:padRight(10, 'aVeryLongPaddingString')}` | `helloaVery` |===
(nifi) branch main updated: NIFI-12535: This closes #8181. Fixed documentation for 'PadRight Examples' table name in the Expression Language Guide as well as the last example in the table.
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 77093671e0 NIFI-12535: This closes #8181. Fixed documentation for 'PadRight Examples' table name in the Expression Language Guide as well as the last example in the table. 77093671e0 is described below commit 77093671e0ff90379ffc0fdf5be502cdf6988868 Author: Alex Ethier AuthorDate: Thu Dec 21 13:12:08 2023 -0500 NIFI-12535: This closes #8181. Fixed documentation for 'PadRight Examples' table name in the Expression Language Guide as well as the last example in the table. Signed-off-by: Joseph Witt --- nifi-docs/src/main/asciidoc/expression-language-guide.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc index 2163d78e6b..e2c30cb6fb 100644 --- a/nifi-docs/src/main/asciidoc/expression-language-guide.adoc +++ b/nifi-docs/src/main/asciidoc/expression-language-guide.adoc @@ -1078,13 +1078,13 @@ Expressions will provide the following results: -.PadLeft Examples +.PadRight Examples |=== | Expression | Value | `${greetings:padRight(10)}` | `hello\_` | `${greetings:padRight(10, '@')}` | `hello@` | `${greetings:padRight(10, 'xy')}` | `helloxyxyx` -| `${greetings:padLeft(10, 'aVeryLongPaddingString')}` | `helloaVery` +| `${greetings:padRight(10, 'aVeryLongPaddingString')}` | `helloaVery` |===
(nifi) branch main updated: NIFI-12528: This closes #8180. Fixed bug that resulted in StackOverflowError when deleting loop containing only funnels
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 c41b273e82 NIFI-12528: This closes #8180. Fixed bug that resulted in StackOverflowError when deleting loop containing only funnels c41b273e82 is described below commit c41b273e82c69466d4e518b814964883289edba7 Author: Mark Payne AuthorDate: Thu Dec 21 11:07:39 2023 -0500 NIFI-12528: This closes #8180. Fixed bug that resulted in StackOverflowError when deleting loop containing only funnels Signed-off-by: Joseph Witt --- .../org/apache/nifi/connectable/StandardConnection.java | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/connectable/StandardConnection.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/connectable/StandardConnection.java index a2a6185b7b..9ef3b9fa39 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/connectable/StandardConnection.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/connectable/StandardConnection.java @@ -41,6 +41,7 @@ import org.apache.nifi.remote.RemoteGroupPort; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; @@ -500,6 +501,16 @@ public final class StandardConnection implements Connection { } private void verifySourceStoppedOrFunnel(final Connection connection) { +verifySourceStoppedOrFunnel(connection, new HashSet<>()); +} + +private void verifySourceStoppedOrFunnel(final Connection connection, final Set connectionsSeen) { +final boolean added = connectionsSeen.add(connection); +if (!added) { +// If we've already seen this Connection, no need to process it again. +return; +} + final Connectable sourceComponent = connection.getSource(); if (!sourceComponent.isRunning()) { return; @@ -513,7 +524,7 @@ public final class StandardConnection implements Connection { // Source is a funnel and is running. We need to then check all of its upstream components. for (final Connection incoming : sourceComponent.getIncomingConnections()) { -verifySourceStoppedOrFunnel(incoming); +verifySourceStoppedOrFunnel(incoming, connectionsSeen); } }
(nifi) branch main updated: NIFI-12536: This closes #8178. Used proper method for converting byte array to String
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 2897618635 NIFI-12536: This closes #8178. Used proper method for converting byte array to String 2897618635 is described below commit 28976186351fca90178a3c6e4c125568a270cba2 Author: Mark Payne AuthorDate: Thu Dec 21 10:41:14 2023 -0500 NIFI-12536: This closes #8178. Used proper method for converting byte array to String Signed-off-by: Joseph Witt --- .../nifi-text-embeddings-module/src/main/python/ParseDocument.py| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nifi-python-extensions/nifi-text-embeddings-module/src/main/python/ParseDocument.py b/nifi-python-extensions/nifi-text-embeddings-module/src/main/python/ParseDocument.py index 6b26f6aa49..a6582cc346 100644 --- a/nifi-python-extensions/nifi-text-embeddings-module/src/main/python/ParseDocument.py +++ b/nifi-python-extensions/nifi-text-embeddings-module/src/main/python/ParseDocument.py @@ -177,7 +177,7 @@ class ParseDocument(FlowFileTransform): input_format = context.getProperty(self.INPUT_FORMAT).evaluateAttributeExpressions(flowFile).getValue() if input_format == PLAIN_TEXT: -return [Document(page_content=str(flowFile.getContentsAsBytes()), metadata=metadata)] +return [Document(page_content=flowFile.getContentsAsBytes().decode('utf-8'), metadata=metadata)] element_strategy = context.getProperty(self.ELEMENT_STRATEGY).getValue() if element_strategy == SINGLE_DOCUMENT:
(nifi) branch support/nifi-1.x updated: NIFI-12450 This closes #8103. Added Deprecation Warning for Bootstrap Notifications
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 60fe794906 NIFI-12450 This closes #8103. Added Deprecation Warning for Bootstrap Notifications 60fe794906 is described below commit 60fe7949067764f27ae898a7335aed569f64097c Author: exceptionfactory AuthorDate: Fri Dec 1 20:31:18 2023 -0600 NIFI-12450 This closes #8103. Added Deprecation Warning for Bootstrap Notifications Signed-off-by: Joseph Witt --- nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java | 1 + 1 file changed, 1 insertion(+) diff --git a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java index 586b6fc53a..ee5c193f04 100644 --- a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java +++ b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java @@ -419,6 +419,7 @@ public class RunNiFi { defaultLogger.info("Registered no Notification Services for Notification Type {}", type); return; } +deprecationLogger.warn("Bootstrap Notification Services are deprecated [{}]", serviceIds); int registered = 0; for (final String id : serviceIds.split(",")) {
(nifi) branch main updated: NIFI-11788 Modified APP_FILE logback configuration to have better cleanup NIFI-11788 Standardized Logback maximum settings - Set MiNiFi maxHistory to 10 and totalSizeCap to
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 6447aea258 NIFI-11788 Modified APP_FILE logback configuration to have better cleanup NIFI-11788 Standardized Logback maximum settings - Set MiNiFi maxHistory to 10 and totalSizeCap to 10MB - Set NiFi maxHistory to 30 and totalSizeCap to 3GB except for deprecation log - Set Stateless maxHistory to 30 and totalSizeCap to 3GB - Set Registry maxHistory to 30 and totalSizeCap to 3GB NIFI-11788 Increased MiNiFi maxFileSize to 10MB and cap to 100MB 6447aea258 is described below commit 6447aea2583eec08e44f40b3ad8371d15965f25c Author: Mike Thomsen AuthorDate: Sat Jul 8 22:05:02 2023 -0400 NIFI-11788 Modified APP_FILE logback configuration to have better cleanup NIFI-11788 Standardized Logback maximum settings - Set MiNiFi maxHistory to 10 and totalSizeCap to 10MB - Set NiFi maxHistory to 30 and totalSizeCap to 3GB except for deprecation log - Set Stateless maxHistory to 30 and totalSizeCap to 3GB - Set Registry maxHistory to 30 and totalSizeCap to 3GB NIFI-11788 Increased MiNiFi maxFileSize to 10MB and cap to 100MB This closes #7465. Coauthored by David Handermann and Mike Thomsen Signed-off-by: Joseph Witt --- .../src/main/resources/conf/logback.xml| 22 +++ .../src/main/resources/conf/logback.xml| 44 +++--- .../src/main/resources/conf/stateless-logback.xml | 7 +++- .../src/main/resources/conf/logback.xml| 29 ++ .../src/main/resources/conf/stateless-logback.xml | 7 +++- 5 files changed, 88 insertions(+), 21 deletions(-) diff --git a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-resources/src/main/resources/conf/logback.xml b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-resources/src/main/resources/conf/logback.xml index 2b470d7180..72fd36cd94 100644 --- a/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-resources/src/main/resources/conf/logback.xml +++ b/minifi/minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-resources/src/main/resources/conf/logback.xml @@ -29,12 +29,14 @@ To ZIP rolled files, replace '.log' with '.log.zip'. --> ${org.apache.nifi.minifi.bootstrap.config.log.dir}/${org.apache.nifi.minifi.bootstrap.config.log.app.file.name}_%d{-MM-dd_HH}.%i.${org.apache.nifi.minifi.bootstrap.config.log.app.file.extension}.gz - + +10MB + 10 - -1MB - -10MB + +100MB + +true true @@ -52,8 +54,14 @@ To ZIP rolled files, replace '.log' with '.log.zip'. --> ${org.apache.nifi.minifi.bootstrap.config.log.dir}/${org.apache.nifi.minifi.bootstrap.config.log.bootstrap.file.name}_%d.${org.apache.nifi.minifi.bootstrap.config.log.bootstrap.file.extension}.gz - -5 + +10MB + +10 + +100MB + +true %date %level [%thread] %logger{40} %msg%n 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 b13218d62f..3e9c1aa8e3 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 @@ -31,9 +31,14 @@ To ZIP rolled files, replace '.log' with '.log.zip'. --> ${org.apache.nifi.bootstrap.config.log.dir}/nifi-app_%d{-MM-dd_HH}.%i.log + 100MB - + 30 + +3GB + +true true @@ -51,8 +56,14 @@ To ZIP rolled files, replace '.log' with '.log.zip'. --> ${org.apache.nifi.bootstrap.config.log.dir}/nifi-user_%d.log - + +100MB + 30 + +3GB + +true %date %level [%thread] %logger{40} %msg%n @@ -63,7 +74,14 @@ ${org.apache.nifi.bootstrap.config.log.dir}/nifi-request.log ${org.apache.nifi.bootstrap.config.log.dir}/nifi-request_%d.log + +100MB + 30 + +
(nifi) branch main updated: NIFI-12288 This closes #7950. Improved Long and Integer handling in Utilities
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 ae14738dea NIFI-12288 This closes #7950. Improved Long and Integer handling in Utilities ae14738dea is described below commit ae14738dead33ca20dc2e779f5157118ee2b228f Author: exceptionfactory AuthorDate: Fri Oct 27 17:19:50 2023 -0500 NIFI-12288 This closes #7950. Improved Long and Integer handling in Utilities - Added explicit round in FormatUtils.makeWholeNumberTime() - Removed unnecessary boxing in component descriptors - Maintained long number tracking for releasable counts in Wait and Notify Processors Signed-off-by: Joseph Witt --- .../java/org/apache/nifi/util/FormatUtils.java | 5 +- .../status/history/ProcessorStatusDescriptor.java | 88 +++--- .../RemoteProcessGroupStatusDescriptor.java| 45 +-- .../processors/standard/WaitNotifyProtocol.java| 9 ++- .../standard/TestWaitNotifyProtocol.java | 60 ++- 5 files changed, 95 insertions(+), 112 deletions(-) diff --git a/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/FormatUtils.java b/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/FormatUtils.java index e5da2520d5..8dec493f64 100644 --- a/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/FormatUtils.java +++ b/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/FormatUtils.java @@ -217,7 +217,7 @@ public class FormatUtils { durationLong = Math.round(durationVal); } else { // Try reducing the size of the units to make the input a long -List wholeResults = makeWholeNumberTime(durationVal, specifiedTimeUnit); +List wholeResults = makeWholeNumberTime(durationVal, specifiedTimeUnit); durationLong = (long) wholeResults.get(0); specifiedTimeUnit = (TimeUnit) wholeResults.get(1); } @@ -247,7 +247,8 @@ public class FormatUtils { protected static List makeWholeNumberTime(double decimal, TimeUnit timeUnit) { // If the value is already a whole number, return it and the current time unit if (decimal == Math.rint(decimal)) { -return Arrays.asList(new Object[]{(long) decimal, timeUnit}); +final long rounded = Math.round(decimal); +return Arrays.asList(new Object[]{rounded, timeUnit}); } else if (TimeUnit.NANOSECONDS == timeUnit) { // The time unit is as small as possible if (decimal < 1.0) { diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/ProcessorStatusDescriptor.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/ProcessorStatusDescriptor.java index c8f51267ec..feff921299 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/ProcessorStatusDescriptor.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/status/history/ProcessorStatusDescriptor.java @@ -57,7 +57,7 @@ public enum ProcessorStatusDescriptor { "FlowFiles In (5 mins)", "The number of FlowFiles that this Processor has pulled from its queues in the past 5 minutes", Formatter.COUNT, -s -> Long.valueOf(s.getInputCount())), +s -> (long) s.getInputCount()), OUTPUT_BYTES( "outputBytes", @@ -71,14 +71,14 @@ public enum ProcessorStatusDescriptor { "FlowFiles Out (5 mins)", "The number of FlowFiles that this Processor has transferred to downstream queues in the past 5 minutes", Formatter.COUNT, -s -> Long.valueOf(s.getOutputCount())), +s -> (long) s.getOutputCount()), TASK_COUNT( "taskCount", "Tasks (5 mins)", "The number of tasks that this Processor has completed in the past 5 minutes", Formatter.COUNT, -s -> Long.valueOf(s.getInvocations())), +s -> (long) s.getInvocations()), TASK_MILLIS( "taskMillis", @@ -100,7 +100,7 @@ public enum ProcessorStatusDescriptor { "FlowFiles Removed (5 mins)", "The total number of FlowFiles removed by this Processor in the last 5 minutes", Formatter.COUNT, -s -> Long.valueOf(s.getFlowFilesRemoved())), +s -> (long) s.getFlowFilesRemoved()), AVERAGE_LINEAGE_DURATION( "averageLineageDuration", @@ -108,27 +108,27 @@ public enum Proce
[nifi] branch main updated: NIFI-12124: This closes #7791. Added a new RenameRecordField processor. In testing, also noticed that the Descendant Wildcard operator (//*) and Descendant Field Path Opera
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 3ae0eedee6 NIFI-12124: This closes #7791. Added a new RenameRecordField processor. In testing, also noticed that the Descendant Wildcard operator (//*) and Descendant Field Path Operator (//name, for instance) did not properly account for array of records or map elements, so addressed those concerns. 3ae0eedee6 is described below commit 3ae0eedee6ae67c48dd59f68752fa728e4355c41 Author: Mark Payne AuthorDate: Mon Sep 25 13:19:30 2023 -0400 NIFI-12124: This closes #7791. Added a new RenameRecordField processor. In testing, also noticed that the Descendant Wildcard operator (//*) and Descendant Field Path Operator (//name, for instance) did not properly account for array of records or map elements, so addressed those concerns. Signed-off-by: Joseph Witt --- .github/workflows/ci-workflow.yml | 3 + .../record/path/paths/DescendantFieldPath.java | 26 ++- .../record/path/paths/WildcardDescendantPath.java | 26 ++- .../org/apache/nifi/record/path/util/Filters.java | 38 +++- .../apache/nifi/record/path/TestRecordPath.java| 76 ++-- .../nifi/serialization/SimpleRecordSchema.java | 70 +-- .../nifi/serialization/record/MapRecord.java | 28 +++ .../apache/nifi/serialization/record/Record.java | 14 +- .../nifi/serialization/record/RecordSchema.java| 10 + .../org/apache/nifi/accumulo/data/KeySchema.java | 14 +- .../processors/standard/RenameRecordField.java | 209 + .../services/org.apache.nifi.processor.Processor | 1 + .../processors/standard/TestRenameRecordField.java | 182 ++ .../input/complex-person.json | 12 ++ .../TestRenameRecordField/input/simple-person.json | 5 + .../output/testNestedPath.json | 12 ++ .../testRecursivelyReferencingAllFields.json | 12 ++ .../testRecursivelyReferencingFieldName.json | 12 ++ .../output/testReferencingFieldName.json | 5 + .../output/testRenameArray.json| 12 ++ .../output/testRenameFieldStaticValue.json | 5 + .../output/testRenameFieldUsingAttribute.json | 5 + .../output/testRenameMultipleFields.json | 5 + 23 files changed, 740 insertions(+), 42 deletions(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 3f9ee8a7f5..439fdff8b6 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -172,6 +172,7 @@ jobs: if: failure() - name: Post Disk Usage run: df +if: ${{ always() }} macos-build-jp: timeout-minutes: 150 @@ -235,6 +236,7 @@ jobs: if: failure() - name: Post Disk Usage run: df +if: ${{ always() }} windows-build: timeout-minutes: 150 @@ -300,3 +302,4 @@ jobs: if: failure() - name: Post Disk Usage run: df +if: ${{ always() }} diff --git a/nifi-commons/nifi-record-path/src/main/java/org/apache/nifi/record/path/paths/DescendantFieldPath.java b/nifi-commons/nifi-record-path/src/main/java/org/apache/nifi/record/path/paths/DescendantFieldPath.java index 8946bc102c..60852f16ac 100644 --- a/nifi-commons/nifi-record-path/src/main/java/org/apache/nifi/record/path/paths/DescendantFieldPath.java +++ b/nifi-commons/nifi-record-path/src/main/java/org/apache/nifi/record/path/paths/DescendantFieldPath.java @@ -20,14 +20,18 @@ package org.apache.nifi.record.path.paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map; import java.util.stream.Stream; - import org.apache.nifi.record.path.FieldValue; +import org.apache.nifi.record.path.MapEntryFieldValue; import org.apache.nifi.record.path.RecordPathEvaluationContext; import org.apache.nifi.record.path.StandardFieldValue; import org.apache.nifi.record.path.util.Filters; +import org.apache.nifi.serialization.record.DataType; import org.apache.nifi.serialization.record.Record; import org.apache.nifi.serialization.record.RecordField; +import org.apache.nifi.serialization.record.RecordFieldType; +import org.apache.nifi.serialization.record.type.MapDataType; public class DescendantFieldPath extends RecordPathSegment { private final String descendantName; @@ -74,6 +78,26 @@ public class DescendantFieldPath extends RecordPathSegment { if (Filters.isRecord(childField.getDataType(), recordValue)) { final FieldValue childFieldValue = new StandardFieldValue(recordValue, childField, fieldValue); matchingValues.addAll(findDescendants(childFieldValue)); +} else if (Filters.isRecordArray(childField.getDataType(), recordValue
[nifi] branch main updated: NIFI-12221: This closes #7876. Be more lenient about which Disconnection Codes we allow a node to be reconnected to a cluster vs. when we notify the node to disconnect agai
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 f4ae292a45 NIFI-12221: This closes #7876. Be more lenient about which Disconnection Codes we allow a node to be reconnected to a cluster vs. when we notify the node to disconnect again. Also updated the timeout for OffloadIT because it occasionally times ou out while running properly. f4ae292a45 is described below commit f4ae292a457638d3226fb0491e5186fa52ae8518 Author: Mark Payne AuthorDate: Thu Oct 12 16:43:21 2023 -0400 NIFI-12221: This closes #7876. Be more lenient about which Disconnection Codes we allow a node to be reconnected to a cluster vs. when we notify the node to disconnect again. Also updated the timeout for OffloadIT because it occasionally times ou out while running properly. Signed-off-by: Joseph Witt --- .../coordination/heartbeat/AbstractHeartbeatMonitor.java | 12 +++- .../org/apache/nifi/tests/system/clustering/OffloadIT.java | 5 + 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/heartbeat/AbstractHeartbeatMonitor.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/heartbeat/AbstractHeartbeatMonitor.java index c8a77ed2f0..549b030804 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/heartbeat/AbstractHeartbeatMonitor.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/heartbeat/AbstractHeartbeatMonitor.java @@ -254,20 +254,22 @@ public abstract class AbstractHeartbeatMonitor implements HeartbeatMonitor { case LACK_OF_HEARTBEAT: case UNABLE_TO_COMMUNICATE: case NOT_YET_CONNECTED: -case STARTUP_FAILURE: { +case MISMATCHED_FLOWS: +case MISSING_BUNDLE: +case NODE_SHUTDOWN: +case FAILED_TO_SERVICE_REQUEST: +case STARTUP_FAILURE: clusterCoordinator.reportEvent(nodeId, Severity.INFO, "Received heartbeat from node previously " + "disconnected due to " + disconnectionCode + ". Issuing reconnection request."); clusterCoordinator.requestNodeConnect(nodeId, null); break; -} -default: { +default: // disconnected nodes should not heartbeat, so we need to issue a disconnection request. -logger.info("Ignoring received heartbeat from disconnected node " + nodeId + ". Issuing disconnection request."); +logger.info("Ignoring received heartbeat from disconnected node {}. Node was disconnected due to [{}]. Issuing disconnection request.", nodeId, disconnectionCode); clusterCoordinator.requestNodeDisconnect(nodeId, disconnectionCode, connectionStatus.getReason()); removeHeartbeat(nodeId); break; -} } return; diff --git a/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/clustering/OffloadIT.java b/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/clustering/OffloadIT.java index 818bd0cb23..f2e2266d9d 100644 --- a/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/clustering/OffloadIT.java +++ b/nifi-system-tests/nifi-system-test-suite/src/test/java/org/apache/nifi/tests/system/clustering/OffloadIT.java @@ -25,11 +25,13 @@ import org.apache.nifi.web.api.dto.ProcessorConfigDTO; import org.apache.nifi.web.api.entity.ConnectionEntity; import org.apache.nifi.web.api.entity.ProcessorEntity; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Timeout; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.Collections; +import java.util.concurrent.TimeUnit; public class OffloadIT extends NiFiSystemIT { private static final Logger logger = LoggerFactory.getLogger(OffloadIT.class); @@ -40,6 +42,9 @@ public class OffloadIT extends NiFiSystemIT { } @Test +@Timeout(value = 10, unit = TimeUnit.MINUTES) +// Test to ensure that node can be offloaded, reconnected, offloaded several times. This test typically takes only about 1-2 minutes +// but can occasionally take 5-6 minutes on Github Actions so we set the timeout
[nifi] branch support/nifi-1.x updated: NIFI-12228: This closes #7882. Fixed issue with FlowFile Concucrrency that can occasionally bring in more data than it should.
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 4d00f8e156 NIFI-12228: This closes #7882. Fixed issue with FlowFile Concucrrency that can occasionally bring in more data than it should. 4d00f8e156 is described below commit 4d00f8e1563ffec40d8d601ac2b678ad0414bb5b Author: Mark Payne AuthorDate: Fri Oct 13 11:03:11 2023 -0400 NIFI-12228: This closes #7882. Fixed issue with FlowFile Concucrrency that can occasionally bring in more data than it should. Signed-off-by: Joseph Witt --- .../nifi/groups/SingleConcurrencyFlowFileGate.java | 17 ++ .../org/apache/nifi/groups/StandardDataValve.java | 27 ++ 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/SingleConcurrencyFlowFileGate.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/SingleConcurrencyFlowFileGate.java index 2282636b57..c006cdb659 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/SingleConcurrencyFlowFileGate.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/SingleConcurrencyFlowFileGate.java @@ -36,6 +36,16 @@ public class SingleConcurrencyFlowFileGate implements FlowFileGate { return false; } +// We need to try to open flow into the Port's group. To do this, we need to get the data valve for the parent group, +// as it is responsible for data flowing into and out of its children. +final ProcessGroup dataValveGroup = port.getProcessGroup().getParent(); +final DataValve dataValve = dataValveGroup.getDataValve(); +final boolean openFlowIntoGroup = dataValve.tryOpenFlowIntoGroup(port.getProcessGroup()); +if (!openFlowIntoGroup) { +claimed.set(false); +return false; +} + // The claim is now held by this thread. Check if the ProcessGroup is empty. final boolean empty = !port.getProcessGroup().isDataQueued(); if (empty) { @@ -43,6 +53,9 @@ public class SingleConcurrencyFlowFileGate implements FlowFileGate { return true; } +// We have already opened flow into group, so now we must close it, since we are not allowing flow in +dataValve.closeFlowIntoGroup(port.getProcessGroup()); + // Process Group was not empty, so we cannot allow any more FlowFiles through. Reset claimed to false and return false, // indicating that the caller did not obtain the claim. claimed.set(false); @@ -52,5 +65,9 @@ public class SingleConcurrencyFlowFileGate implements FlowFileGate { @Override public void releaseClaim(final Port port) { claimed.set(false); + +final ProcessGroup dataValveGroup = port.getProcessGroup().getParent(); +final DataValve dataValve = dataValveGroup.getDataValve(); +dataValve.closeFlowIntoGroup(port.getProcessGroup()); } } diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardDataValve.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardDataValve.java index df5658638f..5c1c1ee5ec 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardDataValve.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardDataValve.java @@ -84,10 +84,15 @@ public class StandardDataValve implements DataValve { if (destinationGroup.isDataQueued()) { // If the destination group already has data queued up, and the valve is not already open, do not allow data to // flow into the group. If we did, we would end up mixing together two different batches of data. -logger.debug("Will not allow data to flow into {} because valve is not already open and the Process Group has data queued", destinationGroup); +logger.trace("Will not allow data to flow into {} because valve is not already open and the Process Group has data queued", destinationGroup); return "Process Group already has data queued and valve is not already allowing data into group"; } +if (destinationGroup.getFlowFileOutboundPolicy() == FlowFileOutboundPolicy.BATCH_OUTPUT &&a
[nifi] branch main updated: NIFI-12228: This closes #7881. Fixed issue with FlowFile Concucrrency that can occasionally bring in more data than it should. Code cleanup, fixing logback to avoid INFO-le
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 0eabbcdf19 NIFI-12228: This closes #7881. Fixed issue with FlowFile Concucrrency that can occasionally bring in more data than it should. Code cleanup, fixing logback to avoid INFO-level stack trace from xodus 0eabbcdf19 is described below commit 0eabbcdf19dfa9de7085b4b173ac3d3260f9d3a4 Author: Mark Payne AuthorDate: Fri Oct 13 11:03:11 2023 -0400 NIFI-12228: This closes #7881. Fixed issue with FlowFile Concucrrency that can occasionally bring in more data than it should. Code cleanup, fixing logback to avoid INFO-level stack trace from xodus Signed-off-by: Joseph Witt --- .../org/apache/nifi/connectable/LocalPort.java | 12 +++--- .../nifi/groups/SingleConcurrencyFlowFileGate.java | 17 ++ .../org/apache/nifi/groups/StandardDataValve.java | 27 ++ .../resources/conf/clustered/node1/logback.xml | 3 +++ .../resources/conf/clustered/node2/logback.xml | 3 +++ .../src/test/resources/conf/default/logback.xml| 4 +++- .../src/test/resources/conf/pythonic/logback.xml | 3 +++ 7 files changed, 49 insertions(+), 20 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/connectable/LocalPort.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/connectable/LocalPort.java index 86366f6eb8..53ffc01937 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/connectable/LocalPort.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/connectable/LocalPort.java @@ -186,15 +186,9 @@ public class LocalPort extends AbstractPort { final FlowFileConcurrency flowFileConcurrency = getProcessGroup().getFlowFileConcurrency(); switch (flowFileConcurrency) { -case UNBOUNDED: -transferUnboundedConcurrency(context, session); -break; -case SINGLE_FLOWFILE_PER_NODE: -transferSingleFlowFile(session); -break; -case SINGLE_BATCH_PER_NODE: -transferInputBatch(session); -break; +case UNBOUNDED -> transferUnboundedConcurrency(context, session); +case SINGLE_FLOWFILE_PER_NODE -> transferSingleFlowFile(session); +case SINGLE_BATCH_PER_NODE -> transferInputBatch(session); } } finally { flowFileGate.releaseClaim(this); diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/SingleConcurrencyFlowFileGate.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/SingleConcurrencyFlowFileGate.java index 2282636b57..c006cdb659 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/SingleConcurrencyFlowFileGate.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/SingleConcurrencyFlowFileGate.java @@ -36,6 +36,16 @@ public class SingleConcurrencyFlowFileGate implements FlowFileGate { return false; } +// We need to try to open flow into the Port's group. To do this, we need to get the data valve for the parent group, +// as it is responsible for data flowing into and out of its children. +final ProcessGroup dataValveGroup = port.getProcessGroup().getParent(); +final DataValve dataValve = dataValveGroup.getDataValve(); +final boolean openFlowIntoGroup = dataValve.tryOpenFlowIntoGroup(port.getProcessGroup()); +if (!openFlowIntoGroup) { +claimed.set(false); +return false; +} + // The claim is now held by this thread. Check if the ProcessGroup is empty. final boolean empty = !port.getProcessGroup().isDataQueued(); if (empty) { @@ -43,6 +53,9 @@ public class SingleConcurrencyFlowFileGate implements FlowFileGate { return true; } +// We have already opened flow into group, so now we must close it, since we are not allowing flow in +dataValve.closeFlowIntoGroup(port.getProcessGroup()); + // Process Group was not empty, so we cannot allow any more FlowFiles through. Reset claimed to false and return false, // indicating that the caller did not obtain the claim. claimed.set(false);
[nifi] branch support/nifi-1.x updated: NIFI-12214 This closes #7869. ConsumeElasticsearch Query Builder properties do not dependOn the Query Definition Style
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new ac435ed7a1 NIFI-12214 This closes #7869. ConsumeElasticsearch Query Builder properties do not dependOn the Query Definition Style ac435ed7a1 is described below commit ac435ed7a18fe1266fed97dfae2864b3ce9123ac Author: Chris Sampson AuthorDate: Wed Oct 11 21:00:09 2023 +0100 NIFI-12214 This closes #7869. ConsumeElasticsearch Query Builder properties do not dependOn the Query Definition Style Signed-off-by: Joseph Witt --- .../apache/nifi/components/PropertyDescriptor.java | 30 .../nifi/components/TestPropertyDescriptor.java| 33 ++ .../elasticsearch/ConsumeElasticsearch.java| 32 + .../elasticsearch/ConsumeElasticsearchTest.java| 8 +++--- .../integration/AbstractElasticsearchITBase.java | 2 +- nifi-nar-bundles/nifi-elasticsearch-bundle/pom.xml | 4 +-- 6 files changed, 102 insertions(+), 7 deletions(-) diff --git a/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java b/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java index 2e18ba9c73..f497b4123c 100644 --- a/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java +++ b/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java @@ -438,6 +438,16 @@ public final class PropertyDescriptor implements Comparable return this; } +/** + * Clears all Allowable Values from this Property + * + * @return the builder + */ +public Builder clearAllowableValues() { +this.allowableValues = null; +return this; +} + /** * Sets the Allowable Values for this Property * @@ -480,6 +490,16 @@ public final class PropertyDescriptor implements Comparable return this; } +/** + * Clear all Validators from this Property + * + * @return the builder + */ +public Builder clearValidators() { +validators.clear(); +return this; +} + /** * Specifies that this property provides the identifier of a Controller * Service that implements the given interface @@ -632,6 +652,16 @@ public final class PropertyDescriptor implements Comparable return dependsOn(property, dependentValues); } +/** + * Clear all Dependencies from this Property + * + * @return the builder + */ +public Builder clearDependsOn() { +this.dependencies = new HashSet<>(); +return this; +} + private AllowableValue toAllowableValue(DescribedValue describedValue) { return new AllowableValue(describedValue.getValue(), describedValue.getDisplayName(), describedValue.getDescription()); } diff --git a/nifi-api/src/test/java/org/apache/nifi/components/TestPropertyDescriptor.java b/nifi-api/src/test/java/org/apache/nifi/components/TestPropertyDescriptor.java index 288fbcb2ea..6d2769a145 100644 --- a/nifi-api/src/test/java/org/apache/nifi/components/TestPropertyDescriptor.java +++ b/nifi-api/src/test/java/org/apache/nifi/components/TestPropertyDescriptor.java @@ -35,6 +35,7 @@ import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; 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; import static org.mockito.ArgumentMatchers.anyString; @@ -188,4 +189,36 @@ public class TestPropertyDescriptor { // Test the literal value 'target' assertTrue(withElNotAllowed.validate("target", validationContext).isValid()); } + +@Test +void testClearingValues() { +final PropertyDescriptor dep1 = new PropertyDescriptor.Builder() +.name("dep1") +.allowableValues("delVal1") +.build(); + +final PropertyDescriptor pd1 = new PropertyDescriptor.Builder() +.name("test") +.addValidator(Validator.VALID) +.allowableValues("val1") +.dependsOn(dep1, "depVal1") +.build(); + +final PropertyDescriptor pd2 = new PropertyDescriptor.Builder() +.fromPropertyDescriptor(pd1) +.clearValidators() +.clearAllowableValues() +.clearDependsO
[nifi] 02/03: NIFI-12214 This closes #7869. ConsumeElasticsearch Query Builder properties do not dependOn the Query Definition Style
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 584b3fc1652809e49f7d8f34602208ad20e6e1d0 Author: Chris Sampson AuthorDate: Wed Oct 11 21:00:09 2023 +0100 NIFI-12214 This closes #7869. ConsumeElasticsearch Query Builder properties do not dependOn the Query Definition Style Signed-off-by: Joseph Witt --- .../apache/nifi/components/PropertyDescriptor.java | 30 .../nifi/components/TestPropertyDescriptor.java| 33 ++ .../elasticsearch/ConsumeElasticsearch.java| 32 + .../elasticsearch/ConsumeElasticsearchTest.java| 8 +++--- .../integration/AbstractElasticsearchITBase.java | 2 +- nifi-nar-bundles/nifi-elasticsearch-bundle/pom.xml | 4 +-- 6 files changed, 102 insertions(+), 7 deletions(-) diff --git a/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java b/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java index be359544e4..48bc181f85 100644 --- a/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java +++ b/nifi-api/src/main/java/org/apache/nifi/components/PropertyDescriptor.java @@ -413,6 +413,16 @@ public final class PropertyDescriptor implements Comparable return this; } +/** + * Clears all Allowable Values from this Property + * + * @return the builder + */ +public Builder clearAllowableValues() { +this.allowableValues = null; +return this; +} + /** * Sets the Allowable Values for this Property * @@ -455,6 +465,16 @@ public final class PropertyDescriptor implements Comparable return this; } +/** + * Clear all Validators from this Property + * + * @return the builder + */ +public Builder clearValidators() { +validators.clear(); +return this; +} + /** * Specifies that this property provides the identifier of a Controller * Service that implements the given interface @@ -607,6 +627,16 @@ public final class PropertyDescriptor implements Comparable return dependsOn(property, dependentValues); } +/** + * Clear all Dependencies from this Property + * + * @return the builder + */ +public Builder clearDependsOn() { +this.dependencies = new HashSet<>(); +return this; +} + private AllowableValue toAllowableValue(DescribedValue describedValue) { return new AllowableValue(describedValue.getValue(), describedValue.getDisplayName(), describedValue.getDescription()); } diff --git a/nifi-api/src/test/java/org/apache/nifi/components/TestPropertyDescriptor.java b/nifi-api/src/test/java/org/apache/nifi/components/TestPropertyDescriptor.java index 7eeac9a61a..8e20a82e52 100644 --- a/nifi-api/src/test/java/org/apache/nifi/components/TestPropertyDescriptor.java +++ b/nifi-api/src/test/java/org/apache/nifi/components/TestPropertyDescriptor.java @@ -35,6 +35,7 @@ import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; 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; import static org.mockito.ArgumentMatchers.anyString; @@ -188,4 +189,36 @@ public class TestPropertyDescriptor { // Test the literal value 'target' assertTrue(withElNotAllowed.validate("target", validationContext).isValid()); } + +@Test +void testClearingValues() { +final PropertyDescriptor dep1 = new PropertyDescriptor.Builder() +.name("dep1") +.allowableValues("delVal1") +.build(); + +final PropertyDescriptor pd1 = new PropertyDescriptor.Builder() +.name("test") +.addValidator(Validator.VALID) +.allowableValues("val1") +.dependsOn(dep1, "depVal1") +.build(); + +final PropertyDescriptor pd2 = new PropertyDescriptor.Builder() +.fromPropertyDescriptor(pd1) +.clearValidators() +.clearAllowableValues() +.clearDependsOn() +.build(); + +assertEquals("test", pd1.getName()); +assertFalse(pd1.getValidators().isEmpty()); +assertFalse(pd1.getDependencies().isEmpty()); +assertNotNull(pd1.getAllowableValues()); + +assertEq
[nifi] 03/03: NIFI-12211: This closes #7868. add Validator.VALID to username/password on TinkerpopClientService
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 1a0f509ffc4a2d0b9620d1d322807d3588deb6e4 Author: levilentz AuthorDate: Wed Oct 11 10:36:44 2023 -0700 NIFI-12211: This closes #7868. add Validator.VALID to username/password on TinkerpopClientService Signed-off-by: Joseph Witt --- .../src/main/java/org/apache/nifi/graph/TinkerpopClientService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/TinkerpopClientService.java b/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/TinkerpopClientService.java index f94a5ba0c5..ac01bb7a3a 100644 --- a/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/TinkerpopClientService.java +++ b/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/TinkerpopClientService.java @@ -167,6 +167,7 @@ public class TinkerpopClientService extends AbstractControllerService implements " Note: when using a remote.yaml file, this username value (if set) will overload any " + "username set in the YAML file.") .required(false) +.addValidator(Validator.VALID) .expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT) .build(); @@ -178,6 +179,7 @@ public class TinkerpopClientService extends AbstractControllerService implements "password set in the YAML file") .required(false) .sensitive(true) +.addValidator(Validator.VALID) .build(); public static final PropertyDescriptor EXTRA_RESOURCE = new PropertyDescriptor.Builder()
[nifi] 01/03: NIFI-12213 This closes #7871. add nifi-utils dependency to NARs that do not use nifi-standard-services-api-nar as a parent
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 f2927525f30934c9566b0d0b400b268cac0e9297 Author: Mike Moser AuthorDate: Wed Oct 11 20:38:46 2023 + NIFI-12213 This closes #7871. add nifi-utils dependency to NARs that do not use nifi-standard-services-api-nar as a parent Signed-off-by: Joseph Witt --- .../nifi-kerberos-iaa-providers-nar/pom.xml | 5 + .../nifi-ldap-iaa-providers-nar/pom.xml | 5 + 2 files changed, 10 insertions(+) diff --git a/nifi-nar-bundles/nifi-kerberos-iaa-providers-bundle/nifi-kerberos-iaa-providers-nar/pom.xml b/nifi-nar-bundles/nifi-kerberos-iaa-providers-bundle/nifi-kerberos-iaa-providers-nar/pom.xml index 1faa60f814..4e3519dadc 100644 --- a/nifi-nar-bundles/nifi-kerberos-iaa-providers-bundle/nifi-kerberos-iaa-providers-nar/pom.xml +++ b/nifi-nar-bundles/nifi-kerberos-iaa-providers-bundle/nifi-kerberos-iaa-providers-nar/pom.xml @@ -37,6 +37,11 @@ nifi-security-utils-api compile + +org.apache.nifi +nifi-utils +compile + nifi-kerberos-iaa-providers-nar \ No newline at end of file diff --git a/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers-nar/pom.xml b/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers-nar/pom.xml index 0180c97403..44c47bfdb9 100644 --- a/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers-nar/pom.xml +++ b/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers-nar/pom.xml @@ -37,6 +37,11 @@ nifi-security-utils-api compile + +org.apache.nifi +nifi-utils +compile + nifi-ldap-iaa-providers-nar \ No newline at end of file
[nifi] branch main updated (9627c4c0e8 -> 1a0f509ffc)
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 9627c4c0e8 NIFI-12174 Upgraded AWS PutLambda Processor to SDK 2 new f2927525f3 NIFI-12213 This closes #7871. add nifi-utils dependency to NARs that do not use nifi-standard-services-api-nar as a parent new 584b3fc165 NIFI-12214 This closes #7869. ConsumeElasticsearch Query Builder properties do not dependOn the Query Definition Style new 1a0f509ffc NIFI-12211: This closes #7868. add Validator.VALID to username/password on TinkerpopClientService 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: .../apache/nifi/components/PropertyDescriptor.java | 30 .../nifi/components/TestPropertyDescriptor.java| 33 ++ .../elasticsearch/ConsumeElasticsearch.java| 32 + .../elasticsearch/ConsumeElasticsearchTest.java| 8 +++--- .../integration/AbstractElasticsearchITBase.java | 2 +- nifi-nar-bundles/nifi-elasticsearch-bundle/pom.xml | 4 +-- .../apache/nifi/graph/TinkerpopClientService.java | 2 ++ .../nifi-kerberos-iaa-providers-nar/pom.xml| 5 .../nifi-ldap-iaa-providers-nar/pom.xml| 5 9 files changed, 114 insertions(+), 7 deletions(-)
[nifi] branch main updated: NIFI-12137: This closes #7808. Fixed name of Expression Language Scope from LIMITED to ENVIRONMENT, ; fixed issue in which flowfiles routed to failure by FlowFileTransform
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 711f2f1188 NIFI-12137: This closes #7808. Fixed name of Expression Language Scope from LIMITED to ENVIRONMENT, ; fixed issue in which flowfiles routed to failure by FlowFileTransform were also being routed to original; defined 'identifier' and 'logger' as member variables for FlowFileTransform and RecordTransform so that IDEs know about them 711f2f1188 is described below commit 711f2f11888b9ea9eace8816758ad1d0d2075aa5 Author: Mark Payne AuthorDate: Thu Sep 28 10:09:10 2023 -0400 NIFI-12137: This closes #7808. Fixed name of Expression Language Scope from LIMITED to ENVIRONMENT, ; fixed issue in which flowfiles routed to failure by FlowFileTransform were also being routed to original; defined 'identifier' and 'logger' as member variables for FlowFileTransform and RecordTransform so that IDEs know about them Signed-off-by: Joseph Witt --- .../apache/nifi/groups/StandardProcessGroup.java | 5 + .../python/processor/FlowFileTransformProxy.java | 12 +++ .../python/processor/PythonProcessorProxy.java | 19 +- .../python/processor/RecordTransformProxy.java | 23 +++--- .../main/python/src/nifiapi/flowfiletransform.py | 4 .../src/main/python/src/nifiapi/properties.py | 7 --- .../src/main/python/src/nifiapi/recordtransform.py | 4 7 files changed, 45 insertions(+), 29 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java index c56a779e9e..a5d0d388ed 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java @@ -1236,6 +1236,11 @@ public final class StandardProcessGroup implements ProcessGroup { conn.verifyCanDelete(); } +// Avoid performing any more validation on the processor, as it is no longer necessary and may +// cause issues with Python-based Processor, as validation may trigger, attempting to communicate +// with the Python process even after the Python process has been destroyed. +processor.pauseValidationTrigger(); + try (final NarCloseable x = NarCloseable.withComponentNarLoader(extensionManager, processor.getProcessor().getClass(), processor.getIdentifier())) { final StandardProcessContext processContext = new StandardProcessContext(processor, controllerServiceProvider, getStateManager(processor.getIdentifier()), () -> false, nodeTypeProvider); diff --git a/nifi-nar-bundles/nifi-py4j-bundle/nifi-py4j-bridge/src/main/java/org/apache/nifi/python/processor/FlowFileTransformProxy.java b/nifi-nar-bundles/nifi-py4j-bundle/nifi-py4j-bridge/src/main/java/org/apache/nifi/python/processor/FlowFileTransformProxy.java index 50bc4ae70d..8ebf00eb19 100644 --- a/nifi-nar-bundles/nifi-py4j-bundle/nifi-py4j-bridge/src/main/java/org/apache/nifi/python/processor/FlowFileTransformProxy.java +++ b/nifi-nar-bundles/nifi-py4j-bundle/nifi-py4j-bridge/src/main/java/org/apache/nifi/python/processor/FlowFileTransformProxy.java @@ -17,6 +17,7 @@ package org.apache.nifi.python.processor; +import java.util.Map; import org.apache.nifi.annotation.behavior.DefaultRunDuration; import org.apache.nifi.annotation.behavior.SupportsBatching; import org.apache.nifi.annotation.lifecycle.OnScheduled; @@ -27,8 +28,6 @@ import org.apache.nifi.processor.Relationship; import org.apache.nifi.processor.exception.ProcessException; import py4j.Py4JNetworkException; -import java.util.Map; - @SupportsBatching(defaultDuration = DefaultRunDuration.TWENTY_FIVE_MILLIS) public class FlowFileTransformProxy extends PythonProcessorProxy { @@ -76,6 +75,13 @@ public class FlowFileTransformProxy extends PythonProcessorProxy { session.transfer(original, REL_FAILURE); return; } +final String relationshipName = result.getRelationship(); +final Relationship relationship = new Relationship.Builder().name(relationshipName).build(); +if (REL_FAILURE.getName().equals(relationshipName)) { +session.remove(transformed); +session.transfer(original, REL_FAILURE); +return; +} final Map attributes = result.getAttributes(); if (attributes != n
[nifi] branch main updated: NIFI-12161: This closes #7829. Ensuring framework threads use lightweight threads instead of a capped thread pool. This prevents framework threads from livelocking in the
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 1d9ccb3857 NIFI-12161: This closes #7829. Ensuring framework threads use lightweight threads instead of a capped thread pool. This prevents framework threads from livelocking in the event enough framework threads are holding threads while those needing to run cannot get them. 1d9ccb3857 is described below commit 1d9ccb3857901faaf531645ae1b09547a0944050 Author: Mark Payne AuthorDate: Mon Oct 2 11:12:10 2023 -0400 NIFI-12161: This closes #7829. Ensuring framework threads use lightweight threads instead of a capped thread pool. This prevents framework threads from livelocking in the event enough framework threads are holding threads while those needing to run cannot get them. Signed-off-by: Joseph Witt --- .../scheduling/StandardProcessScheduler.java | 75 -- .../apache/nifi/tests/system/NiFiClientUtil.java | 56 +--- .../org/apache/nifi/tests/system/NiFiSystemIT.java | 22 +-- .../SpawnedStandaloneNiFiInstanceFactory.java | 7 ++ .../system/pg/SingleFlowFileConcurrencyIT.java | 16 - 5 files changed, 142 insertions(+), 34 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java index ef68c3d67b..f0175d1b7c 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/scheduling/StandardProcessScheduler.java @@ -73,6 +73,7 @@ import java.util.concurrent.Future; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; import java.util.function.Supplier; import static java.util.Objects.requireNonNull; @@ -90,11 +91,12 @@ public final class StandardProcessScheduler implements ProcessScheduler { private final StateManagerProvider stateManagerProvider; private final long processorStartTimeoutMillis; private final LifecycleStateManager lifecycleStateManager; +private final AtomicLong frameworkTaskThreadIndex = new AtomicLong(1L); -private final ScheduledExecutorService frameworkTaskExecutor; private final ConcurrentMap strategyAgentMap = new ConcurrentHashMap<>(); // thread pool for starting/stopping components +private volatile boolean shutdown = false; private final ScheduledExecutorService componentLifeCycleThreadPool; private final ScheduledExecutorService componentMonitoringThreadPool = new FlowEngine(2, "Monitor Processor Lifecycle", true); @@ -111,8 +113,6 @@ public final class StandardProcessScheduler implements ProcessScheduler { final String timeoutString = nifiProperties.getProperty(NiFiProperties.PROCESSOR_SCHEDULING_TIMEOUT); processorStartTimeoutMillis = timeoutString == null ? 6 : FormatUtils.getTimeDuration(timeoutString.trim(), TimeUnit.MILLISECONDS); - -frameworkTaskExecutor = new FlowEngine(4, "Framework Task Thread"); } public ControllerServiceProvider getControllerServiceProvider() { @@ -123,20 +123,36 @@ public final class StandardProcessScheduler implements ProcessScheduler { return stateManagerProvider.getStateManager(componentId); } -public void scheduleFrameworkTask(final Runnable command, final String taskName, final long initialDelay, final long delay, final TimeUnit timeUnit) { -frameworkTaskExecutor.scheduleWithFixedDelay(new Runnable() { -@Override -public void run() { -try { -command.run(); -} catch (final Throwable t) { -LOG.error("Failed to run Framework Task {} due to {}", taskName, t.toString()); -if (LOG.isDebugEnabled()) { -LOG.error("", t); -} -} +public void scheduleFrameworkTask(final Runnable task, final String taskName, final long initialDelay, final long delay, final TimeUnit timeUnit) { +Thread.ofVirtual() +.name(taskName) +.start(() -> invokeRepeatedly(task, taskName, initialDelay, delay, timeUnit)); +} + +private void invokeRepeatedly(final Runnable task, final String taskName, final long initia
[nifi] branch support/nifi-1.x updated: NIFI-12163 This closes #7835. Improved Syslog 5424 Line Handling
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 9bd7b91514 NIFI-12163 This closes #7835. Improved Syslog 5424 Line Handling 9bd7b91514 is described below commit 9bd7b91514d066ee997b79fc70af367719c0a348 Author: exceptionfactory AuthorDate: Tue Oct 3 15:26:09 2023 -0500 NIFI-12163 This closes #7835. Improved Syslog 5424 Line Handling - Eliminated unused parseEvent method signatures from StrictSyslog5424Parser in favor of a single String line method - Eliminated intermediate conversion from String to byte array and back to String for Syslog Parser Signed-off-by: Joseph Witt --- .../syslog/parsers/StrictSyslog5424Parser.java | 83 +++ .../syslog/BaseStrictSyslog5424ParserTest.java | 93 ++ .../nifi/processors/standard/ParseSyslog5424.java | 26 ++ .../org/apache/nifi/syslog/Syslog5424Reader.java | 16 ++-- .../apache/nifi/syslog/Syslog5424RecordReader.java | 18 ++--- .../nifi/syslog/TestSyslog5424RecordReader.java| 44 +- 6 files changed, 61 insertions(+), 219 deletions(-) diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/StrictSyslog5424Parser.java b/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/StrictSyslog5424Parser.java index ed36c9d34f..d2abe2d972 100644 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/StrictSyslog5424Parser.java +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/StrictSyslog5424Parser.java @@ -21,29 +21,18 @@ import com.github.palindromicity.syslog.NilPolicy; import com.github.palindromicity.syslog.StructuredDataPolicy; import com.github.palindromicity.syslog.SyslogParserBuilder; import org.apache.nifi.syslog.events.Syslog5424Event; -import org.apache.nifi.syslog.keyproviders.SyslogPrefixedKeyProvider; import org.apache.nifi.syslog.utils.NifiStructuredDataPolicy; import org.apache.nifi.syslog.utils.NilHandlingPolicy; -import java.nio.ByteBuffer; -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; - /** * Parses a Syslog message from a ByteBuffer into a Syslog5424Event instance. * For 5424 we use simple-syslog-5424 since it parsers out structured data. */ public class StrictSyslog5424Parser { -private Charset charset; -private com.github.palindromicity.syslog.SyslogParser parser; - -public StrictSyslog5424Parser() { -this(StandardCharsets.UTF_8, NilHandlingPolicy.NULL, NifiStructuredDataPolicy.FLATTEN, new SyslogPrefixedKeyProvider()); -} +private final com.github.palindromicity.syslog.SyslogParser parser; -public StrictSyslog5424Parser(final Charset charset, final NilHandlingPolicy nilPolicy, - NifiStructuredDataPolicy structuredDataPolicy, KeyProvider keyProvider) { -this.charset = charset; +public StrictSyslog5424Parser(final NilHandlingPolicy nilPolicy, + final NifiStructuredDataPolicy structuredDataPolicy, final KeyProvider keyProvider) { parser = new SyslogParserBuilder() .withNilPolicy(NilPolicy.valueOf(nilPolicy.name())) .withStructuredDataPolicy(StructuredDataPolicy.valueOf(structuredDataPolicy.name())) @@ -52,54 +41,17 @@ public class StrictSyslog5424Parser { } /** - * Parses a Syslog5424Event from a {@code ByteBuffer}. - * - * @param buffer a {@code ByteBuffer} containing a syslog message - * @return a Syslog5424Event parsed from the {@code {@code byte array}} - */ -public Syslog5424Event parseEvent(final ByteBuffer buffer) { -return parseEvent(buffer, null); -} - -/** - * Parses a Syslog5424Event from a {@code ByteBuffer}. - * - * @param buffer a {@code ByteBuffer} containing a syslog message - * @param sender the hostname of the syslog server that sent the message - * @return a Syslog5424Event parsed from the {@code byte array} - */ -public Syslog5424Event parseEvent(final ByteBuffer buffer, final String sender) { -if (buffer == null) { -return null; -} -return parseEvent(bufferToBytes(buffer), sender); -} - -/** - * Parses a Syslog5424Event from a {@code byte array}. + * Parses a Syslog5424Event from a String * - * @param bytes a {@code byte array} containing a syslog message - * @param sender the hostname of the syslog server that sent the message - * @return a Syslog5424Event parsed from the {@code byte array} + * @param line a {@code String} containing a syslog message
[nifi] branch main updated: NIFI-12163 This closes #7835. Improved Syslog 5424 Line Handling
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 da4c6f6e25 NIFI-12163 This closes #7835. Improved Syslog 5424 Line Handling da4c6f6e25 is described below commit da4c6f6e253ad0a490f60554ea57c204927432a2 Author: exceptionfactory AuthorDate: Tue Oct 3 15:26:09 2023 -0500 NIFI-12163 This closes #7835. Improved Syslog 5424 Line Handling - Eliminated unused parseEvent method signatures from StrictSyslog5424Parser in favor of a single String line method - Eliminated intermediate conversion from String to byte array and back to String for Syslog Parser Signed-off-by: Joseph Witt --- .../syslog/parsers/StrictSyslog5424Parser.java | 83 +++ .../syslog/BaseStrictSyslog5424ParserTest.java | 93 ++ .../nifi/processors/standard/ParseSyslog5424.java | 26 ++ .../org/apache/nifi/syslog/Syslog5424Reader.java | 16 ++-- .../apache/nifi/syslog/Syslog5424RecordReader.java | 18 ++--- .../nifi/syslog/TestSyslog5424RecordReader.java| 44 +- 6 files changed, 61 insertions(+), 219 deletions(-) diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/StrictSyslog5424Parser.java b/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/StrictSyslog5424Parser.java index ed36c9d34f..d2abe2d972 100644 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/StrictSyslog5424Parser.java +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/StrictSyslog5424Parser.java @@ -21,29 +21,18 @@ import com.github.palindromicity.syslog.NilPolicy; import com.github.palindromicity.syslog.StructuredDataPolicy; import com.github.palindromicity.syslog.SyslogParserBuilder; import org.apache.nifi.syslog.events.Syslog5424Event; -import org.apache.nifi.syslog.keyproviders.SyslogPrefixedKeyProvider; import org.apache.nifi.syslog.utils.NifiStructuredDataPolicy; import org.apache.nifi.syslog.utils.NilHandlingPolicy; -import java.nio.ByteBuffer; -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; - /** * Parses a Syslog message from a ByteBuffer into a Syslog5424Event instance. * For 5424 we use simple-syslog-5424 since it parsers out structured data. */ public class StrictSyslog5424Parser { -private Charset charset; -private com.github.palindromicity.syslog.SyslogParser parser; - -public StrictSyslog5424Parser() { -this(StandardCharsets.UTF_8, NilHandlingPolicy.NULL, NifiStructuredDataPolicy.FLATTEN, new SyslogPrefixedKeyProvider()); -} +private final com.github.palindromicity.syslog.SyslogParser parser; -public StrictSyslog5424Parser(final Charset charset, final NilHandlingPolicy nilPolicy, - NifiStructuredDataPolicy structuredDataPolicy, KeyProvider keyProvider) { -this.charset = charset; +public StrictSyslog5424Parser(final NilHandlingPolicy nilPolicy, + final NifiStructuredDataPolicy structuredDataPolicy, final KeyProvider keyProvider) { parser = new SyslogParserBuilder() .withNilPolicy(NilPolicy.valueOf(nilPolicy.name())) .withStructuredDataPolicy(StructuredDataPolicy.valueOf(structuredDataPolicy.name())) @@ -52,54 +41,17 @@ public class StrictSyslog5424Parser { } /** - * Parses a Syslog5424Event from a {@code ByteBuffer}. - * - * @param buffer a {@code ByteBuffer} containing a syslog message - * @return a Syslog5424Event parsed from the {@code {@code byte array}} - */ -public Syslog5424Event parseEvent(final ByteBuffer buffer) { -return parseEvent(buffer, null); -} - -/** - * Parses a Syslog5424Event from a {@code ByteBuffer}. - * - * @param buffer a {@code ByteBuffer} containing a syslog message - * @param sender the hostname of the syslog server that sent the message - * @return a Syslog5424Event parsed from the {@code byte array} - */ -public Syslog5424Event parseEvent(final ByteBuffer buffer, final String sender) { -if (buffer == null) { -return null; -} -return parseEvent(bufferToBytes(buffer), sender); -} - -/** - * Parses a Syslog5424Event from a {@code byte array}. + * Parses a Syslog5424Event from a String * - * @param bytes a {@code byte array} containing a syslog message - * @param sender the hostname of the syslog server that sent the message - * @return a Syslog5424Event parsed from the {@code byte array} + * @param line a {@code String} containing a syslog message + * @return
[nifi] branch support/nifi-1.x updated: NIFI-12162 This closes #7831. Upgraded Netty from 4.1.98 to 4.1.99
This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.x in repository https://gitbox.apache.org/repos/asf/nifi.git The following commit(s) were added to refs/heads/support/nifi-1.x by this push: new 71baa2c4ce NIFI-12162 This closes #7831. Upgraded Netty from 4.1.98 to 4.1.99 71baa2c4ce is described below commit 71baa2c4ce115a9df2788a6be98ac9d770905225 Author: exceptionfactory AuthorDate: Mon Oct 2 16:52:22 2023 -0500 NIFI-12162 This closes #7831. Upgraded Netty from 4.1.98 to 4.1.99 Signed-off-by: Joseph Witt --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7c5507c4ab..fb5cdb1dfc 100644 --- a/pom.xml +++ b/pom.xml @@ -143,7 +143,7 @@ 1.3.11 3.10.6.Final 2.2 -4.1.98.Final +4.1.99.Final 5.3.30 5.8.7 1.6.11
[nifi] branch main updated: NIFI-12162 This closes #7831. Upgraded Netty from 4.1.98 to 4.1.99
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 2c79b5f8e2 NIFI-12162 This closes #7831. Upgraded Netty from 4.1.98 to 4.1.99 2c79b5f8e2 is described below commit 2c79b5f8e2bbbfadb5defc623b6c95bc1a26343e Author: exceptionfactory AuthorDate: Mon Oct 2 16:52:22 2023 -0500 NIFI-12162 This closes #7831. Upgraded Netty from 4.1.98 to 4.1.99 Signed-off-by: Joseph Witt --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3cce6d87fb..30fb7f391e 100644 --- a/pom.xml +++ b/pom.xml @@ -142,7 +142,7 @@ 5.5.0 3.10.6.Final 2.2 -4.1.98.Final +4.1.99.Final 5.3.30 5.8.7 1.6.11
[nifi] branch main updated: NIFI-12157 This closes #7826. Removed nifi-logging-utils and NiFiLog - Replaced NiFiLog references with direct references to SLF4J LoggerFactory
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 19b4be40aa NIFI-12157 This closes #7826. Removed nifi-logging-utils and NiFiLog - Replaced NiFiLog references with direct references to SLF4J LoggerFactory 19b4be40aa is described below commit 19b4be40aa84b01eed4437658ccfab6b4d32ce51 Author: exceptionfactory AuthorDate: Sat Sep 30 20:26:40 2023 -0500 NIFI-12157 This closes #7826. Removed nifi-logging-utils and NiFiLog - Replaced NiFiLog references with direct references to SLF4J LoggerFactory Signed-off-by: Joseph Witt --- minifi/pom.xml | 5 - nifi-commons/nifi-logging-utils/pom.xml| 31 -- .../main/java/org/apache/nifi/logging/NiFiLog.java | 366 - nifi-commons/nifi-socket-utils/pom.xml | 5 - .../org/apache/nifi/io/socket/SocketUtils.java | 7 +- nifi-commons/pom.xml | 1 - .../nifi-framework-cluster-protocol/pom.xml| 5 - .../nifi-framework/nifi-framework-cluster/pom.xml | 4 - .../impl/FileBasedClusterNodeFirewall.java | 6 +- .../nifi-framework/nifi-framework-core/pom.xml | 5 - .../apache/nifi/web/util/ClientResponseUtils.java | 5 +- .../web/security/requests/ContentLengthFilter.java | 3 +- nifi-nar-bundles/nifi-framework-bundle/pom.xml | 5 - 13 files changed, 8 insertions(+), 440 deletions(-) diff --git a/minifi/pom.xml b/minifi/pom.xml index 6c3a464aca..8121282e03 100644 --- a/minifi/pom.xml +++ b/minifi/pom.xml @@ -365,11 +365,6 @@ limitations under the License. nifi-xml-processing 2.0.0-SNAPSHOT - -org.apache.nifi -nifi-logging-utils -2.0.0-SNAPSHOT - org.apache.nifi nifi-nar-utils diff --git a/nifi-commons/nifi-logging-utils/pom.xml b/nifi-commons/nifi-logging-utils/pom.xml deleted file mode 100644 index 62b9276879..00 --- a/nifi-commons/nifi-logging-utils/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ - - -http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd;> -4.0.0 - -org.apache.nifi -nifi-commons -2.0.0-SNAPSHOT - -nifi-logging-utils -Utilities for logging - - -org.slf4j -slf4j-api - - - diff --git a/nifi-commons/nifi-logging-utils/src/main/java/org/apache/nifi/logging/NiFiLog.java b/nifi-commons/nifi-logging-utils/src/main/java/org/apache/nifi/logging/NiFiLog.java deleted file mode 100644 index 8f6f1d954f..00 --- a/nifi-commons/nifi-logging-utils/src/main/java/org/apache/nifi/logging/NiFiLog.java +++ /dev/null @@ -1,366 +0,0 @@ -/* - * 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. - */ -package org.apache.nifi.logging; - -import org.slf4j.Logger; -import org.slf4j.Marker; - -/** - * - */ -public class NiFiLog implements Logger { - -private final Logger logger; - -public NiFiLog(final Logger logger) { -this.logger = logger; -} - -public Logger getWrappedLog() { -return logger; -} - -@Override -public void warn(Marker marker, String string, Throwable thrwbl) { -if (logger.isDebugEnabled()) { -logger.warn(marker, string, thrwbl); -} else { -logger.warn(marker, string); -} -} - -@Override -public void warn(Marker marker, String string, Object... os) { -logger.warn(marker, string, os); -} - -@Override -public void warn(Marker marker, String string, Object o, Object o1) { -logger.warn(marker, string, o, o1); -} - -@Override -public void warn(Marker marker, String string, Object o) { -logger.warn(marker, string, o); -} - -@Override -public void warn(Marker marker, String stri
[nifi] branch main updated (342fb0d876 -> 9228036e1d)
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 342fb0d876 NIFI-12143: This closes #7820. Introduced a new nifi-calcite-utils module and refactored the nifi-sql-reporting-tasks to mamke use of it. This uses the newer calcite api instead of deprecated classes/methods - Refactored QueryRecord / JoinEnrichment to use new nifi-calcite-utils new 9b9dd4bae3 NIFI-6721: This closes #7789. jms_expiration attribute problem fix new 9228036e1d NIFI-7355: This closes #7677. TinkerpopClientService 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: .../src/main/resources/META-INF/NOTICE | 8 +- .../nifi-other-graph-services/pom.xml | 32 +- .../nifi/graph/AbstractTinkerpopClientService.java | 116 - .../apache/nifi/graph/GremlinClientService.java| 107 - .../apache/nifi/graph/TinkerpopClientService.java | 526 + .../org/apache/nifi/graph/gremlin/SimpleEntry.java | 31 +- .../org.apache.nifi.controller.ControllerService | 2 +- .../additionalDetails.html | 54 --- .../additionalDetails.html | 93 ... GremlinClientServiceControllerSettingsIT.java} | 14 +- ...mlinClientServiceYamlSettingsAndBytecodeIT.java | 133 ++ .../nifi/graph/TestableGremlinClientService.java | 8 +- .../src/test/resources/gremlin.yml | 5 +- .../apache/nifi/jms/processors/JMSPublisher.java | 23 +- .../org/apache/nifi/jms/processors/PublishJMS.java | 2 +- .../jms/processors/JMSPublisherConsumerIT.java | 36 ++ 16 files changed, 881 insertions(+), 309 deletions(-) delete mode 100644 nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/AbstractTinkerpopClientService.java delete mode 100644 nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/GremlinClientService.java create mode 100644 nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/TinkerpopClientService.java copy nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/DecimalQueryResult.java => nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/gremlin/SimpleEntry.java (66%) delete mode 100644 nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/resources/docs/org.apache.nifi.graph.GremlinClientService/additionalDetails.html create mode 100644 nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/resources/docs/org.apache.nifi.graph.TinkerpopClientService/additionalDetails.html rename nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/test/java/org/apache/nifi/graph/{GremlinClientServiceIT.java => GremlinClientServiceControllerSettingsIT.java} (84%) create mode 100644 nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/test/java/org/apache/nifi/graph/GremlinClientServiceYamlSettingsAndBytecodeIT.java copy minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerImage.txt => nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/test/resources/gremlin.yml (81%)
[nifi] 02/02: NIFI-7355: This closes #7677. TinkerpopClientService
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 9228036e1db4624b3a90e5a0db607d2673191c59 Author: levilentz AuthorDate: Sat Sep 23 15:20:20 2023 -0700 NIFI-7355: This closes #7677. TinkerpopClientService Signed-off-by: Joseph Witt --- .../src/main/resources/META-INF/NOTICE | 8 +- .../nifi-other-graph-services/pom.xml | 32 +- .../nifi/graph/AbstractTinkerpopClientService.java | 116 - .../apache/nifi/graph/GremlinClientService.java| 107 - .../apache/nifi/graph/TinkerpopClientService.java | 526 + .../apache/nifi/graph/gremlin/SimpleEntry.java}| 38 +- .../org.apache.nifi.controller.ControllerService | 2 +- .../additionalDetails.html | 54 --- .../additionalDetails.html | 93 ... GremlinClientServiceControllerSettingsIT.java} | 14 +- ...mlinClientServiceYamlSettingsAndBytecodeIT.java | 133 ++ .../nifi/graph/TestableGremlinClientService.java | 8 +- .../resources/gremlin.yml} | 5 +- 13 files changed, 835 insertions(+), 301 deletions(-) diff --git a/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services-nar/src/main/resources/META-INF/NOTICE b/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services-nar/src/main/resources/META-INF/NOTICE index 6b3e063ae4..df05408b23 100644 --- a/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services-nar/src/main/resources/META-INF/NOTICE +++ b/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services-nar/src/main/resources/META-INF/NOTICE @@ -108,13 +108,11 @@ The following binary components are provided under the Apache Software License v (ASLv2) Exp4j Copyright 2017 - (ASLv2) Groovy 2.4.16 (http://www.groovy-lang.org) -groovy-2.4.16-indy -groovy-json-2.4.16-indy -groovy-sql-2.4.16-indy + (ASLv2) Groovy 4.0.15 (http://www.groovy-lang.org) +groovy-4.0.15 The following NOTICE information applies: Apache Groovy -Copyright 2003-2018 The Apache Software Foundation +Copyright 2003-2020 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). diff --git a/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/pom.xml b/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/pom.xml index 005b9b8919..8e28435e91 100644 --- a/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/pom.xml +++ b/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/pom.xml @@ -21,6 +21,7 @@ 3.7.0 + org.apache.nifi @@ -34,7 +35,7 @@ org.apache.nifi nifi-graph-client-service-api -${project.version} +2.0.0-SNAPSHOT provided @@ -54,7 +55,6 @@ org.apache.nifi nifi-mock -2.0.0-SNAPSHOT test @@ -90,6 +90,34 @@ gremlin-driver ${gremlin.version} + + +org.apache.groovy +groovy +${nifi.groovy.version} + + +org.apache.groovy +groovy-dateutil +${nifi.groovy.version} + + +commons-codec +commons-codec + + + +org.testcontainers +testcontainers +test + + + +org.testcontainers +junit-jupiter +test + + diff --git a/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/AbstractTinkerpopClientService.java b/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/AbstractTinkerpopClientService.java deleted file mode 100644 index f85f2f6c4d..00 --- a/nifi-nar-bundles/nifi-graph-bundle/nifi-other-graph-services/src/main/java/org/apache/nifi/graph/AbstractTinkerpopClientService.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * 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
[nifi] 01/02: NIFI-6721: This closes #7789. jms_expiration attribute problem fix
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 9b9dd4bae3be28057ada9fcfeca9f8e3efb79abd Author: annanys23 AuthorDate: Fri Sep 8 16:25:55 2023 + NIFI-6721: This closes #7789. jms_expiration attribute problem fix Originally authored in part by sjyang18 Signed-off-by: Joseph Witt --- .../apache/nifi/jms/processors/JMSPublisher.java | 23 -- .../org/apache/nifi/jms/processors/PublishJMS.java | 2 +- .../jms/processors/JMSPublisherConsumerIT.java | 36 ++ 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/JMSPublisher.java b/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/JMSPublisher.java index 67a49a9dd6..d5892f013b 100644 --- a/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/JMSPublisher.java +++ b/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/JMSPublisher.java @@ -16,6 +16,7 @@ */ package org.apache.nifi.jms.processors; +import org.apache.commons.lang3.math.NumberUtils; import org.apache.nifi.logging.ComponentLog; import org.springframework.jms.connection.CachingConnectionFactory; import org.springframework.jms.core.JmsTemplate; @@ -28,6 +29,7 @@ import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; import javax.jms.TextMessage; +import java.time.Instant; import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -79,8 +81,25 @@ class JMSPublisher extends JMSWorker { this.jmsTemplate.setDeliveryMode(Integer.parseInt(entry.getValue())); this.jmsTemplate.setExplicitQosEnabled(true); } else if (entry.getKey().equals(JmsHeaders.EXPIRATION)) { - this.jmsTemplate.setTimeToLive(Integer.parseInt(entry.getValue())); -this.jmsTemplate.setExplicitQosEnabled(true); +if(NumberUtils.isCreatable(entry.getValue())) { //ignore any non-numeric values +long expiration = Long.parseLong(entry.getValue()); +long ttl = 0L; + +// if expiration was set to a positive non-zero value, then calculate the ttl +// jmsTemplate does not have an expiration field, and can only accept a ttl value +// which is then used to set jms_expiration header +// ttl is in epoch millis +if(expiration > 0) { +ttl = expiration - Instant.now().toEpochMilli(); +if(ttl > 0) { +this.jmsTemplate.setTimeToLive(ttl); + this.jmsTemplate.setExplicitQosEnabled(true); +} // else, use default ttl +} else if (expiration == 0) { // expiration == 0 means no expiration in jms +this.jmsTemplate.setTimeToLive(0); //ttl must be explicitly set to 0 to indicate no expiration +this.jmsTemplate.setExplicitQosEnabled(true); +} // else, use default ttl +} } else if (entry.getKey().equals(JmsHeaders.PRIORITY)) { this.jmsTemplate.setPriority(Integer.parseInt(entry.getValue())); this.jmsTemplate.setExplicitQosEnabled(true); diff --git a/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/PublishJMS.java b/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/PublishJMS.java index 8fea7dd663..1e37f6aea1 100644 --- a/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/PublishJMS.java +++ b/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/PublishJMS.java @@ -85,7 +85,7 @@ import static org.apache.nifi.jms.processors.ioconcept.reader.record.ProvenanceE + "FlowFile attributes will be added as JMS headers and/or properties to the outgoing JMS message.") @ReadsAttributes({ @ReadsAttribute(attribute = JmsHeaders.DELIVERY_MODE, description = "This attribute becomes the JMSDeliveryMode message header. Must be an integer."), -@ReadsAttribute(attribute = JmsHeaders.EXPIRATION, description = "This attribute becomes the JMSExpiration message header. Must be an integer."), +@ReadsAttribute(attribute
[nifi] branch main updated: NIFI-12038 This closes #7760. introduce PackageFlowFile processor
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 e93586df11 NIFI-12038 This closes #7760. introduce PackageFlowFile processor e93586df11 is described below commit e93586df11dd555d264a6c879cbb13c07ace7cf9 Author: Mike Moser AuthorDate: Thu Sep 14 19:48:09 2023 + NIFI-12038 This closes #7760. introduce PackageFlowFile processor Signed-off-by: Joseph Witt --- .../org/apache/nifi/util/FlowFilePackagerV3.java | 2 +- .../apache/nifi/util/TestPackageUnpackageV3.java | 2 + .../nifi/processors/standard/PackageFlowFile.java | 134 .../services/org.apache.nifi.processor.Processor | 1 + .../processors/standard/TestPackageFlowFile.java | 139 + 5 files changed, 277 insertions(+), 1 deletion(-) diff --git a/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/FlowFilePackagerV3.java b/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/FlowFilePackagerV3.java index 181f3e3079..4487ed69fb 100644 --- a/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/FlowFilePackagerV3.java +++ b/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/FlowFilePackagerV3.java @@ -37,7 +37,7 @@ public class FlowFilePackagerV3 implements FlowFilePackager { writeFieldLength(out, attributes.size()); //write out the number of attributes for (final Map.Entry entry : attributes.entrySet()) { //write out each attribute key/value pair writeString(entry.getKey(), out); -writeString(entry.getValue(), out); +writeString(entry.getValue() == null ? "" : entry.getValue(), out); } } diff --git a/nifi-commons/nifi-flowfile-packager/src/test/java/org/apache/nifi/util/TestPackageUnpackageV3.java b/nifi-commons/nifi-flowfile-packager/src/test/java/org/apache/nifi/util/TestPackageUnpackageV3.java index 1bd8f09821..cd6a1a523d 100644 --- a/nifi-commons/nifi-flowfile-packager/src/test/java/org/apache/nifi/util/TestPackageUnpackageV3.java +++ b/nifi-commons/nifi-flowfile-packager/src/test/java/org/apache/nifi/util/TestPackageUnpackageV3.java @@ -38,6 +38,7 @@ public class TestPackageUnpackageV3 { final byte[] data = "Hello, World!".getBytes(StandardCharsets.UTF_8); final Map map = new HashMap<>(); map.put("abc", "cba"); +map.put("123", null); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); final ByteArrayInputStream in = new ByteArrayInputStream(data); @@ -49,6 +50,7 @@ public class TestPackageUnpackageV3 { final Map unpackagedAttributes = unpackager.unpackageFlowFile(encodedIn, decodedOut); final byte[] decoded = decodedOut.toByteArray(); +map.put("123", ""); // replace null attribute for verification, because it is packaged as empty string assertEquals(map, unpackagedAttributes); assertArrayEquals(data, decoded); } diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PackageFlowFile.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PackageFlowFile.java new file mode 100644 index 00..3e589a7104 --- /dev/null +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PackageFlowFile.java @@ -0,0 +1,134 @@ +/* + * 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. + */ +package org.apache.nifi.processors.standard; + +import org.apache.nifi.annotation.behavior.InputRequirement; +import org.apache.nifi.annotation.behavior.SideEffectFree; +import org.apache.nifi.annotation.behavior.SupportsBatching; +import org.apache.nifi.annotation.behavior.WritesAttribute; +import org.apache.nifi.annotation.behavior.W
[nifi] 02/02: NIFI-12152 This closes #7818. Refactored addProvider() Bouncy Castle references
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 c76191fa4b80309ea239aa30d63951188b7fef76 Author: exceptionfactory AuthorDate: Fri Sep 29 16:13:02 2023 -0500 NIFI-12152 This closes #7818. Refactored addProvider() Bouncy Castle references - Removed Security.addProvider() references from several tests - Refactored KeyStoreUtils to use instance of BouncyCastleProvider instead of BC provider name string - Refactored MiNiFi references to pass BouncyCastleProvider for BCFKS Signed-off-by: Joseph Witt --- .../ingestors/RestChangeIngestor.java | 36 +- .../apache/nifi/minifi/c2/jetty/JettyServer.java | 35 - .../nifi/security/ssl/StandardKeyStoreBuilder.java | 9 ++-- .../apache/nifi/security/util/KeyStoreUtils.java | 57 +- .../x509/ocsp/OcspCertificateValidatorTest.java| 23 ++--- .../nifi/processors/snowflake/SnowflakePipeIT.java | 8 --- .../standard/CryptographicHashContentTest.java | 8 --- .../properties/NiFiRegistryPropertiesLoader.java | 3 -- .../nifi/registry/security/util/KeyStoreUtils.java | 44 ++--- .../registry/security/util/KeyStoreUtilsTest.java | 14 -- .../nifi/properties/ConfigEncryptionTool.groovy| 4 -- .../toolkit/encryptconfig/EncryptConfigMain.groovy | 5 -- .../nifi/toolkit/tls/util/TlsHelperTest.java | 21 +--- 13 files changed, 73 insertions(+), 194 deletions(-) diff --git a/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/configuration/ingestors/RestChangeIngestor.java b/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/configuration/ingestors/RestChangeIngestor.java index a33520e318..b2b648ca2e 100644 --- a/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/configuration/ingestors/RestChangeIngestor.java +++ b/minifi/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/configuration/ingestors/RestChangeIngestor.java @@ -31,7 +31,6 @@ import java.io.UncheckedIOException; import java.net.URI; import java.nio.ByteBuffer; import java.security.KeyStore; -import java.security.Security; import java.util.Collection; import java.util.Map; import java.util.Properties; @@ -48,6 +47,7 @@ import org.apache.nifi.minifi.bootstrap.configuration.differentiators.WholeConfi import org.apache.nifi.minifi.bootstrap.configuration.ingestors.interfaces.ChangeIngestor; import org.apache.nifi.security.ssl.StandardKeyStoreBuilder; import org.apache.nifi.security.ssl.StandardSslContextBuilder; +import org.apache.nifi.security.util.KeystoreType; import org.apache.nifi.security.util.TlsPlatform; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.eclipse.jetty.server.Request; @@ -62,10 +62,6 @@ import org.slf4j.LoggerFactory; public class RestChangeIngestor implements ChangeIngestor { -static { -Security.addProvider(new BouncyCastleProvider()); -} - public static final String GET_TEXT = "This is a config change listener for an Apache NiFi - MiNiFi instance.\n" + "Use this rest server to upload a flow.json to configure the MiNiFi instance.\n" + "Send a POST http request to '/' to upload the file."; @@ -86,6 +82,8 @@ public class RestChangeIngestor implements ChangeIngestor { private final static Logger logger = LoggerFactory.getLogger(RestChangeIngestor.class); +private static final BouncyCastleProvider BOUNCY_CASTLE_PROVIDER = new BouncyCastleProvider(); + private static final Map>> DIFFERENTIATOR_CONSTRUCTOR_MAP = Map.of( WHOLE_CONFIG_KEY, WholeConfigDifferentiator::getByteBufferDifferentiator ); @@ -174,22 +172,34 @@ public class RestChangeIngestor implements ChangeIngestor { KeyStore trustStore = null; try (FileInputStream keyStoreStream = new FileInputStream(properties.getProperty(KEYSTORE_LOCATION_KEY))) { -keyStore = new StandardKeyStoreBuilder() -.type(properties.getProperty(KEYSTORE_TYPE_KEY)) +final String keyStoreType = properties.getProperty(KEYSTORE_TYPE_KEY); +final StandardKeyStoreBuilder builder = new StandardKeyStoreBuilder() +.type(keyStoreType) .inputStream(keyStoreStream) - .password(properties.getProperty(KEYSTORE_PASSWORD_KEY).toCharArray()) -.build(); + .password(properties.getProperty(KEYSTORE_PASSWORD_KEY).toCharArray()); + +if (KeystoreType.BCFKS.getType().equals(keyStoreType)) { +builder.provider(BOUNCY_CASTLE_PROVIDER); +} + +keyStore = builder.build(); } catch (IOException ioe) { throw new UncheckedIOException("Key Store loading failed", ioe);
[nifi] branch main updated (9ba81c9564 -> c76191fa4b)
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 9ba81c9564 NIFI-12147 Cleaned poms, updated Dockerfile, fixed Jersey version to get appropriate bundled ASM new 75c3b19979 NIFI-12142 This closes #7822. Corrected Cluster Pool Size Method Reference new c76191fa4b NIFI-12152 This closes #7818. Refactored addProvider() Bouncy Castle references 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: .../ingestors/RestChangeIngestor.java | 36 +- .../apache/nifi/minifi/c2/jetty/JettyServer.java | 35 - .../nifi/security/ssl/StandardKeyStoreBuilder.java | 9 ++-- .../apache/nifi/security/util/KeyStoreUtils.java | 57 +- .../resources/nifi-cluster-protocol-context.xml| 4 +- .../x509/ocsp/OcspCertificateValidatorTest.java| 23 ++--- .../nifi/processors/snowflake/SnowflakePipeIT.java | 8 --- .../standard/CryptographicHashContentTest.java | 8 --- .../properties/NiFiRegistryPropertiesLoader.java | 3 -- .../nifi/registry/security/util/KeyStoreUtils.java | 44 ++--- .../registry/security/util/KeyStoreUtilsTest.java | 14 -- .../nifi/properties/ConfigEncryptionTool.groovy| 4 -- .../toolkit/encryptconfig/EncryptConfigMain.groovy | 5 -- .../nifi/toolkit/tls/util/TlsHelperTest.java | 21 +--- 14 files changed, 75 insertions(+), 196 deletions(-)
[nifi] 01/02: NIFI-12142 This closes #7822. Corrected Cluster Pool Size Method Reference
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 75c3b19979403467b278469af98a4aa1048f0ccc Author: exceptionfactory AuthorDate: Sat Sep 30 08:15:29 2023 -0500 NIFI-12142 This closes #7822. Corrected Cluster Pool Size Method Reference - Set getClusterNodeProtocolMaxPoolSize method reference in place of deprecated getClusterNodeProtocolThreads Signed-off-by: Joseph Witt --- .../src/main/resources/nifi-cluster-protocol-context.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/src/main/resources/nifi-cluster-protocol-context.xml b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/src/main/resources/nifi-cluster-protocol-context.xml index e69a06e8dc..ab45e52501 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/src/main/resources/nifi-cluster-protocol-context.xml +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster-protocol/src/main/resources/nifi-cluster-protocol-context.xml @@ -43,7 +43,7 @@ - + @@ -73,7 +73,7 @@ - +
[nifi] branch main updated: NIFI-12141 This closes #7805. Update README about HTTPS and OpenID Authentication for Docker Image
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 b8fd22e065 NIFI-12141 This closes #7805. Update README about HTTPS and OpenID Authentication for Docker Image b8fd22e065 is described below commit b8fd22e0659549f89db831460c1312686fb51b95 Author: Marcelo Vinícius de Sousa Campos AuthorDate: Thu Sep 28 09:52:22 2023 -0300 NIFI-12141 This closes #7805. Update README about HTTPS and OpenID Authentication for Docker Image According to this recent issue [NIFI-12135](https://issues.apache.org/jira/browse/NIFI-12135) I've forgotten to add 2 missing environment variables about OIDC configurations for docker image: - NIFI_SECURITY_USER_OIDC_CLAIM_GROUPS and - NIFI_SECURITY_USER_OIDC_TOKEN_REFRESH_WINDOW Signed-off-by: Joseph Witt --- nifi-docker/dockerhub/README.md | 24 +--- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/nifi-docker/dockerhub/README.md b/nifi-docker/dockerhub/README.md index 422e6dcf13..a3e8388ae5 100644 --- a/nifi-docker/dockerhub/README.md +++ b/nifi-docker/dockerhub/README.md @@ -188,7 +188,7 @@ user with administrative privileges. ### For a minimal, connection to an OpenID server docker run --name nifi \ - -v /User/dreynolds/certs/localhost:/opt/certs \ + -v $(pwd)/certs/localhost:/opt/certs \ -p 8443:8443 \ -e AUTH=oidc \ -e KEYSTORE_PATH=/opt/certs/keystore.jks \ @@ -198,16 +198,18 @@ user with administrative privileges. -e TRUSTSTORE_PASSWORD=rHkWR1gDNW3R9hgbeRsT3OM3Ue0zwGtQqcFKJD2EXWE \ -e TRUSTSTORE_TYPE=JKS \ -e INITIAL_ADMIN_IDENTITY='test' \ - -e NIFI_SECURITY_USER_OIDC_DISCOVERY_URL: http://OPENID_SERVER_URL/auth/realms/OPENID_REALM/.well-known/openid-configuration \ - -e NIFI_SECURITY_USER_OIDC_CONNECT_TIMEOUT: 1 \ - -e NIFI_SECURITY_USER_OIDC_READ_TIMEOUT: 1 \ - -e NIFI_SECURITY_USER_OIDC_CLIENT_ID: nifi \ - -e NIFI_SECURITY_USER_OIDC_CLIENT_SECRET: tU47ugXO308WZqf5TtylyoMX3xH6W0kN \ - -e NIFI_SECURITY_USER_OIDC_PREFERRED_JWSALGORITHM: RS256 \ - -e NIFI_SECURITY_USER_OIDC_ADDITIONAL_SCOPES: email \ - -e NIFI_SECURITY_USER_OIDC_CLAIM_IDENTIFYING_USER: preferred_username \ - -e NIFI_SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER: email \ - -e NIFI_SECURITY_USER_OIDC_TRUSTSTORE_STRATEGY: PKIX \ + -e NIFI_SECURITY_USER_OIDC_DISCOVERY_URL=http://OPENID_SERVER_URL/auth/realms/OPENID_REALM/.well-known/openid-configuration \ + -e NIFI_SECURITY_USER_OIDC_CONNECT_TIMEOUT=1 \ + -e NIFI_SECURITY_USER_OIDC_READ_TIMEOUT=1 \ + -e NIFI_SECURITY_USER_OIDC_CLIENT_ID=nifi \ + -e NIFI_SECURITY_USER_OIDC_CLIENT_SECRET=tU47ugXO308WZqf5TtylyoMX3xH6W0kN \ + -e NIFI_SECURITY_USER_OIDC_PREFERRED_JWSALGORITHM=RS256 \ + -e NIFI_SECURITY_USER_OIDC_ADDITIONAL_SCOPES=email \ + -e NIFI_SECURITY_USER_OIDC_CLAIM_IDENTIFYING_USER=preferred_username \ + -e NIFI_SECURITY_USER_OIDC_CLAIM_GROUPS=admin \ + -e NIFI_SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER=email \ + -e NIFI_SECURITY_USER_OIDC_TRUSTSTORE_STRATEGY=PKIX \ + -e NIFI_SECURITY_USER_OIDC_TOKEN_REFRESH_WINDOW='60 secs' \ -d \ apache/nifi:latest
[nifi] branch main updated: NIFI-12135 This closes #7799. Update update_oidc_properties.sh
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 acd9b5b10b NIFI-12135 This closes #7799. Update update_oidc_properties.sh acd9b5b10b is described below commit acd9b5b10b67096b8981e49299a165ff1afea0ff Author: Marcelo Vinícius de Sousa Campos AuthorDate: Wed Sep 27 08:23:49 2023 -0300 NIFI-12135 This closes #7799. Update update_oidc_properties.sh Update OIDC properties via update_oidc_properties.sh Signed-off-by: Joseph Witt --- nifi-docker/dockerhub/sh/update_oidc_properties.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nifi-docker/dockerhub/sh/update_oidc_properties.sh b/nifi-docker/dockerhub/sh/update_oidc_properties.sh index 827a40edba..2367b365d2 100644 --- a/nifi-docker/dockerhub/sh/update_oidc_properties.sh +++ b/nifi-docker/dockerhub/sh/update_oidc_properties.sh @@ -23,5 +23,7 @@ prop_replace 'nifi.security.user.oidc.client.secret' "${NIFI_ prop_replace 'nifi.security.user.oidc.preferred.jwsalgorithm' "${NIFI_SECURITY_USER_OIDC_PREFERRED_JWSALGORITHM}" prop_replace 'nifi.security.user.oidc.additional.scopes' "${NIFI_SECURITY_USER_OIDC_ADDITIONAL_SCOPES}" prop_replace 'nifi.security.user.oidc.claim.identifying.user' "${NIFI_SECURITY_USER_OIDC_CLAIM_IDENTIFYING_USER}" +prop_replace 'nifi.security.user.oidc.claim.groups' "${NIFI_SECURITY_USER_OIDC_CLAIM_GROUPS}" prop_replace 'nifi.security.user.oidc.fallback.claims.identifying.user' "${NIFI_SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER}" prop_replace 'nifi.security.user.oidc.truststore.strategy' "${NIFI_SECURITY_USER_OIDC_TRUSTSTORE_STRATEGY}" +prop_replace 'nifi.security.user.oidc.token.refresh.window' "${NIFI_SECURITY_USER_OIDC_TOKEN_REFRESH_WINDOW}"
[nifi] branch main updated: NIFI-12136 This closes #7800. Update README.md to add an example how to using Nifi to connect to an OpenID server.
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 01fb3e99dd NIFI-12136 This closes #7800. Update README.md to add an example how to using Nifi to connect to an OpenID server. 01fb3e99dd is described below commit 01fb3e99dde95fc4e83c598536263eedf632ef65 Author: Marcelo Vinícius de Sousa Campos AuthorDate: Wed Sep 27 11:13:07 2023 -0300 NIFI-12136 This closes #7800. Update README.md to add an example how to using Nifi to connect to an OpenID server. Signed-off-by: Joseph Witt --- nifi-docker/dockerhub/README.md | 35 +++ 1 file changed, 35 insertions(+) diff --git a/nifi-docker/dockerhub/README.md b/nifi-docker/dockerhub/README.md index f7113a0340..422e6dcf13 100644 --- a/nifi-docker/dockerhub/README.md +++ b/nifi-docker/dockerhub/README.md @@ -179,6 +179,41 @@ volume to provide certificates on the host system to the container instance. -e LDAP_TLS_TRUSTSTORE_PASSWORD: '' -e LDAP_TLS_TRUSTSTORE_TYPE: '' +### Standalone Instance secured with HTTPS and OpenID Authentication +In this configuration, the user will need to provide certificates and associated configuration information. +Of particular note, is the `AUTH` environment variable which is set to `oidc`. Additionally, the user must provide a +in the `INITIAL_ADMIN_IDENTITY` environment variable. This value will be used to seed the instance with an initial +user with administrative privileges. + +### For a minimal, connection to an OpenID server + +docker run --name nifi \ + -v /User/dreynolds/certs/localhost:/opt/certs \ + -p 8443:8443 \ + -e AUTH=oidc \ + -e KEYSTORE_PATH=/opt/certs/keystore.jks \ + -e KEYSTORE_TYPE=JKS \ + -e KEYSTORE_PASSWORD=QKZv1hSWAFQYZ+WU1jjF5ank+l4igeOfQRp+OSbkkrs \ + -e TRUSTSTORE_PATH=/opt/certs/truststore.jks \ + -e TRUSTSTORE_PASSWORD=rHkWR1gDNW3R9hgbeRsT3OM3Ue0zwGtQqcFKJD2EXWE \ + -e TRUSTSTORE_TYPE=JKS \ + -e INITIAL_ADMIN_IDENTITY='test' \ + -e NIFI_SECURITY_USER_OIDC_DISCOVERY_URL: http://OPENID_SERVER_URL/auth/realms/OPENID_REALM/.well-known/openid-configuration \ + -e NIFI_SECURITY_USER_OIDC_CONNECT_TIMEOUT: 1 \ + -e NIFI_SECURITY_USER_OIDC_READ_TIMEOUT: 1 \ + -e NIFI_SECURITY_USER_OIDC_CLIENT_ID: nifi \ + -e NIFI_SECURITY_USER_OIDC_CLIENT_SECRET: tU47ugXO308WZqf5TtylyoMX3xH6W0kN \ + -e NIFI_SECURITY_USER_OIDC_PREFERRED_JWSALGORITHM: RS256 \ + -e NIFI_SECURITY_USER_OIDC_ADDITIONAL_SCOPES: email \ + -e NIFI_SECURITY_USER_OIDC_CLAIM_IDENTIFYING_USER: preferred_username \ + -e NIFI_SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER: email \ + -e NIFI_SECURITY_USER_OIDC_TRUSTSTORE_STRATEGY: PKIX \ + -d \ + apache/nifi:latest + +- Make sure you've created realm, client and user in OpenID Server before with the same user name defined in `INITIAL_ADMIN_IDENTITY` environment variable +- You can read more information about theses Nifi security OIDC configurations in this following link: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#openid_connect](https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#openid_connect) + Clustering can be enabled by using the following properties to Docker environment variable mappings. # nifi.properties
[nifi] branch main updated: NIFI-11271: This closes #7795. Removed deprecated Kerberos-related properties and updated to make use of KerberosUserService; some code cleanup to bring up-to-date with Jav
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 16c527271b NIFI-11271: This closes #7795. Removed deprecated Kerberos-related properties and updated to make use of KerberosUserService; some code cleanup to bring up-to-date with Java 21 recommendations such as Stream.toList() instead of Stream.collect(Collectors.toList()) and using enhanced switch statements 16c527271b is described below commit 16c527271bbfc2f83b251383880dcb78972ce7e4 Author: Mark Payne AuthorDate: Tue Sep 26 11:42:22 2023 -0400 NIFI-11271: This closes #7795. Removed deprecated Kerberos-related properties and updated to make use of KerberosUserService; some code cleanup to bring up-to-date with Java 21 recommendations such as Stream.toList() instead of Stream.collect(Collectors.toList()) and using enhanced switch statements Signed-off-by: Joseph Witt --- .../nifi-kudu-controller-service/pom.xml | 11 +- .../nifi/controller/kudu/KuduLookupService.java| 164 +--- .../processors/kudu/AbstractKuduProcessor.java | 296 + .../org/apache/nifi/processors/kudu/PutKudu.java | 88 +++--- .../apache/nifi/processors/kudu/MockPutKudu.java | 146 ++ .../apache/nifi/processors/kudu/TestPutKudu.java | 134 ++ 6 files changed, 203 insertions(+), 636 deletions(-) diff --git a/nifi-nar-bundles/nifi-kudu-bundle/nifi-kudu-controller-service/pom.xml b/nifi-nar-bundles/nifi-kudu-bundle/nifi-kudu-controller-service/pom.xml index 1d23041702..36c48656be 100644 --- a/nifi-nar-bundles/nifi-kudu-bundle/nifi-kudu-controller-service/pom.xml +++ b/nifi-nar-bundles/nifi-kudu-bundle/nifi-kudu-controller-service/pom.xml @@ -63,11 +63,6 @@ 2.0.0-SNAPSHOT provided - -org.apache.nifi -nifi-kerberos-credentials-service-api -provided - org.apache.nifi nifi-record @@ -88,6 +83,12 @@ kudu-client ${kudu.version} + +org.apache.nifi +nifi-kerberos-user-service-api +2.0.0-SNAPSHOT +provided + diff --git a/nifi-nar-bundles/nifi-kudu-bundle/nifi-kudu-controller-service/src/main/java/org/apache/nifi/controller/kudu/KuduLookupService.java b/nifi-nar-bundles/nifi-kudu-bundle/nifi-kudu-controller-service/src/main/java/org/apache/nifi/controller/kudu/KuduLookupService.java index b208186fac..a53444340d 100644 --- a/nifi-nar-bundles/nifi-kudu-bundle/nifi-kudu-controller-service/src/main/java/org/apache/nifi/controller/kudu/KuduLookupService.java +++ b/nifi-nar-bundles/nifi-kudu-bundle/nifi-kudu-controller-service/src/main/java/org/apache/nifi/controller/kudu/KuduLookupService.java @@ -16,6 +16,18 @@ */ package org.apache.nifi.controller.kudu; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Base64; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; +import javax.security.auth.login.LoginException; import org.apache.kudu.ColumnSchema; import org.apache.kudu.ColumnTypeAttributes; import org.apache.kudu.Schema; @@ -38,12 +50,11 @@ import org.apache.nifi.controller.AbstractControllerService; import org.apache.nifi.controller.ConfigurationContext; import org.apache.nifi.controller.ControllerServiceInitializationContext; import org.apache.nifi.expression.ExpressionLanguageScope; -import org.apache.nifi.kerberos.KerberosCredentialsService; +import org.apache.nifi.kerberos.KerberosUserService; import org.apache.nifi.lookup.RecordLookupService; import org.apache.nifi.processor.util.StandardValidators; import org.apache.nifi.reporting.InitializationException; import org.apache.nifi.security.krb.KerberosAction; -import org.apache.nifi.security.krb.KerberosKeytabUser; import org.apache.nifi.security.krb.KerberosUser; import org.apache.nifi.serialization.SimpleRecordSchema; import org.apache.nifi.serialization.record.MapRecord; @@ -52,20 +63,6 @@ import org.apache.nifi.serialization.record.RecordField; import org.apache.nifi.serialization.record.RecordFieldType; import org.apache.nifi.serialization.record.RecordSchema; -import javax.security.auth.login.LoginException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Base64; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - @CapabilityDescription("Lookup a r
[nifi] branch main updated: NIFI-12123: This closes #7786. Added additional @UseCase and @MultiProcessorUseCase annotations as well as some trivial cleanup that was flagged by IntelliJ such as making
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 025109a9d8 NIFI-12123: This closes #7786. Added additional @UseCase and @MultiProcessorUseCase annotations as well as some trivial cleanup that was flagged by IntelliJ such as making inner class static, updating some deprecated references, etc. 025109a9d8 is described below commit 025109a9d89b78136e888c69b8fbb817a75ae33e Author: Mark Payne AuthorDate: Mon Sep 25 09:04:44 2023 -0400 NIFI-12123: This closes #7786. Added additional @UseCase and @MultiProcessorUseCase annotations as well as some trivial cleanup that was flagged by IntelliJ such as making inner class static, updating some deprecated references, etc. Signed-off-by: Joseph Witt --- .../azure/storage/FetchAzureBlobStorage_v12.java | 44 +--- .../azure/storage/FetchAzureDataLakeStorage.java | 42 ++-- .../processors/gcp/drive/FetchGoogleDrive.java | 80 +- .../processors/gcp/storage/FetchGCSObject.java | 53 ++ .../apache/nifi/processors/standard/FetchFTP.java | 35 +- .../apache/nifi/processors/standard/FetchSFTP.java | 33 - .../processors/standard/RemoveRecordField.java | 22 +- 7 files changed, 243 insertions(+), 66 deletions(-) diff --git a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/FetchAzureBlobStorage_v12.java b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/FetchAzureBlobStorage_v12.java index 4d9db2d5b1..18ca4a6d0f 100644 --- a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/FetchAzureBlobStorage_v12.java +++ b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/FetchAzureBlobStorage_v12.java @@ -20,11 +20,20 @@ import com.azure.storage.blob.BlobClient; import com.azure.storage.blob.BlobContainerClient; import com.azure.storage.blob.BlobServiceClient; import com.azure.storage.blob.models.BlobRange; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; import org.apache.nifi.annotation.behavior.InputRequirement; import org.apache.nifi.annotation.behavior.InputRequirement.Requirement; import org.apache.nifi.annotation.behavior.WritesAttribute; import org.apache.nifi.annotation.behavior.WritesAttributes; import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.MultiProcessorUseCase; +import org.apache.nifi.annotation.documentation.ProcessorConfiguration; import org.apache.nifi.annotation.documentation.SeeAlso; import org.apache.nifi.annotation.documentation.Tags; import org.apache.nifi.components.PropertyDescriptor; @@ -40,15 +49,6 @@ import org.apache.nifi.processor.util.StandardValidators; import org.apache.nifi.processors.azure.AbstractAzureBlobProcessor_v12; import org.apache.nifi.processors.azure.ClientSideEncryptionSupport; import org.apache.nifi.processors.azure.storage.utils.AzureStorageUtils; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; - import static org.apache.nifi.processors.azure.storage.utils.BlobAttributes.ATTR_DESCRIPTION_BLOBNAME; import static org.apache.nifi.processors.azure.storage.utils.BlobAttributes.ATTR_DESCRIPTION_BLOBTYPE; import static org.apache.nifi.processors.azure.storage.utils.BlobAttributes.ATTR_DESCRIPTION_CONTAINER; @@ -81,6 +81,32 @@ import static org.apache.nifi.processors.azure.storage.utils.BlobAttributes.ATTR @WritesAttribute(attribute = ATTR_NAME_LANG, description = ATTR_DESCRIPTION_LANG), @WritesAttribute(attribute = ATTR_NAME_TIMESTAMP, description = ATTR_DESCRIPTION_TIMESTAMP), @WritesAttribute(attribute = ATTR_NAME_LENGTH, description = ATTR_DESCRIPTION_LENGTH)}) +@MultiProcessorUseCase( +description = "Retrieve all files in an Azure Blob Storage container", +keywords = {"azure", "blob", "storage", "state", "retrieve", "fetch", "all", "stream"}, +configurations = { +@ProcessorConfiguration( +processorClass = ListAzureBlobStorage_v12.class, +configuration = """ +The "Container Name" property should be set to the name of the Blob Storage Container that files reside in. \ +If the flo
[nifi] branch main updated: NIFI-12068: This closes #7737. Added the ability to annotate components with @UseCase and @MultiProcessorUseCase annotations; updated several processors to make use of them
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 140ac52e9d NIFI-12068: This closes #7737. Added the ability to annotate components with @UseCase and @MultiProcessorUseCase annotations; updated several processors to make use of them. 140ac52e9d is described below commit 140ac52e9d6434426ec679c5fa7258e0f1fba3c2 Author: Mark Payne AuthorDate: Fri Sep 15 12:04:10 2023 -0400 NIFI-12068: This closes #7737. Added the ability to annotate components with @UseCase and @MultiProcessorUseCase annotations; updated several processors to make use of them. Signed-off-by: Joseph Witt --- .../documentation/MultiProcessorUseCase.java | 77 + .../documentation/MultiProcessorUseCases.java | 36 +++ .../documentation/ProcessorConfiguration.java | 57 .../nifi/annotation/documentation/UseCase.java | 89 ++ .../nifi/annotation/documentation/UseCases.java| 36 +++ .../documentation/AbstractDocumentationWriter.java | 30 +- .../documentation/xml/XmlDocumentationWriter.java | 59 .../apache/nifi/extension/manifest/Extension.java | 26 ++ .../extension/manifest/MultiProcessorUseCase.java | 75 + .../extension/manifest/ProcessorConfiguration.java | 43 +++ .../apache/nifi/extension/manifest/UseCase.java| 84 ++ .../nifi/processors/aws/s3/FetchS3Object.java | 88 +- .../html/HtmlDocumentationWriter.java | 136 + .../nifi/processors/standard/CompressContent.java | 37 +++ .../nifi/processors/standard/ConvertRecord.java| 6 + .../nifi/processors/standard/MergeContent.java | 309 - .../nifi/processors/standard/PartitionRecord.java | 35 ++- .../processors/standard/PutDatabaseRecord.java | 2 + .../nifi/processors/standard/QueryRecord.java | 43 ++- .../nifi/processors/standard/ReplaceText.java | 65 - .../nifi/processors/standard/RouteOnAttribute.java | 81 +- .../apache/nifi/processors/standard/RouteText.java | 34 ++- .../nifi/processors/standard/UpdateRecord.java | 62 - 23 files changed, 1361 insertions(+), 149 deletions(-) diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/MultiProcessorUseCase.java b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/MultiProcessorUseCase.java new file mode 100644 index 00..562647ea6a --- /dev/null +++ b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/MultiProcessorUseCase.java @@ -0,0 +1,77 @@ +/* + * 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. + */ + +package org.apache.nifi.annotation.documentation; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Repeatable; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * + * An annotation that can be used for Processors in order to explain a specific use case that can be + * accomplished using this Processor in conjunction with at least one other Processor. + * For Processors that are able to be used for multiple use cases, the component + * may be annotated with multiple MultiProcessorUseCase annotations. + * + * + * Note that this annotation differs from {@link UseCase} in that UseCase should describe a use case that is + * accomplished using only the extension that is annotated. In contrast, MultiProcessorUseCase documents a use case + * that is accomplished by using both the Processor that is annotated as well as other Processors. + * + */ +@Documented +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +@Repeatable(MultiProcessorUseCases.class) +public @interface MultiProcessorUseCase { + +/** + * A simple 1 (at most 2) sentence description of the use case. This should not include any extraneous details, such + * as caveats, examples, etc. Those can be provided using the {@li