[GitHub] [nifi-minifi-cpp] aminadinari19 commented on a change in pull request #1040: MINIFICPP-1329- Fix implementation and usages of string to bool
aminadinari19 commented on a change in pull request #1040: URL: https://github.com/apache/nifi-minifi-cpp/pull/1040#discussion_r612988235 ## File path: controller/MiNiFiController.cpp ## @@ -167,9 +165,10 @@ int main(int argc, char **argv) { socket = secure_context != nullptr ? stream_factory_->createSecureSocket(host, port, secure_context) : stream_factory_->createSocket(host, port); if (getConnectionSize(std::move(socket), std::cout, connection) < 0) std::cout << "Could not connect to remote host " << host << ":" << port << std::endl; -} else +} else { std::cout << "Could not connect to remote host " << host << ":" << port << std::endl; } + } Review comment: Fixed :) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] aminadinari19 commented on a change in pull request #1040: MINIFICPP-1329- Fix implementation and usages of string to bool
aminadinari19 commented on a change in pull request #1040: URL: https://github.com/apache/nifi-minifi-cpp/pull/1040#discussion_r612988411 ## File path: extensions/standard-processors/processors/GetTCP.cpp ## @@ -130,7 +130,7 @@ void GetTCP::onSchedule(const std::shared_ptr &context, co } if (context->getProperty(StayConnected.getName(), value)) { -utils::StringUtils::StringToBool(value, stay_connected_); +stay_connected_ = utils::StringUtils::toBool(value).value_or(false); Review comment: Fixed :) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] aminadinari19 commented on a change in pull request #1040: MINIFICPP-1329- Fix implementation and usages of string to bool
aminadinari19 commented on a change in pull request #1040: URL: https://github.com/apache/nifi-minifi-cpp/pull/1040#discussion_r612988521 ## File path: libminifi/include/utils/StringUtils.h ## @@ -75,13 +75,12 @@ struct string_traits{ class StringUtils { public: /** - * Converts a string to a boolean - * Better handles mixed case. + * Checks and converts a string to a boolean * @param input input string - * @param output output string. + * @returns an optional of a boolean: true if the string is "true" (ignoring case), false if it is "false" (ignoring case), nullopt for any other value */ - static bool StringToBool(std::string input, bool &output); + static bool StringToBool(std::string input, bool &output); Review comment: Done :) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] aminadinari19 commented on a change in pull request #1040: MINIFICPP-1329- Fix implementation and usages of string to bool
aminadinari19 commented on a change in pull request #1040: URL: https://github.com/apache/nifi-minifi-cpp/pull/1040#discussion_r612988788 ## File path: extensions/mqtt/processors/PublishMQTT.cpp ## @@ -64,7 +64,9 @@ void PublishMQTT::onSchedule(const std::shared_ptr &contex logger_->log_debug("PublishMQTT: max flow segment size [%" PRIu64 "]", max_seg_size_); } value = ""; - if (context->getProperty(Retain.getName(), value) && !value.empty() && org::apache::nifi::minifi::utils::StringUtils::StringToBool(value, retain_)) { + utils::optional retain_parsed; + if (context->getProperty(Retain.getName(), value) && (retain_parsed = org::apache::nifi::minifi::utils::StringUtils::toBool(value))) { +retain_ = retain_parsed.value(); Review comment: Fixed :) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] pvillard31 commented on pull request #4984: NIFI-8409 - ConsumeMQTT Processor Broker URI Expression Language Support
pvillard31 commented on pull request #4984: URL: https://github.com/apache/nifi/pull/4984#issuecomment-819291764 Thanks @exceptionfactory - updated the pull request -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] pvillard31 commented on pull request #4644: NIFI-7974 - Upgrading calcite, hbase, geo2ip deps
pvillard31 commented on pull request #4644: URL: https://github.com/apache/nifi/pull/4644#issuecomment-819293909 @exceptionfactory - that's the version I used in my pull request, did I miss a place? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] asfgit closed pull request #4997: NIFI-8422 added auto close/manager for stale PRs
asfgit closed pull request #4997: URL: https://github.com/apache/nifi/pull/4997 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (NIFI-8422) Establish a Github Actions auto-close Stale PR workflow
[ https://issues.apache.org/jira/browse/NIFI-8422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17320765#comment-17320765 ] ASF subversion and git services commented on NIFI-8422: --- Commit f0611f31da6b643e9ed4bbf2c98faf6c44e29ba6 in nifi's branch refs/heads/main from Joe Witt [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f0611f3 ] NIFI-8422 ensure stale workflow for github ci is there and update asf license header missing from a few files Signed-off-by: Pierre Villard This closes #4997. > Establish a Github Actions auto-close Stale PR workflow > --- > > Key: NIFI-8422 > URL: https://issues.apache.org/jira/browse/NIFI-8422 > Project: Apache NiFi > Issue Type: Task >Reporter: Joe Witt >Assignee: Joe Witt >Priority: Major > Fix For: 1.14.0 > > Time Spent: 0.5h > Remaining Estimate: 0h > > Discussed on list a couple times. It is time to start aging off inactive PRs > that have not been successfully reviewed and merged. While auto closing PRs > is not desirable neither is ignoring PRs for long and also making it harder > to focus on newer/more active PRs. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (NIFI-8422) Establish a Github Actions auto-close Stale PR workflow
[ https://issues.apache.org/jira/browse/NIFI-8422?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pierre Villard resolved NIFI-8422. -- Resolution: Fixed > Establish a Github Actions auto-close Stale PR workflow > --- > > Key: NIFI-8422 > URL: https://issues.apache.org/jira/browse/NIFI-8422 > Project: Apache NiFi > Issue Type: Task >Reporter: Joe Witt >Assignee: Joe Witt >Priority: Major > Fix For: 1.14.0 > > Time Spent: 40m > Remaining Estimate: 0h > > Discussed on list a couple times. It is time to start aging off inactive PRs > that have not been successfully reviewed and merged. While auto closing PRs > is not desirable neither is ignoring PRs for long and also making it harder > to focus on newer/more active PRs. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (MINIFICPP-1457) Implement InputRequirements
[ https://issues.apache.org/jira/browse/MINIFICPP-1457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17320797#comment-17320797 ] Ádám Markovics commented on MINIFICPP-1457: --- PR submitted: https://github.com/apache/nifi-minifi-cpp/pull/1042 > Implement InputRequirements > --- > > Key: MINIFICPP-1457 > URL: https://issues.apache.org/jira/browse/MINIFICPP-1457 > Project: Apache NiFi MiNiFi C++ > Issue Type: New Feature >Reporter: Arpad Boda >Assignee: Ádám Markovics >Priority: Major > Time Spent: 3h > Remaining Estimate: 0h > > InputRequirements already exist in NiFi. > Processors can have the following "annotations": > {code} > enum Requirement { > /** > * This value is used to indicate that the Processor requires input > from other Processors > * in order to run. As a result, the Processor will not be valid if > it does not have any > * incoming connections. > */ > INPUT_REQUIRED, > /** > * This value is used to indicate that the Processor will consume > data from an incoming > * connection but does not require an incoming connection in order to > perform its task. > * If the {@link InputRequirement} annotation is not present, this is > the default value > * that is used. > */ > INPUT_ALLOWED, > /** > * This value is used to indicate that the Processor is a "Source > Processor" and does > * not accept incoming connections. Because the Processor does not > pull FlowFiles from > * an incoming connection, it can be very confusing for users who > create incoming connections > * to the Processor. As a result, this value can be used in order to > clarify that incoming > * connections will not be used. This prevents the user from even > creating such a connection. > */ > INPUT_FORBIDDEN; > } > {code} > Should be used both in yaml config validation and population of C2 manifest -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] pvillard31 edited a comment on pull request #4644: NIFI-7974 - Upgrading calcite, hbase, geo2ip deps
pvillard31 edited a comment on pull request #4644: URL: https://github.com/apache/nifi/pull/4644#issuecomment-819293909 @exceptionfactory - that's the version I used in my pull request, did I miss a place? Just rebased against main branch though. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (NIFI-8325) Rework SNMP processors
[ https://issues.apache.org/jira/browse/NIFI-8325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Lehel Boér updated NIFI-8325: - Summary: Rework SNMP processors (was: Rework, support and add SNMP processors in NiFi) > Rework SNMP processors > -- > > Key: NIFI-8325 > URL: https://issues.apache.org/jira/browse/NIFI-8325 > Project: Apache NiFi > Issue Type: New Feature >Reporter: Lehel Boér >Assignee: Lehel Boér >Priority: Major > Time Spent: 2.5h > Remaining Estimate: 0h > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi-minifi-cpp] fgerlits commented on a change in pull request #1017: MINIFICPP-1515 - Add integration tests testing different flowfile sizes in a simple flow
fgerlits commented on a change in pull request #1017: URL: https://github.com/apache/nifi-minifi-cpp/pull/1017#discussion_r613094766 ## File path: docker/test/integration/minifi/validators/SingleFileContentHashValidator.py ## @@ -0,0 +1,43 @@ +import logging +import os + +from os import listdir +from os.path import join + +from .FileOutputValidator import FileOutputValidator +from ..core.HashUtils import md5 + +class SingleFileContentHashValidator(FileOutputValidator): +""" +Validates the content of a single file in the given directory. +""" + +def __init__(self, expected_md5_hash, subdir=''): +self.valid = False +self.expected_md5_hash = expected_md5_hash +self.subdir = subdir + +def validate(self): +self.valid = False +full_dir = os.path.join(self.output_dir, self.subdir) +logging.info("Output folder: %s", full_dir) + +if not os.path.isdir(full_dir): +return self.valid + +listing = listdir(full_dir) +if listing: +for l in listing: +logging.info("name:: %s", l) +out_file_name = listing[0] +logging.info("dir %s -- name %s", full_dir, out_file_name) +full_path = join(full_dir, out_file_name) +if not os.path.isfile(full_path): +return self.valid Review comment: Why not `continue` instead of `return`? If 'l' is a subdirectory in `output_dir`, we want to keep looking for matching files. ## File path: docker/test/integration/minifi/validators/SingleFileContentHashValidator.py ## @@ -0,0 +1,43 @@ +import logging +import os + +from os import listdir +from os.path import join + +from .FileOutputValidator import FileOutputValidator +from ..core.HashUtils import md5 + +class SingleFileContentHashValidator(FileOutputValidator): +""" +Validates the content of a single file in the given directory. +""" + +def __init__(self, expected_md5_hash, subdir=''): +self.valid = False +self.expected_md5_hash = expected_md5_hash +self.subdir = subdir + +def validate(self): +self.valid = False +full_dir = os.path.join(self.output_dir, self.subdir) +logging.info("Output folder: %s", full_dir) + +if not os.path.isdir(full_dir): +return self.valid + +listing = listdir(full_dir) +if listing: +for l in listing: Review comment: I'm not a fan of one-char variable names, especially `l` (and `O` etc) -- this could be `file_name`, for example -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] fgerlits commented on a change in pull request #1017: MINIFICPP-1515 - Add integration tests testing different flowfile sizes in a simple flow
fgerlits commented on a change in pull request #1017: URL: https://github.com/apache/nifi-minifi-cpp/pull/1017#discussion_r613094766 ## File path: docker/test/integration/minifi/validators/SingleFileContentHashValidator.py ## @@ -0,0 +1,43 @@ +import logging +import os + +from os import listdir +from os.path import join + +from .FileOutputValidator import FileOutputValidator +from ..core.HashUtils import md5 + +class SingleFileContentHashValidator(FileOutputValidator): +""" +Validates the content of a single file in the given directory. +""" + +def __init__(self, expected_md5_hash, subdir=''): +self.valid = False +self.expected_md5_hash = expected_md5_hash +self.subdir = subdir + +def validate(self): +self.valid = False +full_dir = os.path.join(self.output_dir, self.subdir) +logging.info("Output folder: %s", full_dir) + +if not os.path.isdir(full_dir): +return self.valid + +listing = listdir(full_dir) +if listing: +for l in listing: +logging.info("name:: %s", l) +out_file_name = listing[0] +logging.info("dir %s -- name %s", full_dir, out_file_name) +full_path = join(full_dir, out_file_name) +if not os.path.isfile(full_path): +return self.valid Review comment: Why not `continue` instead of `return`? If `l` is a subdirectory in `output_dir`, we want to keep looking for matching files. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] fgerlits commented on a change in pull request #1017: MINIFICPP-1515 - Add integration tests testing different flowfile sizes in a simple flow
fgerlits commented on a change in pull request #1017: URL: https://github.com/apache/nifi-minifi-cpp/pull/1017#discussion_r613094766 ## File path: docker/test/integration/minifi/validators/SingleFileContentHashValidator.py ## @@ -0,0 +1,43 @@ +import logging +import os + +from os import listdir +from os.path import join + +from .FileOutputValidator import FileOutputValidator +from ..core.HashUtils import md5 + +class SingleFileContentHashValidator(FileOutputValidator): +""" +Validates the content of a single file in the given directory. +""" + +def __init__(self, expected_md5_hash, subdir=''): +self.valid = False +self.expected_md5_hash = expected_md5_hash +self.subdir = subdir + +def validate(self): +self.valid = False +full_dir = os.path.join(self.output_dir, self.subdir) +logging.info("Output folder: %s", full_dir) + +if not os.path.isdir(full_dir): +return self.valid + +listing = listdir(full_dir) +if listing: +for l in listing: +logging.info("name:: %s", l) +out_file_name = listing[0] +logging.info("dir %s -- name %s", full_dir, out_file_name) +full_path = join(full_dir, out_file_name) +if not os.path.isfile(full_path): +return self.valid Review comment: Why not `continue` instead of `return`? If `l` is a subdirectory in `output_dir`, we want to keep looking for matching files. EDIT: I have misunderstood what this does; it seems to assume that there is a single file in the directory. This is slightly weird; my preference would be, in descending order: - specify the name (or full path) of the file in the constructor, so no listing is necessary; - or try to match all files in the given directory; - or log an error message when there is more than one file in the given directory. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] gresockj commented on a change in pull request #4991: NIFI-7134: Allowing auto-reloading of Jetty key/truststores
gresockj commented on a change in pull request #4991: URL: https://github.com/apache/nifi/pull/4991#discussion_r613112540 ## File path: nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-ssl-autoloading-utils/src/main/java/org/apache/nifi/autoload/PrivateKeyInfo.java ## @@ -0,0 +1,79 @@ +/* + * 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.autoload; + +import java.util.Objects; + +public class PrivateKeyInfo implements Comparable { Review comment: Good point, I like the latter. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] gresockj commented on a change in pull request #4991: NIFI-7134: Allowing auto-reloading of Jetty key/truststores
gresockj commented on a change in pull request #4991: URL: https://github.com/apache/nifi/pull/4991#discussion_r613116435 ## File path: nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-ssl-autoloading-utils/src/test/java/org/apache/nifi/autoload/TestSSLContextFactoryAutoLoaderTask.java ## @@ -0,0 +1,113 @@ +/* + * 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.autoload; + +import org.apache.nifi.security.util.KeyStoreUtils; +import org.apache.nifi.security.util.StandardTlsConfiguration; +import org.apache.nifi.security.util.TlsConfiguration; +import org.apache.nifi.security.util.TlsException; +import org.apache.nifi.util.NiFiProperties; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; +import java.nio.file.WatchService; +import java.security.GeneralSecurityException; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.UnrecoverableEntryException; + +public class TestSSLContextFactoryAutoLoaderTask { + +private static final Path KEYSTORE = new File("src/test/resources/keystore.jks").toPath(); +private static final String KEYSTORE_PASSWORD = "testtesttest"; +private static final String KEY_PASSWORD = "testtesttest"; +private static final String KEYSTORE_TYPE = "JKS"; + +private static final String DEFAULT_KEY_ALIAS = "nifi-key"; +private static final String DEFAULT_CERT_DN = "CN=localhost, OU=NIFI"; + +private SSLContextFactoryAutoLoaderTask task; +private NiFiProperties nifiProperties; + +@Before +public void init() throws GeneralSecurityException, IOException { +this.createKeystore(DEFAULT_KEY_ALIAS, DEFAULT_CERT_DN); + +nifiProperties = Mockito.mock(NiFiProperties.class); + Mockito.when(nifiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_PASSWD)).thenReturn(KEYSTORE_PASSWORD); + Mockito.when(nifiProperties.getProperty(NiFiProperties.SECURITY_KEY_PASSWD)).thenReturn(KEY_PASSWORD); + Mockito.when(nifiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_TYPE)).thenReturn(KEYSTORE_TYPE); + +task = new SSLContextFactoryAutoLoaderTask.Builder() +.keystorePath(KEYSTORE) +.keystoreWatchService(Mockito.mock(WatchService.class)) +.truststorePath(Mockito.mock(Path.class)) +.autoLoader(Mockito.mock(SSLContextFactoryAutoLoader.class)) +.nifiProperties(nifiProperties) +.pollIntervalMillis(100) +.build(); +} + +@Test +public void testIsReloadAllowed_true() throws IOException, GeneralSecurityException { +this.createKeystore(DEFAULT_KEY_ALIAS, DEFAULT_CERT_DN); // Creates a keystore with the same DNs and alias, so this is allowed +Assert.assertTrue(task.isReloadAllowed()); +} + +@Test +public void testIsReloadAllowed_differentAlias() throws IOException, GeneralSecurityException { +this.createKeystore("different-alias", DEFAULT_CERT_DN); +Assert.assertFalse(task.isReloadAllowed()); +} + +@Test +public void testIsReloadAllowed_differentSubjectDN() throws IOException, GeneralSecurityException { +this.createKeystore(DEFAULT_KEY_ALIAS, "CN=different"); +Assert.assertFalse(task.isReloadAllowed()); +} + +@Test +public void testIsReloadAllowed_differentIssuerSerialNumber() throws IOException, UnrecoverableEntryException, NoSuchAlgorithmException, KeyStoreException, TlsException { +// This is a keystore with the same key alias and cert DN, but with a different issuer cert in the cert chain, +// showing that we disallow cert updates with the same issuer DN but different actual issuer serial number +Files.copy(new File("src/test/resources/test-keystore.jks").toPath(), KEYSTORE, StandardCopyOption.REPLACE_EXISTING); + +Assert.assertFalse(task.isReloadAllowed()); +} + +private void cr
[GitHub] [nifi] gresockj commented on a change in pull request #4991: NIFI-7134: Allowing auto-reloading of Jetty key/truststores
gresockj commented on a change in pull request #4991: URL: https://github.com/apache/nifi/pull/4991#discussion_r613121826 ## File path: nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-ssl-autoloading-utils/src/main/java/org/apache/nifi/autoload/PrivateKeyInfo.java ## @@ -0,0 +1,79 @@ +/* + * 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.autoload; + +import java.util.Objects; + +public class PrivateKeyInfo implements Comparable { +private static final String COMPARISON_FORMAT = "%s-%s-%s-%s"; + +/** + * Creates a PrivateKeyInfo containing the state we want to track. + * @param subjectDN The subject DN of the cert + * @param issuerDN The issuer DN + * @param alias The alias in the keystore + * @param issuerSerialNumber Optional serial number of the issuer, if the issuer's certificate was found + * in the cert chain + */ +public PrivateKeyInfo(String subjectDN, String issuerDN, String alias, String issuerSerialNumber) { +this.subjectDN = subjectDN; +this.issuerDN = issuerDN; +this.alias = alias; +this.issuerSerialNumber = issuerSerialNumber; +} + +private String subjectDN; +private String issuerDN; Review comment: Great point, and this would remove the need for the issuerSerialNumber as well. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] gresockj commented on a change in pull request #4991: NIFI-7134: Allowing auto-reloading of Jetty key/truststores
gresockj commented on a change in pull request #4991: URL: https://github.com/apache/nifi/pull/4991#discussion_r613121826 ## File path: nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-ssl-autoloading-utils/src/main/java/org/apache/nifi/autoload/PrivateKeyInfo.java ## @@ -0,0 +1,79 @@ +/* + * 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.autoload; + +import java.util.Objects; + +public class PrivateKeyInfo implements Comparable { +private static final String COMPARISON_FORMAT = "%s-%s-%s-%s"; + +/** + * Creates a PrivateKeyInfo containing the state we want to track. + * @param subjectDN The subject DN of the cert + * @param issuerDN The issuer DN + * @param alias The alias in the keystore + * @param issuerSerialNumber Optional serial number of the issuer, if the issuer's certificate was found + * in the cert chain + */ +public PrivateKeyInfo(String subjectDN, String issuerDN, String alias, String issuerSerialNumber) { +this.subjectDN = subjectDN; +this.issuerDN = issuerDN; +this.alias = alias; +this.issuerSerialNumber = issuerSerialNumber; +} + +private String subjectDN; +private String issuerDN; Review comment: Great point. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] gresockj commented on a change in pull request #4991: NIFI-7134: Allowing auto-reloading of Jetty key/truststores
gresockj commented on a change in pull request #4991: URL: https://github.com/apache/nifi/pull/4991#discussion_r613155455 ## File path: nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-ssl-autoloading-utils/src/main/java/org/apache/nifi/autoload/SSLContextFactoryAutoLoaderTask.java ## @@ -0,0 +1,270 @@ +/* + * 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.autoload; + +import org.apache.nifi.security.util.KeyStoreUtils; +import org.apache.nifi.security.util.TlsException; +import org.apache.nifi.util.NiFiProperties; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.nio.file.Path; +import java.nio.file.StandardWatchEventKinds; +import java.nio.file.WatchEvent; +import java.nio.file.WatchKey; +import java.nio.file.WatchService; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.UnrecoverableEntryException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +/** + * The runnable task that polls the WatchService for updates to the keystore and truststore. + * + */ +public class SSLContextFactoryAutoLoaderTask implements Runnable { + +private static final Logger LOGGER = LoggerFactory.getLogger(SSLContextFactoryAutoLoaderTask.class); + +private static final int MIN_FILE_AGE = 5000; + +private final Path keystorePath; +private final Path truststorePath; +private final WatchService keystoreWatchService; +private final WatchService truststoreWatchService; +private final long pollIntervalMillis; +private final SSLContextFactoryAutoLoader autoLoader; +private final NiFiProperties nifiProperties; +private final List candidateStores; + +private final List existingKeystoreState; + +private volatile boolean stopped = false; + +private SSLContextFactoryAutoLoaderTask(final Builder builder) throws NoSuchAlgorithmException, UnrecoverableEntryException, +KeyStoreException, TlsException { +this.keystorePath = builder.keystorePath; +this.truststorePath = builder.truststorePath; +this.keystoreWatchService = builder.keystoreWatchService; +this.truststoreWatchService = builder.truststoreWatchService; +this.pollIntervalMillis = builder.pollIntervalMillis; +this.autoLoader = builder.autoLoader; +this.nifiProperties = builder.niFiProperties; +this.existingKeystoreState = this.getKeystoreState(); +this.candidateStores = new ArrayList<>(); +} + +private boolean poll(WatchService watchService, Collection storePaths) { +if (storePaths == null || storePaths.isEmpty()) { +throw new RuntimeException("A polling directory must be specified."); +} +WatchKey key; +try { +key = watchService.poll(pollIntervalMillis, TimeUnit.MILLISECONDS); +} catch (InterruptedException x) { +LOGGER.info("WatchService interrupted, returning..."); +return false; +} + +boolean storeChanged = false; + +// Key comes back as null when there are no new create events, but we still want to continue processing +// so we can consider files added to the candidateNars list in previous iterations + +if (key != null) { +for (WatchEvent event : key.pollEvents()) { +final WatchEvent.Kind kind = event.kind(); +if (kind == StandardWatchEventKinds.OVERFLOW) { +continue; +} + +final WatchEvent ev = (WatchEvent) event; +final Path filename = ev.context(); + +for(Path storePath : storePaths) { + +final Path autoLoadFile = storePath.getParent().resolve(filename); +final String autoLoadFilename = autoLoadFile.toFile().getName(); + +
[GitHub] [nifi] gresockj commented on a change in pull request #4986: NIFI-8403: Generating Self-signed cert on startup when applicable
gresockj commented on a change in pull request #4986: URL: https://github.com/apache/nifi/pull/4986#discussion_r613199731 ## File path: nifi-bootstrap/src/test/java/org/apache/nifi/bootstrap/util/TestSecureNiFiConfigUtil.java ## @@ -0,0 +1,208 @@ +/* + * 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.bootstrap.util; + +import org.apache.nifi.properties.NiFiPropertiesLoader; +import org.apache.nifi.security.util.KeyStoreUtils; +import org.apache.nifi.security.util.TlsException; +import org.apache.nifi.util.NiFiProperties; +import org.bouncycastle.asn1.x509.GeneralName; +import org.bouncycastle.util.IPAddress; +import org.junit.After; +import org.junit.Assert; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.DatatypeConverter; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.SignatureException; +import java.security.UnrecoverableKeyException; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class TestSecureNiFiConfigUtil { +private Logger logger = LoggerFactory.getLogger("org.apache.nifi.bootstrap.util.TestSecureNiFiConfigUtil"); + +private static final boolean EXPECT_STORES_TO_EXIST = true; + +private String nifiPropertiesFile = "src/test/resources/nifi.properties"; +private String keystorePath = "src/test/resources/keystore.p12"; +private String truststorePath = "src/test/resources/truststore.p12"; Review comment: Good call -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] gresockj commented on a change in pull request #4986: NIFI-8403: Generating Self-signed cert on startup when applicable
gresockj commented on a change in pull request #4986: URL: https://github.com/apache/nifi/pull/4986#discussion_r613203025 ## File path: nifi-bootstrap/src/test/java/org/apache/nifi/bootstrap/util/TestSecureNiFiConfigUtil.java ## @@ -0,0 +1,208 @@ +/* + * 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.bootstrap.util; + +import org.apache.nifi.properties.NiFiPropertiesLoader; +import org.apache.nifi.security.util.KeyStoreUtils; +import org.apache.nifi.security.util.TlsException; +import org.apache.nifi.util.NiFiProperties; +import org.bouncycastle.asn1.x509.GeneralName; +import org.bouncycastle.util.IPAddress; +import org.junit.After; +import org.junit.Assert; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.DatatypeConverter; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.SignatureException; +import java.security.UnrecoverableKeyException; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class TestSecureNiFiConfigUtil { +private Logger logger = LoggerFactory.getLogger("org.apache.nifi.bootstrap.util.TestSecureNiFiConfigUtil"); + +private static final boolean EXPECT_STORES_TO_EXIST = true; + +private String nifiPropertiesFile = "src/test/resources/nifi.properties"; +private String keystorePath = "src/test/resources/keystore.p12"; +private String truststorePath = "src/test/resources/truststore.p12"; + +private NiFiProperties configureSecureNiFiProperties(String testPropertiesFile) throws IOException { +Files.copy(new File(testPropertiesFile).toPath(), new File(nifiPropertiesFile).toPath(), StandardCopyOption.REPLACE_EXISTING); +SecureNiFiConfigUtil.configureSecureNiFiProperties(nifiPropertiesFile, logger); + +return new NiFiPropertiesLoader().load(nifiPropertiesFile); +} + +private static String getFileHash(String filename) throws NoSuchAlgorithmException, IOException { +MessageDigest md = MessageDigest.getInstance("MD5"); +md.update(Files.readAllBytes(Paths.get(filename))); +byte[] digest = md.digest(); +return DatatypeConverter.printHexBinary(digest).toUpperCase(); +} + +@After +public void cleanUp() throws IOException { +Files.deleteIfExists(new File(nifiPropertiesFile).toPath()); +Files.deleteIfExists(new File(keystorePath).toPath()); +Files.deleteIfExists(new File(truststorePath).toPath()); +} + +private void runTestWithExpectedSuccess(String testPropertiesFile, List expectedSANs) throws IOException, TlsException, KeyStoreException, +NoSuchAlgorithmException, UnrecoverableKeyException, CertificateException, InvalidKeyException, NoSuchProviderException, SignatureException { +NiFiProperties niFiProperties = this.configureSecureNiFiProperties(testPropertiesFile); + +keystorePath = niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE); +Assert.assertEquals("./src/test/resources/keystore.p12", keystorePath); + Assert.assertFalse(niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_PASSWD).isEmpty()); +Assert.assertEquals("PKCS12", niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_TYPE)); + +char[] keyPassword = niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_PASSWD).toCharArray(); +KeyStore keyStore = KeyStoreUtils.loadKeyStore(keystorePath, + niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_PASSWD).toCharArray(), + niFiProperti
[GitHub] [nifi] gresockj commented on a change in pull request #4986: NIFI-8403: Generating Self-signed cert on startup when applicable
gresockj commented on a change in pull request #4986: URL: https://github.com/apache/nifi/pull/4986#discussion_r613212430 ## File path: nifi-bootstrap/src/test/java/org/apache/nifi/bootstrap/util/TestSecureNiFiConfigUtil.java ## @@ -0,0 +1,208 @@ +/* + * 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.bootstrap.util; + +import org.apache.nifi.properties.NiFiPropertiesLoader; +import org.apache.nifi.security.util.KeyStoreUtils; +import org.apache.nifi.security.util.TlsException; +import org.apache.nifi.util.NiFiProperties; +import org.bouncycastle.asn1.x509.GeneralName; +import org.bouncycastle.util.IPAddress; +import org.junit.After; +import org.junit.Assert; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.DatatypeConverter; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.SignatureException; +import java.security.UnrecoverableKeyException; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class TestSecureNiFiConfigUtil { +private Logger logger = LoggerFactory.getLogger("org.apache.nifi.bootstrap.util.TestSecureNiFiConfigUtil"); + +private static final boolean EXPECT_STORES_TO_EXIST = true; + +private String nifiPropertiesFile = "src/test/resources/nifi.properties"; Review comment: I'll do this with nifi.properties, but the keystore and truststore paths are referenced from within the nifi.properties file, and since the SecureNiFiConfigUtil uses file paths instead of Class.getResource(), I think it makes more sense to keep the reference to src/test/resources in the keystore/truststore cases. Let me know if you see any other options for those cases. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] asfgit closed pull request #4995: NIFI-8411 update to use latest java action and specific distribution …
asfgit closed pull request #4995: URL: https://github.com/apache/nifi/pull/4995 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (NIFI-8411) Update github CI usage to latest java action for distribution control
[ https://issues.apache.org/jira/browse/NIFI-8411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17320978#comment-17320978 ] ASF subversion and git services commented on NIFI-8411: --- Commit 8c66049d1d5f6a47ec2c4ed6cfcb22496504130c in nifi's branch refs/heads/main from Joe Witt [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=8c66049 ] NIFI-8411 update to use latest java action and specific distribution so we can validate azul and zulu This closes #4995 Signed-off-by: Mike Thomsen > Update github CI usage to latest java action for distribution control > - > > Key: NIFI-8411 > URL: https://issues.apache.org/jira/browse/NIFI-8411 > Project: Apache NiFi > Issue Type: Task > Components: Tools and Build >Reporter: Joe Witt >Assignee: Joe Witt >Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > Switch to > https://github.com/actions/setup-java/blob/main/docs/switching-to-v2.md > And investigate how to explicitly set maven version until we figure out how > to ensure all repos we interact with are done so under https exclusively. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (NIFI-8411) Update github CI usage to latest java action for distribution control
[ https://issues.apache.org/jira/browse/NIFI-8411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mike Thomsen resolved NIFI-8411. Fix Version/s: 1.14.0 Resolution: Fixed > Update github CI usage to latest java action for distribution control > - > > Key: NIFI-8411 > URL: https://issues.apache.org/jira/browse/NIFI-8411 > Project: Apache NiFi > Issue Type: Task > Components: Tools and Build >Reporter: Joe Witt >Assignee: Joe Witt >Priority: Major > Fix For: 1.14.0 > > Time Spent: 0.5h > Remaining Estimate: 0h > > Switch to > https://github.com/actions/setup-java/blob/main/docs/switching-to-v2.md > And investigate how to explicitly set maven version until we figure out how > to ensure all repos we interact with are done so under https exclusively. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (NIFI-8428) UI - Access Policy icon not displaying properly for Controller Services
Mark Bean created NIFI-8428: --- Summary: UI - Access Policy icon not displaying properly for Controller Services Key: NIFI-8428 URL: https://issues.apache.org/jira/browse/NIFI-8428 Project: Apache NiFi Issue Type: Bug Components: Core UI Affects Versions: 1.13.2 Reporter: Mark Bean Due to fixed-width column for icons of a controller service on the process group controller services tab, the Access Policy icon may wrap to a new line in certain cases. Extend the width of this column. This is similar to NIFI-7361. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] exceptionfactory commented on pull request #4644: NIFI-7974 - Upgrading calcite, hbase, geo2ip deps
exceptionfactory commented on pull request #4644: URL: https://github.com/apache/nifi/pull/4644#issuecomment-819494677 > @exceptionfactory - that's the version I used in my pull request, did I miss a place? > Just rebased against main branch though. Thanks for the update @pvillard31, I misread the update, looks good. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] szaszm closed pull request #1041: MINIFICPP-1358 Add SendBody property functionality to InvokeHTTP processor
szaszm closed pull request #1041: URL: https://github.com/apache/nifi-minifi-cpp/pull/1041 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] fgerlits commented on a change in pull request #1040: MINIFICPP-1329- Fix implementation and usages of string to bool
fgerlits commented on a change in pull request #1040: URL: https://github.com/apache/nifi-minifi-cpp/pull/1040#discussion_r613232213 ## File path: libminifi/include/utils/StringUtils.h ## @@ -75,13 +75,12 @@ struct string_traits{ class StringUtils { public: /** - * Converts a string to a boolean - * Better handles mixed case. + * Checks and converts a string to a boolean * @param input input string - * @param output output string. + * @returns an optional of a boolean: true if the string is "true" (ignoring case), false if it is "false" (ignoring case), nullopt for any other value */ - static bool StringToBool(std::string input, bool &output); + static bool StringToBool(std::string input, bool &output); Review comment: I can still see it; have you pushed your change? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Assigned] (NIFI-8428) UI - Access Policy icon not displaying properly for Controller Services
[ https://issues.apache.org/jira/browse/NIFI-8428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pierre Villard reassigned NIFI-8428: Assignee: Pierre Villard > UI - Access Policy icon not displaying properly for Controller Services > --- > > Key: NIFI-8428 > URL: https://issues.apache.org/jira/browse/NIFI-8428 > Project: Apache NiFi > Issue Type: Bug > Components: Core UI >Affects Versions: 1.13.2 >Reporter: Mark Bean >Assignee: Pierre Villard >Priority: Major > > Due to fixed-width column for icons of a controller service on the process > group controller services tab, the Access Policy icon may wrap to a new line > in certain cases. Extend the width of this column. > This is similar to NIFI-7361. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (NIFI-8429) DBCPConnectionPool leaks registered drivers
Peter Turcsanyi created NIFI-8429: - Summary: DBCPConnectionPool leaks registered drivers Key: NIFI-8429 URL: https://issues.apache.org/jira/browse/NIFI-8429 Project: Apache NiFi Issue Type: Bug Components: Extensions Reporter: Peter Turcsanyi {{DBCPConnectionPool}} executes the following steps when it gets enabled: (https://github.com/apache/nifi/blob/f0611f31da6b643e9ed4bbf2c98faf6c44e29ba6/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/src/main/java/org/apache/nifi/dbcp/DBCPConnectionPool.java#L473-L502) - creates a custom class loader - loads the driver's class via {{Class.forName()}} using the class loader created in the previous step => the driver will be registered in DriverManager via the driver's static initialiser (1st registration) - wraps the driver into {{DriverShim}} and registers it in DriverManager => 2nd registration - passes the driver's class name and the class loader to {{commons-dbcp2}}'s {{BasicDataSource}} which in the end instantiates the driver directly and uses that instance in effect (not the registered ones) The registered drivers will never get removed/deregistered from DriverManager (each OnEnabled leaks 2 instances). Unused drivers can also hold other resources (like threads in case of Oracle driver https://support.oracle.com/knowledge/Middleware/1901449_1.html) which can lead to further leaking. Suggested solution: - {{PropertyDescriptor.dynamicallyModifiesClassPath(true)}} could be used instead of the custom class loader - {{@RequiresInstanceClassLoading}} could be used to load the driver and the controller service code in the same class loader (which had been the intended purpose of {{DriverShim}} originally) - the registered driver could be passed to {{BasicDataSource}} for usage (no further instance creation needed) This way only one driver instance (per controller service) would be registered and used (until the user changes the driver url on the controller service). This minimises the number of registered drivers and the resource leaking mentioned earlier. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] pvillard31 opened a new pull request #5000: NIFI-8428 - increased actions column width for controller services
pvillard31 opened a new pull request #5000: URL: https://github.com/apache/nifi/pull/5000 Thank you for submitting a contribution to Apache NiFi. Please provide a short description of the PR here: Description of PR _Enables X functionality; fixes bug NIFI-._ In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Does your PR title start with **NIFI-** where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [ ] Has your PR been rebased against the latest commit within the target branch (typically `main`)? - [ ] Is your initial contribution a single, squashed commit? _Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not `squash` or use `--force` when pushing to allow for clean monitoring of changes._ ### For code changes: - [ ] Have you ensured that the full suite of tests is executed via `mvn -Pcontrib-check clean install` at the root `nifi` folder? - [ ] Have you written or updated unit tests to verify your changes? - [ ] Have you verified that the full build is successful on JDK 8? - [ ] Have you verified that the full build is successful on JDK 11? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the `LICENSE` file, including the main `LICENSE` file under `nifi-assembly`? - [ ] If applicable, have you updated the `NOTICE` file, including the main `NOTICE` file found under `nifi-assembly`? - [ ] If adding new Properties, have you added `.displayName` in addition to .name (programmatic access) for each of the new properties? ### For documentation related changes: - [ ] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] pvillard31 commented on pull request #5000: NIFI-8428 - increased actions column width for controller services
pvillard31 commented on pull request #5000: URL: https://github.com/apache/nifi/pull/5000#issuecomment-819510129 Similar change to #4214 that focused on reporting tasks. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (NIFI-8428) UI - Access Policy icon not displaying properly for Controller Services
[ https://issues.apache.org/jira/browse/NIFI-8428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pierre Villard updated NIFI-8428: - Status: Patch Available (was: Open) > UI - Access Policy icon not displaying properly for Controller Services > --- > > Key: NIFI-8428 > URL: https://issues.apache.org/jira/browse/NIFI-8428 > Project: Apache NiFi > Issue Type: Bug > Components: Core UI >Affects Versions: 1.13.2 >Reporter: Mark Bean >Assignee: Pierre Villard >Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > Due to fixed-width column for icons of a controller service on the process > group controller services tab, the Access Policy icon may wrap to a new line > in certain cases. Extend the width of this column. > This is similar to NIFI-7361. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Assigned] (NIFI-8429) DBCPConnectionPool leaks registered drivers
[ https://issues.apache.org/jira/browse/NIFI-8429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Simon Bence reassigned NIFI-8429: - Assignee: Simon Bence > DBCPConnectionPool leaks registered drivers > --- > > Key: NIFI-8429 > URL: https://issues.apache.org/jira/browse/NIFI-8429 > Project: Apache NiFi > Issue Type: Bug > Components: Extensions >Reporter: Peter Turcsanyi >Assignee: Simon Bence >Priority: Major > > {{DBCPConnectionPool}} executes the following steps when it gets enabled: > (https://github.com/apache/nifi/blob/f0611f31da6b643e9ed4bbf2c98faf6c44e29ba6/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/src/main/java/org/apache/nifi/dbcp/DBCPConnectionPool.java#L473-L502) > - creates a custom class loader > - loads the driver's class via {{Class.forName()}} using the class loader > created in the previous step => the driver will be registered in > DriverManager via the driver's static initialiser (1st registration) > - wraps the driver into {{DriverShim}} and registers it in DriverManager => > 2nd registration > - passes the driver's class name and the class loader to {{commons-dbcp2}}'s > {{BasicDataSource}} which in the end instantiates the driver directly and > uses that instance in effect (not the registered ones) > The registered drivers will never get removed/deregistered from DriverManager > (each OnEnabled leaks 2 instances). Unused drivers can also hold other > resources (like threads in case of Oracle driver > https://support.oracle.com/knowledge/Middleware/1901449_1.html) which can > lead to further leaking. > Suggested solution: > - {{PropertyDescriptor.dynamicallyModifiesClassPath(true)}} could be used > instead of the custom class loader > - {{@RequiresInstanceClassLoading}} could be used to load the driver and the > controller service code in the same class loader (which had been the intended > purpose of {{DriverShim}} originally) > - the registered driver could be passed to {{BasicDataSource}} for usage (no > further instance creation needed) > This way only one driver instance (per controller service) would be > registered and used (until the user changes the driver url on the controller > service). This minimises the number of registered drivers and the resource > leaking mentioned earlier. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi-minifi-cpp] fgerlits commented on a change in pull request #1040: MINIFICPP-1329- Fix implementation and usages of string to bool
fgerlits commented on a change in pull request #1040: URL: https://github.com/apache/nifi-minifi-cpp/pull/1040#discussion_r613251303 ## File path: extensions/standard-processors/tests/unit/PutFileTests.cpp ## @@ -467,4 +467,39 @@ TEST_CASE("TestPutFilePermissions", "[PutFilePermissions]") { REQUIRE(utils::file::FileUtils::get_permissions(putfiledir, perms)); REQUIRE(perms == 0777); } + +TEST_CASE("PutFileCreateDirectoryTest", "[PutFilePermissions]") { + TestController testController; + LogTestController::getInstance().setDebug(); + LogTestController::getInstance().setDebug(); + LogTestController::getInstance().setDebug(); + LogTestController::getInstance().setDebug(); + LogTestController::getInstance().setDebug(); + + std::shared_ptr plan = testController.createPlan(); + std::shared_ptr getfile = plan->addProcessor("GetFile", "getfileCreate2"); + std::shared_ptr putfile = plan->addProcessor("PutFile", "putfile", core::Relationship("success", "description"), true); + plan->addProcessor("LogAttribute", "logattribute", core::Relationship("success", "description"), true); + + // Define Directory + char format[] = "/tmp/gt.XX"; + auto dir = testController.createTempDirectory(format); + char format2[] = "/tmp/ft.XX"; + // Defining a sub directory + auto putfiledir = testController.createTempDirectory(format2) + utils::file::FileUtils::get_separator() + "test_dir"; + plan->setProperty(getfile, org::apache::nifi::minifi::processors::GetFile::Directory.getName(), dir); + plan->setProperty(putfile, org::apache::nifi::minifi::processors::PutFile::Directory.getName(), putfiledir); + + plan->setProperty(putfile, org::apache::nifi::minifi::processors::PutFile::CreateDirs.getName(), "true"); Review comment: I like the new SECTIONs, this test has quite good coverage now. :+1: -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Resolved] (MINIFICPP-1358) SendBody property is unused in InvokeHTTP
[ https://issues.apache.org/jira/browse/MINIFICPP-1358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gabor Gyimesi resolved MINIFICPP-1358. -- Resolution: Fixed > SendBody property is unused in InvokeHTTP > - > > Key: MINIFICPP-1358 > URL: https://issues.apache.org/jira/browse/MINIFICPP-1358 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Gabor Gyimesi >Assignee: Gabor Gyimesi >Priority: Minor > Labels: easy-fix, newbie > Time Spent: 1.5h > Remaining Estimate: 0h > > SendBody attribute is defined but never used in InvokeHTTP processor. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi-minifi-cpp] lordgamez opened a new pull request #1052: MINIFICPP-1244 Support the Initial Start Position property in TailFile
lordgamez opened a new pull request #1052: URL: https://github.com/apache/nifi-minifi-cpp/pull/1052 Thank you for submitting a contribution to Apache NiFi - MiNiFi C++. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Does your PR title start with MINIFICPP- where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [ ] Has your PR been rebased against the latest commit within the target branch (typically main)? - [ ] Is your initial contribution a single, squashed commit? ### For code changes: - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the LICENSE file? - [ ] If applicable, have you updated the NOTICE file? ### For documentation related changes: - [ ] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] gresockj commented on a change in pull request #4986: NIFI-8403: Generating Self-signed cert on startup when applicable
gresockj commented on a change in pull request #4986: URL: https://github.com/apache/nifi/pull/4986#discussion_r613314232 ## File path: nifi-bootstrap/src/test/java/org/apache/nifi/bootstrap/util/TestSecureNiFiConfigUtil.java ## @@ -0,0 +1,208 @@ +/* + * 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.bootstrap.util; + +import org.apache.nifi.properties.NiFiPropertiesLoader; +import org.apache.nifi.security.util.KeyStoreUtils; +import org.apache.nifi.security.util.TlsException; +import org.apache.nifi.util.NiFiProperties; +import org.bouncycastle.asn1.x509.GeneralName; +import org.bouncycastle.util.IPAddress; +import org.junit.After; +import org.junit.Assert; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.DatatypeConverter; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.SignatureException; +import java.security.UnrecoverableKeyException; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class TestSecureNiFiConfigUtil { +private Logger logger = LoggerFactory.getLogger("org.apache.nifi.bootstrap.util.TestSecureNiFiConfigUtil"); + +private static final boolean EXPECT_STORES_TO_EXIST = true; + +private String nifiPropertiesFile = "src/test/resources/nifi.properties"; Review comment: Interestingly, though, in the nifi.properties case, Class.getResource() won't work, because it's a temporary file that I create on the fly during the test, and there of course isn't a resource yet to get when I want to get the Path to that file using the Class.getResource() method. So I'm going to suggest we keep it as is, and I'll just extract src/test/resources/ into a constant. How does that sound? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] exceptionfactory commented on a change in pull request #4986: NIFI-8403: Generating Self-signed cert on startup when applicable
exceptionfactory commented on a change in pull request #4986: URL: https://github.com/apache/nifi/pull/4986#discussion_r613320447 ## File path: nifi-bootstrap/src/test/java/org/apache/nifi/bootstrap/util/TestSecureNiFiConfigUtil.java ## @@ -0,0 +1,208 @@ +/* + * 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.bootstrap.util; + +import org.apache.nifi.properties.NiFiPropertiesLoader; +import org.apache.nifi.security.util.KeyStoreUtils; +import org.apache.nifi.security.util.TlsException; +import org.apache.nifi.util.NiFiProperties; +import org.bouncycastle.asn1.x509.GeneralName; +import org.bouncycastle.util.IPAddress; +import org.junit.After; +import org.junit.Assert; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.DatatypeConverter; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.SignatureException; +import java.security.UnrecoverableKeyException; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class TestSecureNiFiConfigUtil { +private Logger logger = LoggerFactory.getLogger("org.apache.nifi.bootstrap.util.TestSecureNiFiConfigUtil"); + +private static final boolean EXPECT_STORES_TO_EXIST = true; + +private String nifiPropertiesFile = "src/test/resources/nifi.properties"; Review comment: The file in `src/test/resources` will need to be copied to be a temporary location and updated with the generated paths, so Class.getResourceAsStream() could be used to read the initial file. Alternatively, if it is simple enough to just write the minimum properties to a temporary file, perhaps the `nifi.properties` in `src/test/resources` may not be necessary at all. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-8430) ReportLineageToAtlas Truststore Loader Thread Leak
David Handermann created NIFI-8430: -- Summary: ReportLineageToAtlas Truststore Loader Thread Leak Key: NIFI-8430 URL: https://issues.apache.org/jira/browse/NIFI-8430 Project: Apache NiFi Issue Type: Bug Affects Versions: 1.13.2 Reporter: David Handermann Assignee: David Handermann {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context Service due a bug in Hadoop Common 3.1.1. HDFS-14037 resolved the problem with the truststore loader thread leak, so the Atlas dependencies should use Hadoop Common 3.1.3 or later. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (NIFI-8430) ReportLineageToAtlas Truststore Loader Thread Leak
[ https://issues.apache.org/jira/browse/NIFI-8430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321079#comment-17321079 ] David Handermann commented on NIFI-8430: Changing the trust store loading approach in NIFI-8312 to support different types surfaced the thread leak problem latent in Hadoop Common 3.1.1. > ReportLineageToAtlas Truststore Loader Thread Leak > -- > > Key: NIFI-8430 > URL: https://issues.apache.org/jira/browse/NIFI-8430 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.13.2 >Reporter: David Handermann >Assignee: David Handermann >Priority: Major > > {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context > Service due a bug in Hadoop Common 3.1.1. HDFS-14037 resolved the problem > with the truststore loader thread leak, so the Atlas dependencies should use > Hadoop Common 3.1.3 or later. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] gresockj commented on a change in pull request #4986: NIFI-8403: Generating Self-signed cert on startup when applicable
gresockj commented on a change in pull request #4986: URL: https://github.com/apache/nifi/pull/4986#discussion_r613340644 ## File path: nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/StandardTlsConfiguration.java ## @@ -203,6 +205,38 @@ public static StandardTlsConfiguration fromNiFiProperties(NiFiProperties niFiPro return tlsConfiguration; } +/** + * Returns a {@link org.apache.nifi.security.util.TlsConfiguration} instantiated from the relevant {@link NiFiProperties} properties. + * + * @param niFiProperties the NiFi properties, as a simple java.util.Properties object + * @return a populated TlsConfiguration container object + */ +public static StandardTlsConfiguration fromNiFiProperties(Properties niFiProperties) { +if (niFiProperties == null) { +throw new IllegalArgumentException("The NiFi properties cannot be null"); +} + +String keystorePath = niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE); +String keystorePassword = niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_PASSWD); +String keyPassword = niFiProperties.getProperty(NiFiProperties.SECURITY_KEY_PASSWD); +String keystoreType = niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_TYPE); +String truststorePath = niFiProperties.getProperty(NiFiProperties.SECURITY_TRUSTSTORE); +String truststorePassword = niFiProperties.getProperty(NiFiProperties.SECURITY_TRUSTSTORE_PASSWD); +String truststoreType = niFiProperties.getProperty(NiFiProperties.SECURITY_TRUSTSTORE_TYPE); +String protocol = TLS_PROTOCOL_VERSION; + +final StandardTlsConfiguration tlsConfiguration = new StandardTlsConfiguration(keystorePath, keystorePassword, keyPassword, +keystoreType, truststorePath, truststorePassword, +truststoreType, protocol); +if (logger.isDebugEnabled()) { +logger.debug("Instantiating TlsConfiguration from NiFi properties: {}, {}, {}, {}, {}, {}, {}, {}", +keystorePath, tlsConfiguration.getKeystorePasswordForLogging(), tlsConfiguration.getKeyPasswordForLogging(), keystoreType, +truststorePath, tlsConfiguration.getTruststorePasswordForLogging(), truststoreType, protocol); +} Review comment: I'm not sure, it was also in the method from which I copied this. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] gresockj commented on a change in pull request #4986: NIFI-8403: Generating Self-signed cert on startup when applicable
gresockj commented on a change in pull request #4986: URL: https://github.com/apache/nifi/pull/4986#discussion_r613342402 ## File path: nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/util/SecureNiFiConfigUtil.java ## @@ -0,0 +1,191 @@ +/* + * 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.bootstrap.util; + +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; +import org.apache.nifi.security.util.KeyStoreUtils; +import org.apache.nifi.security.util.StandardTlsConfiguration; +import org.apache.nifi.security.util.TlsConfiguration; +import org.apache.nifi.util.NiFiProperties; +import org.bouncycastle.util.IPAddress; +import org.slf4j.Logger; + +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; +import java.security.GeneralSecurityException; +import java.util.HashSet; +import java.util.List; +import java.util.Properties; +import java.util.Set; +import java.util.stream.Collectors; + +public class SecureNiFiConfigUtil { + +private static final int CERT_DURATION_DAYS = 60; +public static final String LOCALHOST_IP = "127.0.0.1"; +private static final String LOCALHOST_NAME = "localhost"; + +private SecureNiFiConfigUtil() { + +} + +/** + * If HTTPS is enabled (nifi.web.https.port is set), but the keystore file specified in nifi.security.keystore + * does not exist, this will generate a key pair and self-signed certificate, generate the associated keystore + * and truststore and write them to disk under the configured filepaths, generate a secure random keystore password + * and truststore password, and write these to the nifi.properties file. + * @param nifiPropertiesFilename The filename of the nifi.properties file + * @param cmdLogger The bootstrap logger + * @throws IOException can be thrown when writing keystores to disk + * @throws RuntimeException indicates a security exception while generating keystores + */ +public static void configureSecureNiFiProperties(String nifiPropertiesFilename, Logger cmdLogger) throws IOException, RuntimeException { +final File propertiesFile = new File(nifiPropertiesFilename); +final Properties nifiProperties = loadProperties(propertiesFile); + +if (!nifiProperties.getProperty(NiFiProperties.WEB_HTTPS_PORT, "").isEmpty()) { +String keystorePath = nifiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE, ""); +String truststorePath = nifiProperties.getProperty(NiFiProperties.SECURITY_TRUSTSTORE, ""); +if (!keystorePath.isEmpty() && !truststorePath.isEmpty()) { +File keystore = new File(keystorePath); +File truststore = new File(truststorePath); +if (!keystore.exists() && !truststore.exists()) { +TlsConfiguration tlsConfiguration = null; +cmdLogger.info("Generating default self-signed certificates, keystore and truststore for secure Apache NiFi configuration. " + +"This certificate will expire in {} days, and it is recommended to acquire your own certificates in order to properly secure Apache NiFi.", CERT_DURATION_DAYS); +try { +Pair subjectAlternativeNames = getSubjectAlternativeNames(nifiProperties); +tlsConfiguration = KeyStoreUtils.createTlsConfigAndNewKeystoreTruststore(StandardTlsConfiguration +.fromNiFiProperties(nifiProperties), CERT_DURATION_DAYS, subjectAlternativeNames.getLeft(), +subjectAlternativeNames.getRight()); +} catch (IOException e) { +cmdLogger.error("Encountered an I/O exception while generating secure Apache NiFi configuration.", e); +throw e; +} catch (GeneralSecurityException e) { +
[GitHub] [nifi] exceptionfactory opened a new pull request #5001: NIFI-8430 Set hadoop-common:3.1.4 for nifi-atlas-bundle
exceptionfactory opened a new pull request #5001: URL: https://github.com/apache/nifi/pull/5001 Description of PR NIFI-8430 Sets hadoop-common to version 3.1.4 in `nifi-atlas-bundle` to override version 3.1.1 included in Atlas 2.1.0. Hadoop Common 3.1.4 includes resolution of [HDFS-14037](https://issues.apache.org/jira/browse/HDFS-14037) for thread leaks related to monitoring truststore files for changes. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [X] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [X] Does your PR title start with **NIFI-** where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [X] Has your PR been rebased against the latest commit within the target branch (typically `main`)? - [X] Is your initial contribution a single, squashed commit? _Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not `squash` or use `--force` when pushing to allow for clean monitoring of changes._ ### For code changes: - [X] Have you ensured that the full suite of tests is executed via `mvn -Pcontrib-check clean install` at the root `nifi` folder? - [ ] Have you written or updated unit tests to verify your changes? - [ ] Have you verified that the full build is successful on JDK 8? - [X] Have you verified that the full build is successful on JDK 11? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the `LICENSE` file, including the main `LICENSE` file under `nifi-assembly`? - [ ] If applicable, have you updated the `NOTICE` file, including the main `NOTICE` file found under `nifi-assembly`? - [ ] If adding new Properties, have you added `.displayName` in addition to .name (programmatic access) for each of the new properties? ### For documentation related changes: - [ ] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (NIFI-8430) ReportLineageToAtlas Truststore Loader Thread Leak
[ https://issues.apache.org/jira/browse/NIFI-8430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Handermann updated NIFI-8430: --- Status: Patch Available (was: In Progress) > ReportLineageToAtlas Truststore Loader Thread Leak > -- > > Key: NIFI-8430 > URL: https://issues.apache.org/jira/browse/NIFI-8430 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.13.2 >Reporter: David Handermann >Assignee: David Handermann >Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context > Service due a bug in Hadoop Common 3.1.1. HDFS-14037 resolved the problem > with the truststore loader thread leak, so the Atlas dependencies should use > Hadoop Common 3.1.3 or later. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] thenatog commented on pull request #4988: NIFI-7870 - Fix anonymous access control for advanced UI resources
thenatog commented on pull request #4988: URL: https://github.com/apache/nifi/pull/4988#issuecomment-819620934 Updated some aspects but I don't believe the code as it stands will be working. Working to implement the bearer token resolver aspect and fix one aspect of the cookie checking. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] thenatog edited a comment on pull request #4988: NIFI-7870 - Fix anonymous access control for advanced UI resources
thenatog edited a comment on pull request #4988: URL: https://github.com/apache/nifi/pull/4988#issuecomment-819620934 Updated as per most of the feedback so far but I don't believe the code as it stands will be working. Working to implement the bearer token resolver aspect and fix one aspect of the cookie checking. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] markobean commented on pull request #5000: NIFI-8428 - increased actions column width for controller services
markobean commented on pull request #5000: URL: https://github.com/apache/nifi/pull/5000#issuecomment-819629496 +1 Built and installed NiFi with this fix. The previously observed issue of poor icon placement has been fixed. Looks good to me. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-8431) Redundant validation of Dynamic Properties
Mark Bean created NIFI-8431: --- Summary: Redundant validation of Dynamic Properties Key: NIFI-8431 URL: https://issues.apache.org/jira/browse/NIFI-8431 Project: Apache NiFi Issue Type: Bug Components: Core Framework Affects Versions: 1.13.2 Reporter: Mark Bean The validate method of AbstractConfigurableComponent was modified recently. Where it use to loop through only supported property descriptors (via getSupportedPropertyDescriptors method call), it now loops through all descriptors in the context (via ValidationContext.getProperties.keySet() call). This includes dynamic properties. Therefore, the subsequent validation of dynamic properties is redundant, and can produce duplicate validation errors. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] gresockj commented on a change in pull request #4986: NIFI-8403: Generating Self-signed cert on startup when applicable
gresockj commented on a change in pull request #4986: URL: https://github.com/apache/nifi/pull/4986#discussion_r613465911 ## File path: nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/StandardTlsConfiguration.java ## @@ -203,6 +205,38 @@ public static StandardTlsConfiguration fromNiFiProperties(NiFiProperties niFiPro return tlsConfiguration; } +/** + * Returns a {@link org.apache.nifi.security.util.TlsConfiguration} instantiated from the relevant {@link NiFiProperties} properties. + * + * @param niFiProperties the NiFi properties, as a simple java.util.Properties object + * @return a populated TlsConfiguration container object + */ +public static StandardTlsConfiguration fromNiFiProperties(Properties niFiProperties) { +if (niFiProperties == null) { +throw new IllegalArgumentException("The NiFi properties cannot be null"); +} + +String keystorePath = niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE); +String keystorePassword = niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_PASSWD); +String keyPassword = niFiProperties.getProperty(NiFiProperties.SECURITY_KEY_PASSWD); +String keystoreType = niFiProperties.getProperty(NiFiProperties.SECURITY_KEYSTORE_TYPE); +String truststorePath = niFiProperties.getProperty(NiFiProperties.SECURITY_TRUSTSTORE); +String truststorePassword = niFiProperties.getProperty(NiFiProperties.SECURITY_TRUSTSTORE_PASSWD); +String truststoreType = niFiProperties.getProperty(NiFiProperties.SECURITY_TRUSTSTORE_TYPE); +String protocol = TLS_PROTOCOL_VERSION; + +final StandardTlsConfiguration tlsConfiguration = new StandardTlsConfiguration(keystorePath, keystorePassword, keyPassword, +keystoreType, truststorePath, truststorePassword, +truststoreType, protocol); +if (logger.isDebugEnabled()) { +logger.debug("Instantiating TlsConfiguration from NiFi properties: {}, {}, {}, {}, {}, {}, {}, {}", +keystorePath, tlsConfiguration.getKeystorePasswordForLogging(), tlsConfiguration.getKeyPasswordForLogging(), keystoreType, +truststorePath, tlsConfiguration.getTruststorePasswordForLogging(), truststoreType, protocol); +} Review comment: That said, I certainly don't need it in the new method, so I'll remove it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] exceptionfactory closed pull request #5001: NIFI-8430 Set hadoop-common:3.1.4 for nifi-atlas-bundle
exceptionfactory closed pull request #5001: URL: https://github.com/apache/nifi/pull/5001 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] exceptionfactory commented on pull request #5001: NIFI-8430 Set hadoop-common:3.1.4 for nifi-atlas-bundle
exceptionfactory commented on pull request #5001: URL: https://github.com/apache/nifi/pull/5001#issuecomment-819747529 Runtime testing determined that this did not resolve the thread leak issue in `ReportLineageToAtlas`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (NIFI-8430) ReportLineageToAtlas Truststore Loader Thread Leak
[ https://issues.apache.org/jira/browse/NIFI-8430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Handermann updated NIFI-8430: --- Description: {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context Service following recent changes to trust store configuration. (was: {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context Service due a bug in Hadoop Common 3.1.1. HDFS-14037 resolved the problem with the truststore loader thread leak, so the Atlas dependencies should use Hadoop Common 3.1.3 or later.) > ReportLineageToAtlas Truststore Loader Thread Leak > -- > > Key: NIFI-8430 > URL: https://issues.apache.org/jira/browse/NIFI-8430 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.13.2 >Reporter: David Handermann >Assignee: David Handermann >Priority: Major > Time Spent: 0.5h > Remaining Estimate: 0h > > {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context > Service following recent changes to trust store configuration. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Assigned] (NIFI-8430) ReportLineageToAtlas Truststore Loader Thread Leak
[ https://issues.apache.org/jira/browse/NIFI-8430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Handermann reassigned NIFI-8430: -- Assignee: Peter Turcsanyi (was: David Handermann) > ReportLineageToAtlas Truststore Loader Thread Leak > -- > > Key: NIFI-8430 > URL: https://issues.apache.org/jira/browse/NIFI-8430 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.13.2 >Reporter: David Handermann >Assignee: Peter Turcsanyi >Priority: Major > Time Spent: 0.5h > Remaining Estimate: 0h > > {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context > Service following recent changes to trust store configuration. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Comment Edited] (NIFI-8430) ReportLineageToAtlas Truststore Loader Thread Leak
[ https://issues.apache.org/jira/browse/NIFI-8430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321079#comment-17321079 ] David Handermann edited comment on NIFI-8430 at 4/14/21, 6:44 PM: -- Changing the trust store loading approach in NIFI-8312 to support different types surfaced the thread leak problem. was (Author: exceptionfactory): Changing the trust store loading approach in NIFI-8312 to support different types surfaced the thread leak problem latent in Hadoop Common 3.1.1. > ReportLineageToAtlas Truststore Loader Thread Leak > -- > > Key: NIFI-8430 > URL: https://issues.apache.org/jira/browse/NIFI-8430 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.13.2 >Reporter: David Handermann >Assignee: Peter Turcsanyi >Priority: Major > Time Spent: 0.5h > Remaining Estimate: 0h > > {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context > Service following recent changes to trust store configuration. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] turcsanyip opened a new pull request #5002: NIFI-8430: Close Atlas client in order to free up resources
turcsanyip opened a new pull request #5002: URL: https://github.com/apache/nifi/pull/5002 https://issues.apache.org/jira/browse/NIFI-8430 In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Does your PR title start with **NIFI-** where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [ ] Has your PR been rebased against the latest commit within the target branch (typically `main`)? - [ ] Is your initial contribution a single, squashed commit? _Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not `squash` or use `--force` when pushing to allow for clean monitoring of changes._ ### For code changes: - [ ] Have you ensured that the full suite of tests is executed via `mvn -Pcontrib-check clean install` at the root `nifi` folder? - [ ] Have you written or updated unit tests to verify your changes? - [ ] Have you verified that the full build is successful on JDK 8? - [ ] Have you verified that the full build is successful on JDK 11? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the `LICENSE` file, including the main `LICENSE` file under `nifi-assembly`? - [ ] If applicable, have you updated the `NOTICE` file, including the main `NOTICE` file found under `nifi-assembly`? - [ ] If adding new Properties, have you added `.displayName` in addition to .name (programmatic access) for each of the new properties? ### For documentation related changes: - [ ] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-8432) PutSQL - Throwing IndexOutOfBounds exception in ErrorHandler
Steven Youtsey created NIFI-8432: Summary: PutSQL - Throwing IndexOutOfBounds exception in ErrorHandler Key: NIFI-8432 URL: https://issues.apache.org/jira/browse/NIFI-8432 Project: Apache NiFi Issue Type: Bug Components: Extensions Affects Versions: 1.8.0 Reporter: Steven Youtsey When the incoming FlowFile has a bad query statement, batching is being used, and Rollback on Failure is false, the error handler that is dealing with the JDBC query exception is throwing IndexOutOfBounds when trying to get the FlowFile from the collection of batchFlowFiles. It appears that there is only one FlowFile in the batch. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] simonbence opened a new pull request #5003: NIFI-8429 Changing DBCPConnectionPool driver manager in order to prevent from leaking
simonbence opened a new pull request #5003: URL: https://github.com/apache/nifi/pull/5003 I implemented the changes suggested in [NIFI-8429](https://issues.apache.org/jira/browse/NIFI-8429). This will prevent unnecessary creation of drivers and leaking threads using the toolbox provided by the framework (some custom code has been removed accordingly). Thank you for submitting a contribution to Apache NiFi. Please provide a short description of the PR here: Description of PR _Enables X functionality; fixes bug NIFI-._ In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Does your PR title start with **NIFI-** where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [ ] Has your PR been rebased against the latest commit within the target branch (typically `main`)? - [ ] Is your initial contribution a single, squashed commit? _Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not `squash` or use `--force` when pushing to allow for clean monitoring of changes._ ### For code changes: - [ ] Have you ensured that the full suite of tests is executed via `mvn -Pcontrib-check clean install` at the root `nifi` folder? - [ ] Have you written or updated unit tests to verify your changes? - [ ] Have you verified that the full build is successful on JDK 8? - [ ] Have you verified that the full build is successful on JDK 11? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the `LICENSE` file, including the main `LICENSE` file under `nifi-assembly`? - [ ] If applicable, have you updated the `NOTICE` file, including the main `NOTICE` file found under `nifi-assembly`? - [ ] If adding new Properties, have you added `.displayName` in addition to .name (programmatic access) for each of the new properties? ### For documentation related changes: - [ ] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-8433) Add decommission command to nifi.sh
Mark Payne created NIFI-8433: Summary: Add decommission command to nifi.sh Key: NIFI-8433 URL: https://issues.apache.org/jira/browse/NIFI-8433 Project: Apache NiFi Issue Type: Improvement Components: Core Framework Reporter: Mark Payne Assignee: Mark Payne Add the ability to run {{bin/nifi.sh decommission}} and have that take care of disconnecting node from the cluster, offloading, removing the node, and shutting it down. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] markap14 opened a new pull request #5004: NIFI-8433: Added ability to decommission a node in a cluster
markap14 opened a new pull request #5004: URL: https://github.com/apache/nifi/pull/5004 Thank you for submitting a contribution to Apache NiFi. Please provide a short description of the PR here: Description of PR _Enables X functionality; fixes bug NIFI-._ In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Does your PR title start with **NIFI-** where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [ ] Has your PR been rebased against the latest commit within the target branch (typically `main`)? - [ ] Is your initial contribution a single, squashed commit? _Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not `squash` or use `--force` when pushing to allow for clean monitoring of changes._ ### For code changes: - [ ] Have you ensured that the full suite of tests is executed via `mvn -Pcontrib-check clean install` at the root `nifi` folder? - [ ] Have you written or updated unit tests to verify your changes? - [ ] Have you verified that the full build is successful on JDK 8? - [ ] Have you verified that the full build is successful on JDK 11? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the `LICENSE` file, including the main `LICENSE` file under `nifi-assembly`? - [ ] If applicable, have you updated the `NOTICE` file, including the main `NOTICE` file found under `nifi-assembly`? - [ ] If adding new Properties, have you added `.displayName` in addition to .name (programmatic access) for each of the new properties? ### For documentation related changes: - [ ] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-8434) Add the possibility to use new class loader when a controller service is enabled
Simon Bence created NIFI-8434: - Summary: Add the possibility to use new class loader when a controller service is enabled Key: NIFI-8434 URL: https://issues.apache.org/jira/browse/NIFI-8434 Project: Apache NiFi Issue Type: Improvement Components: Core Framework Reporter: Simon Bence Assignee: Simon Bence Currently NiFi supports both instance level class loading (with RequiresInstanceClassLoading annotation) and dynamically modified class path (with PropertyDescriptor.dynamicallyModifiesClassPath for controller services. The PropertyDescriptor.dynamicallyModifiesClassPath, when the property changes, makes the framework to create a new ClassLoader, making a separate "sandbox" for the new run (enable) of the service. In certain cases, this might not be enough and "reloading" of the ClassLoader would be preferred during every enabling of the controller service. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (NIFI-8429) DBCPConnectionPool leaks registered drivers
[ https://issues.apache.org/jira/browse/NIFI-8429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321309#comment-17321309 ] Simon Bence commented on NIFI-8429: --- A very well formed proposal, I quickly implemented it. This looks as a big step forward, however, this is still not a full separation and drivers might have some remain (Oracle driver for example still has some as it might not being deregistered). In order to implement a full separation between runs of a controller service, I added this ticket proposal https://issues.apache.org/jira/browse/NIFI-8434 and I will look into it deeper as soon I will have the chance. > DBCPConnectionPool leaks registered drivers > --- > > Key: NIFI-8429 > URL: https://issues.apache.org/jira/browse/NIFI-8429 > Project: Apache NiFi > Issue Type: Bug > Components: Extensions >Reporter: Peter Turcsanyi >Assignee: Simon Bence >Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > {{DBCPConnectionPool}} executes the following steps when it gets enabled: > (https://github.com/apache/nifi/blob/f0611f31da6b643e9ed4bbf2c98faf6c44e29ba6/nifi-nar-bundles/nifi-standard-services/nifi-dbcp-service-bundle/nifi-dbcp-service/src/main/java/org/apache/nifi/dbcp/DBCPConnectionPool.java#L473-L502) > - creates a custom class loader > - loads the driver's class via {{Class.forName()}} using the class loader > created in the previous step => the driver will be registered in > DriverManager via the driver's static initialiser (1st registration) > - wraps the driver into {{DriverShim}} and registers it in DriverManager => > 2nd registration > - passes the driver's class name and the class loader to {{commons-dbcp2}}'s > {{BasicDataSource}} which in the end instantiates the driver directly and > uses that instance in effect (not the registered ones) > The registered drivers will never get removed/deregistered from DriverManager > (each OnEnabled leaks 2 instances). Unused drivers can also hold other > resources (like threads in case of Oracle driver > https://support.oracle.com/knowledge/Middleware/1901449_1.html) which can > lead to further leaking. > Suggested solution: > - {{PropertyDescriptor.dynamicallyModifiesClassPath(true)}} could be used > instead of the custom class loader > - {{@RequiresInstanceClassLoading}} could be used to load the driver and the > controller service code in the same class loader (which had been the intended > purpose of {{DriverShim}} originally) > - the registered driver could be passed to {{BasicDataSource}} for usage (no > further instance creation needed) > This way only one driver instance (per controller service) would be > registered and used (until the user changes the driver url on the controller > service). This minimises the number of registered drivers and the resource > leaking mentioned earlier. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] asfgit closed pull request #5002: NIFI-8430: Close Atlas client in order to free up resources
asfgit closed pull request #5002: URL: https://github.com/apache/nifi/pull/5002 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (NIFI-8430) ReportLineageToAtlas Truststore Loader Thread Leak
[ https://issues.apache.org/jira/browse/NIFI-8430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321317#comment-17321317 ] ASF subversion and git services commented on NIFI-8430: --- Commit 2fb05cd8dc6b71d1808cc7447ce085a8e7ab8236 in nifi's branch refs/heads/main from Peter Turcsanyi [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=2fb05cd ] NIFI-8430: Close Atlas client in order to free up resources This closes #5002 Signed-off-by: David Handermann > ReportLineageToAtlas Truststore Loader Thread Leak > -- > > Key: NIFI-8430 > URL: https://issues.apache.org/jira/browse/NIFI-8430 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.13.2 >Reporter: David Handermann >Assignee: Peter Turcsanyi >Priority: Major > Time Spent: 40m > Remaining Estimate: 0h > > {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context > Service following recent changes to trust store configuration. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (NIFI-8430) ReportLineageToAtlas Truststore Loader Thread Leak
[ https://issues.apache.org/jira/browse/NIFI-8430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Handermann updated NIFI-8430: --- Fix Version/s: 1.14.0 Resolution: Fixed Status: Resolved (was: Patch Available) > ReportLineageToAtlas Truststore Loader Thread Leak > -- > > Key: NIFI-8430 > URL: https://issues.apache.org/jira/browse/NIFI-8430 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.13.2 >Reporter: David Handermann >Assignee: Peter Turcsanyi >Priority: Major > Fix For: 1.14.0 > > Time Spent: 50m > Remaining Estimate: 0h > > {{ReportLineageToAtlas}} can leak threads when configured with an SSL Context > Service following recent changes to trust store configuration. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] asfgit closed pull request #5000: NIFI-8428 - increased actions column width for controller services
asfgit closed pull request #5000: URL: https://github.com/apache/nifi/pull/5000 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (NIFI-8428) UI - Access Policy icon not displaying properly for Controller Services
[ https://issues.apache.org/jira/browse/NIFI-8428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Handermann updated NIFI-8428: --- Fix Version/s: 1.14.0 Resolution: Fixed Status: Resolved (was: Patch Available) > UI - Access Policy icon not displaying properly for Controller Services > --- > > Key: NIFI-8428 > URL: https://issues.apache.org/jira/browse/NIFI-8428 > Project: Apache NiFi > Issue Type: Bug > Components: Core UI >Affects Versions: 1.13.2 >Reporter: Mark Bean >Assignee: Pierre Villard >Priority: Major > Fix For: 1.14.0 > > Time Spent: 40m > Remaining Estimate: 0h > > Due to fixed-width column for icons of a controller service on the process > group controller services tab, the Access Policy icon may wrap to a new line > in certain cases. Extend the width of this column. > This is similar to NIFI-7361. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (NIFI-8428) UI - Access Policy icon not displaying properly for Controller Services
[ https://issues.apache.org/jira/browse/NIFI-8428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321320#comment-17321320 ] ASF subversion and git services commented on NIFI-8428: --- Commit 4fb86d79e48781deb45ca78c6d95f060d7d9cd18 in nifi's branch refs/heads/main from Pierre Villard [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=4fb86d7 ] NIFI-8428 - increased actions column width for controller services This closes #5000 Signed-off-by: David Handermann > UI - Access Policy icon not displaying properly for Controller Services > --- > > Key: NIFI-8428 > URL: https://issues.apache.org/jira/browse/NIFI-8428 > Project: Apache NiFi > Issue Type: Bug > Components: Core UI >Affects Versions: 1.13.2 >Reporter: Mark Bean >Assignee: Pierre Villard >Priority: Major > Time Spent: 0.5h > Remaining Estimate: 0h > > Due to fixed-width column for icons of a controller service on the process > group controller services tab, the Access Policy icon may wrap to a new line > in certain cases. Extend the width of this column. > This is similar to NIFI-7361. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] asfgit closed pull request #4984: NIFI-8409 - ConsumeMQTT Processor Broker URI Expression Language Support
asfgit closed pull request #4984: URL: https://github.com/apache/nifi/pull/4984 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (NIFI-8409) ConsumeMQTT Processor Broker URI Expression Language Support
[ https://issues.apache.org/jira/browse/NIFI-8409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Handermann updated NIFI-8409: --- Fix Version/s: 1.14.0 Resolution: Fixed Status: Resolved (was: Patch Available) > ConsumeMQTT Processor Broker URI Expression Language Support > > > Key: NIFI-8409 > URL: https://issues.apache.org/jira/browse/NIFI-8409 > Project: Apache NiFi > Issue Type: Improvement > Components: Extensions >Reporter: YILDIRAY KABAK >Assignee: Pierre Villard >Priority: Major > Fix For: 1.14.0 > > Time Spent: 0.5h > Remaining Estimate: 0h > > Dear all, > I use the Nifi from the docker container and need to pass the “Broker URI” > value from environment variable. For this purpose, I initialize the docker > container with “MQTT_URL=tcp://localhost:1883” environment variable and > reference it from the process configuration. > However, in this case, I receive “Broker URI is invalid because it is not > valid URI syntax” notification. When I investigated more, I realized that > “Expression language scope: Not Supported” for this property. I will truly > appreciate, if you enable expression language for this property. > (I think, > ".expressionLanguageSupported(ExpressionLanguageScope.VARIABLE_REGISTRY)" > statement need to be added to "PROP_BROKER_URI" property in > org.apache.nifi.processors.mqtt.common.AbstractMQTTProcessor) > > Kind regard, -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (NIFI-8409) ConsumeMQTT Processor Broker URI Expression Language Support
[ https://issues.apache.org/jira/browse/NIFI-8409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321321#comment-17321321 ] ASF subversion and git services commented on NIFI-8409: --- Commit 0f8789b8b07df40336386b2831721f1e0c4a497b in nifi's branch refs/heads/main from Pierre Villard [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=0f8789b ] NIFI-8409 - ConsumeMQTT Processor Broker URI and Username Expression Language This closes #4984 Signed-off-by: David Handermann > ConsumeMQTT Processor Broker URI Expression Language Support > > > Key: NIFI-8409 > URL: https://issues.apache.org/jira/browse/NIFI-8409 > Project: Apache NiFi > Issue Type: Improvement > Components: Extensions >Reporter: YILDIRAY KABAK >Assignee: Pierre Villard >Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > Dear all, > I use the Nifi from the docker container and need to pass the “Broker URI” > value from environment variable. For this purpose, I initialize the docker > container with “MQTT_URL=tcp://localhost:1883” environment variable and > reference it from the process configuration. > However, in this case, I receive “Broker URI is invalid because it is not > valid URI syntax” notification. When I investigated more, I realized that > “Expression language scope: Not Supported” for this property. I will truly > appreciate, if you enable expression language for this property. > (I think, > ".expressionLanguageSupported(ExpressionLanguageScope.VARIABLE_REGISTRY)" > statement need to be added to "PROP_BROKER_URI" property in > org.apache.nifi.processors.mqtt.common.AbstractMQTTProcessor) > > Kind regard, -- This message was sent by Atlassian Jira (v8.3.4#803005)
[GitHub] [nifi] gresockj commented on pull request #4986: NIFI-8403: Generating Self-signed cert on startup when applicable
gresockj commented on pull request #4986: URL: https://github.com/apache/nifi/pull/4986#issuecomment-819835750 I'll be working on resolving the Windows-related test failures soon. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4641: NIFI-6394 - Ability to export contents of a List Queue
github-actions[bot] commented on pull request #4641: URL: https://github.com/apache/nifi/pull/4641#issuecomment-819929640 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4601: NIFI-7917 Upgrade avro to 1.10 in nifi-nar-bundles/nifi-standard-serv…
github-actions[bot] commented on pull request #4601: URL: https://github.com/apache/nifi/pull/4601#issuecomment-819929666 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4646: NIFI-6047 Add DeduplicateRecords (combines 6047 and 6014)
github-actions[bot] commented on pull request #4646: URL: https://github.com/apache/nifi/pull/4646#issuecomment-819929633 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4639: Update PutFile.java: fix path traversal vulnerability
github-actions[bot] commented on pull request #4639: URL: https://github.com/apache/nifi/pull/4639#issuecomment-819929645 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4589: NIFI-7728: FetchS3Object sends a flowfile to failure relationship if the given bucket or object key is empty
github-actions[bot] commented on pull request #4589: URL: https://github.com/apache/nifi/pull/4589#issuecomment-819929676 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4670: NIFI-7673 Standalone diagnosis mode verifies independent node
github-actions[bot] commented on pull request #4670: URL: https://github.com/apache/nifi/pull/4670#issuecomment-819929625 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4676: NIFI-8016: Support dynamic properties set on the DataSource in Hive connection pools
github-actions[bot] commented on pull request #4676: URL: https://github.com/apache/nifi/pull/4676#issuecomment-819929617 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4637: NIFI-5535: NIFI-4713: Change metric tagging in DataDogReportingTask
github-actions[bot] commented on pull request #4637: URL: https://github.com/apache/nifi/pull/4637#issuecomment-819929659 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4681: NIFI-8035: added userGroupsFilterExpression to allow per user LDAP filters and LDAP nested groups
github-actions[bot] commented on pull request #4681: URL: https://github.com/apache/nifi/pull/4681#issuecomment-819929608 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4588: NIFI-7904: Support for validation query timeout in DBCP,Hive and HBas…
github-actions[bot] commented on pull request #4588: URL: https://github.com/apache/nifi/pull/4588#issuecomment-819929690 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4484: NIFI-1207 Create processors to get/put data from XMPP
github-actions[bot] commented on pull request #4484: URL: https://github.com/apache/nifi/pull/4484#issuecomment-819929780 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4499: NIFI-7459 change nifi-stateless to use NarClassLoader
github-actions[bot] commented on pull request #4499: URL: https://github.com/apache/nifi/pull/4499#issuecomment-819929755 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4497: NIFI-7780: Unify passage of disconnectedNodeAcknowledged param
github-actions[bot] commented on pull request #4497: URL: https://github.com/apache/nifi/pull/4497#issuecomment-819929762 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4495: NIFI-7475 JWT processor bundle
github-actions[bot] commented on pull request #4495: URL: https://github.com/apache/nifi/pull/4495#issuecomment-819929771 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4501: NIFI-7775 exclude OCR Parser from ExtractMediaMetadata Processor
github-actions[bot] commented on pull request #4501: URL: https://github.com/apache/nifi/pull/4501#issuecomment-819929749 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4552: NIFI-7845 Better handling on malformed/empty strings
github-actions[bot] commented on pull request #4552: URL: https://github.com/apache/nifi/pull/4552#issuecomment-819929722 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4585: NIFI-7863 - Recursively create directories, in case of a missing parent directory
github-actions[bot] commented on pull request #4585: URL: https://github.com/apache/nifi/pull/4585#issuecomment-819929703 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4575: [NIFI-7882] Handle JsonProperties as avro field default
github-actions[bot] commented on pull request #4575: URL: https://github.com/apache/nifi/pull/4575#issuecomment-819929715 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4515: NIFI-7728: FetchS3Object sends a flowfile to failure relationship if the given bucket or object key is empty
github-actions[bot] commented on pull request #4515: URL: https://github.com/apache/nifi/pull/4515#issuecomment-819929736 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] github-actions[bot] commented on pull request #4479: NIFI-7599 Make noLocal flag on the JMS consumer false
github-actions[bot] commented on pull request #4479: URL: https://github.com/apache/nifi/pull/4479#issuecomment-819929791 We're marking this PR as stale due to lack of updates in the past few months. If after another couple of weeks the stale label has not been removed this PR will be closed. This stale marker and eventual auto close does not indicate a judgement of the PR just lack of reviewer bandwidth and helps us keep the PR queue more manageable. If you would like this PR re-opened you can do so and a committer can remove the stale tag. Or you can open a new PR. Try to help review other PRs to increase PR review bandwidth which in turn helps yours. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] adamfisher commented on pull request #4646: NIFI-6047 Add DeduplicateRecords (combines 6047 and 6014)
adamfisher commented on pull request #4646: URL: https://github.com/apache/nifi/pull/4646#issuecomment-819955632 I would prefer not to see this go away. I put a lot of time into making it generic and robust. Really I just ran into problems near the end when I had to get it merged in properly and Mike is the git ninja. I thought this was almost across the finish line? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] themanifold commented on pull request #4552: NIFI-7845 Better handling on malformed/empty strings
themanifold commented on pull request #4552: URL: https://github.com/apache/nifi/pull/4552#issuecomment-820142372 Please can someone review/merge this? @turcsanyip -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org