[GitHub] [nifi] exceptionfactory commented on a diff in pull request #6193: NIFI-9451 add input character set property for PutEmail and additiona…
exceptionfactory commented on code in PR #6193: URL: https://github.com/apache/nifi/pull/6193#discussion_r942881754 ## nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java: ## @@ -245,6 +245,17 @@ public class PutEmail extends AbstractProcessor { .allowableValues("true", "false") .defaultValue("false") .build(); +public static final PropertyDescriptor INPUT_CHARACTER_SET = new PropertyDescriptor.Builder() +.name("input-character-set") +.displayName("Input Character Set") +.description("Specifies the character set of the FlowFile contents " ++ "for reading input FlowFile contents to generate the message body " ++ "or as an attachment to the message. " ++ "If not set, UTF-8 will be the default value.") +.required(true) +.addValidator(StandardValidators.CHARACTER_SET_VALIDATOR) +.defaultValue(StandardCharsets.UTF_8.name()) Review Comment: This should probably be `StandardCharsets.UTF_8.toString()` instead of `UTF_8.name()`. ## nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutEmail.java: ## @@ -386,17 +398,26 @@ public void onTrigger(final ProcessContext context, final ProcessSession session } this.setMessageHeader("X-Mailer", context.getProperty(HEADER_XMAILER).evaluateAttributeExpressions(flowFile).getValue(), message); message.setSubject(context.getProperty(SUBJECT).evaluateAttributeExpressions(flowFile).getValue()); +message.setSentDate(new Date()); final String messageText = getMessage(flowFile, context, session); - final String contentType = context.getProperty(CONTENT_TYPE).evaluateAttributeExpressions(flowFile).getValue(); -message.setContent(messageText, contentType); -message.setSentDate(new Date()); +final Charset charset = getCharset(context); +final String charsetName = MimeUtility.mimeCharset(charset.name()); +final DataHandler messageDataHandler = new DataHandler( +new ByteArrayDataSource( +Base64.encodeBase64(messageText.getBytes(charset)), +contentType + String.format("; charset=\"%s\"", charsetName) +) +); + +final MimeMultipart multipart = new MimeMultipart(); +final MimeBodyPart mimeText = new PreencodedMimeBodyPart("base64"); +mimeText.setDataHandler(messageDataHandler); +mimeText.setHeader("Content-Transfer-Encoding", "base64"); +multipart.addBodyPart(mimeText); Review Comment: This approach changes the message format to always use multipart formatting, which does not seem the like the ideal solution. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] taz1988 opened a new pull request, #6289: NIFI-10340: fix build error, when use targz profile
taz1988 opened a new pull request, #6289: URL: https://github.com/apache/nifi/pull/6289 # Summary [NIFI-0](https://issues.apache.org/jira/browse/NIFI-0) # Tracking Please complete the following tracking steps prior to pull request creation. ### Issue Tracking - [ ] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue created ### Pull Request Tracking - [ ] Pull Request title starts with Apache NiFi Jira issue number, such as `NIFI-0` - [ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such `NIFI-0` ### Pull Request Formatting - [ ] Pull Request based on current revision of the `main` branch - [ ] Pull Request refers to a feature branch with one commit containing changes # Verification Please indicate the verification steps performed prior to pull request creation. ### Build - [ ] Build completed using `mvn clean install -P contrib-check` - [ ] JDK 8 - [ ] JDK 11 - [ ] JDK 17 ### Licensing - [ ] New dependencies are compatible with the [Apache License 2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License Policy](https://www.apache.org/legal/resolved.html) - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` files ### Documentation - [ ] Documentation formatting appears as expected in rendered 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] exceptionfactory commented on a diff in pull request #6279: NIFI-10230 added FetchSmb
exceptionfactory commented on code in PR #6279: URL: https://github.com/apache/nifi/pull/6279#discussion_r942729637 ## nifi-nar-bundles/nifi-smb-bundle/nifi-smb-processors/src/main/java/org/apache/nifi/processors/smb/FetchSmb.java: ## @@ -0,0 +1,201 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.processors.smb; + +import static java.util.Arrays.asList; +import static org.apache.nifi.processor.util.StandardValidators.NON_EMPTY_EL_VALIDATOR; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import org.apache.nifi.annotation.behavior.InputRequirement; +import org.apache.nifi.annotation.behavior.WritesAttribute; +import org.apache.nifi.annotation.behavior.WritesAttributes; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.SeeAlso; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.components.PropertyDescriptor.Builder; +import org.apache.nifi.expression.ExpressionLanguageScope; +import org.apache.nifi.flowfile.FlowFile; +import org.apache.nifi.processor.AbstractProcessor; +import org.apache.nifi.processor.ProcessContext; +import org.apache.nifi.processor.ProcessSession; +import org.apache.nifi.processor.Relationship; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.schema.access.SchemaNotFoundException; +import org.apache.nifi.serialization.MalformedRecordException; +import org.apache.nifi.serialization.RecordReader; +import org.apache.nifi.serialization.RecordReaderFactory; +import org.apache.nifi.serialization.record.Record; +import org.apache.nifi.services.smb.SmbClientProviderService; +import org.apache.nifi.services.smb.SmbClientService; +import org.apache.nifi.services.smb.SmbException; + +@InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED) +@Tags({"samba, smb, cifs, files", "fetch"}) +@CapabilityDescription("Fetches files from a SMB Share. Designed to be used in tandem with ListSmb.") +@SeeAlso({ListSmb.class, PutSmbFile.class, GetSmbFile.class}) +@WritesAttributes({ +@WritesAttribute(attribute = FetchSmb.ERROR_CODE_ATTRIBUTE, description = "The error code returned by SMB when the fetch of a file fails"), +@WritesAttribute(attribute = FetchSmb.ERROR_MESSAGE_ATTRIBUTE, description = "The error message returned by SMB when the fetch of a file fails") +}) +public class FetchSmb extends AbstractProcessor { + +public static final String ERROR_CODE_ATTRIBUTE = "error.code"; +public static final String ERROR_MESSAGE_ATTRIBUTE = "error.message"; + +public static final PropertyDescriptor FILE_ID = new PropertyDescriptor +.Builder().name("file-id") +.displayName("File ID") +.description("The identifier of the file to fetch.") +.required(true) +.defaultValue("${identifier}") + .expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES) +.addValidator(NON_EMPTY_EL_VALIDATOR) +.build(); + +public static final PropertyDescriptor SMB_CLIENT_PROVIDER_SERVICE = new Builder() +.name("smb-client-provider-service") +.displayName("SMB Client Provider Service") +.description("Specifies the SMB client provider to use for creating SMB connections.") +.required(true) +.identifiesControllerService(SmbClientProviderService.class) +.build(); + +public static final Relationship REL_SUCCESS = +new Relationship.Builder() +.name("success") +.description("A flowfile will be routed here for each successfully fetched File.") +.build(); +public static final Relationship REL_FAILURE = +new Relationship.Builder().name("failure") +.description( +"A flowfile will be routed here for each File for which fetch was attempted
[jira] [Resolved] (NIFI-10334) Upgrade amqp-client to 5.15.0
[ https://issues.apache.org/jira/browse/NIFI-10334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Handermann resolved NIFI-10334. - Fix Version/s: 1.18.0 Assignee: Mike R Resolution: Fixed > Upgrade amqp-client to 5.15.0 > - > > Key: NIFI-10334 > URL: https://issues.apache.org/jira/browse/NIFI-10334 > Project: Apache NiFi > Issue Type: Improvement >Affects Versions: 1.17.0 >Reporter: Mike R >Assignee: Mike R >Priority: Major > Fix For: 1.18.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Upgrade amqp-client to 5.15.0 from 5.8.0 -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (NIFI-10334) Upgrade amqp-client to 5.15.0
[ https://issues.apache.org/jira/browse/NIFI-10334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Handermann updated NIFI-10334: Issue Type: Improvement (was: Bug) > Upgrade amqp-client to 5.15.0 > - > > Key: NIFI-10334 > URL: https://issues.apache.org/jira/browse/NIFI-10334 > Project: Apache NiFi > Issue Type: Improvement >Affects Versions: 1.17.0 >Reporter: Mike R >Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > Upgrade amqp-client to 5.15.0 from 5.8.0 -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (NIFI-10334) Upgrade amqp-client to 5.15.0
[ https://issues.apache.org/jira/browse/NIFI-10334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17578073#comment-17578073 ] ASF subversion and git services commented on NIFI-10334: Commit a3a7b2fcfd15866f0fc12593fdb3f526125c1f52 in nifi's branch refs/heads/main from UcanInfosec [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=a3a7b2fcfd ] NIFI-10334 Upgraded amqp-client from 5.8.0 to 5.15.0 This closes #6280 Signed-off-by: David Handermann > Upgrade amqp-client to 5.15.0 > - > > Key: NIFI-10334 > URL: https://issues.apache.org/jira/browse/NIFI-10334 > Project: Apache NiFi > Issue Type: Bug >Affects Versions: 1.17.0 >Reporter: Mike R >Priority: Major > Time Spent: 20m > Remaining Estimate: 0h > > Upgrade amqp-client to 5.15.0 from 5.8.0 -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] exceptionfactory closed pull request #6280: NIFI-10334 Upgrade AMQP Client
exceptionfactory closed pull request #6280: NIFI-10334 Upgrade AMQP Client URL: https://github.com/apache/nifi/pull/6280 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-10344) Refactor Groovy tests in nifi-standard-processors to Java (and JUnit 5)
Emilio Setiadarma created NIFI-10344: Summary: Refactor Groovy tests in nifi-standard-processors to Java (and JUnit 5) Key: NIFI-10344 URL: https://issues.apache.org/jira/browse/NIFI-10344 Project: Apache NiFi Issue Type: Sub-task Reporter: Emilio Setiadarma Assignee: Emilio Setiadarma Refactoring Groovy tests to Java and to use JUnit 5 in nifi-standard-processors module. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] malthe opened a new pull request, #6288: Add error code to exception message
malthe opened a new pull request, #6288: URL: https://github.com/apache/nifi/pull/6288 Since the error object may not have a description, we should also provide the code. # Summary [NIFI-10343](https://issues.apache.org/jira/browse/NIFI-10343) # Tracking Please complete the following tracking steps prior to pull request creation. ### Issue Tracking - [ ] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue created ### Pull Request Tracking - [ ] Pull Request title starts with Apache NiFi Jira issue number, such as `NIFI-0` - [ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such `NIFI-0` ### Pull Request Formatting - [ ] Pull Request based on current revision of the `main` branch - [ ] Pull Request refers to a feature branch with one commit containing changes # Verification Please indicate the verification steps performed prior to pull request creation. ### Build - [ ] Build completed using `mvn clean install -P contrib-check` - [ ] JDK 8 - [ ] JDK 11 - [ ] JDK 17 ### Licensing - [ ] New dependencies are compatible with the [Apache License 2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License Policy](https://www.apache.org/legal/resolved.html) - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` files ### Documentation - [ ] Documentation formatting appears as expected in rendered 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] fgerlits commented on a diff in pull request #1360: MINIFICPP-1853 Enable multiple metrics from the same processor type
fgerlits commented on code in PR #1360: URL: https://github.com/apache/nifi-minifi-cpp/pull/1360#discussion_r942658742 ## libminifi/src/core/state/nodes/ResponseNodeLoader.cpp: ## @@ -153,32 +153,34 @@ void ResponseNodeLoader::initializeFlowMonitor(const std::shared_ptr ResponseNodeLoader::loadResponseNode(const std::string& clazz, core::ProcessGroup* root) { - auto response_node = getResponseNode(clazz); - if (!response_node) { +std::vector> ResponseNodeLoader::loadResponseNodes(const std::string& clazz, core::ProcessGroup* root) { + auto response_nodes = getResponseNodes(clazz); + if (response_nodes.empty()) { logger_->log_error("No metric defined for %s", clazz); -return nullptr; +return {}; } - initializeRepositoryMetrics(response_node); - initializeQueueMetrics(response_node, root); - initializeAgentIdentifier(response_node); - initializeAgentMonitor(response_node); - initializeAgentNode(response_node); - initializeConfigurationChecksums(response_node); - initializeFlowMonitor(response_node, root); - return response_node; + for (const auto& response_node : response_nodes) { +initializeRepositoryMetrics(response_node); +initializeQueueMetrics(response_node, root); +initializeAgentIdentifier(response_node); +initializeAgentMonitor(response_node); +initializeAgentNode(response_node); +initializeConfigurationChecksums(response_node); +initializeFlowMonitor(response_node, root); + } + return response_nodes; } -std::shared_ptr ResponseNodeLoader::getComponentMetricsNode(const std::string& metrics_class) const { +std::vector> ResponseNodeLoader::getComponentMetricsNodes(const std::string& metrics_class) const { if (!metrics_class.empty()) { std::lock_guard lock(component_metrics_mutex_); -const auto citer = component_metrics_.find(metrics_class); -if (citer != component_metrics_.end()) { - return citer->second; +auto it = component_metrics_.find(metrics_class); Review Comment: very minor, but why did this change from const to non-const? ## C2.md: ## @@ -126,85 +128,87 @@ The options below metrics define the sub-trees within metrics: typedmetrics and The classes sub option will define the metrics classes that are placed within this sub-tree. For the RESTProtocol, the above configuration produces the following JSON: - "metrics": { -"RuntimeMetrics": { -"deviceInfo": { -"systemInfo": { -"cpuUtilization": -1, -"machinearch": "x86_64", -"memoryUsage": 13103550464, -"operatingSystem": "Linux", -"physicalMem": 67024097280, -"vCores": 12 -}, -"networkInfo": { -"hostname": "ggyimesi-5540-ubuntu", -"ipAddress": "192.168.50.181" -}, -"identifier": "13396751919892753964" -}, -"flowInfo": { -"versionedFlowSnapshotURI": { -"bucketId": "default", -"flowId": "8db40550-db5d-11ec-95d7-0433c2c9832b" -}, -"queues": { -"2438e3c8-015a-1000-79ca-83af40ec1997": { -"dataSize": 0, -"dataSizeMax": 1048576, -"name": "GetFile/success/LogAttribute", -"size": 0, -"sizeMax": 0, -"uuid": "2438e3c8-015a-1000-79ca-83af40ec1997" -} -}, -"components": { -"FlowController": { -"running": true, -"uuid": "2438e3c8-015a-1000-79ca-83af40ec1990" -}, -"GetFile": { -"running": false, -"uuid": "2438e3c8-015a-1000-79ca-83af40ec1991" -}, -"LogAttribute": { -"running": true, -"uuid": "2438e3c8-015a-1000-79ca-83af40ec1992" -} -}, -"flowId": "8db40550-db5d-11ec-95d7-0433c2c9832b" -} -}, -"LoadMetrics": { -"QueueMetrics": { -"GetFile/success/LogAttribute": { -"datasize": "0", -"datasizemax": "1048576", -"queued": "0", -"queuedmax": "0" -} -}, -"RepositoryMetrics": { -"ff": { -"full": false, -"running": false, -"size": "0" -}, -"repo_name": { -"full": false, -"running": true, -"size": "0" -} -} -}, -"ProcessorMetrics": { -"GetFileMetrics": { -"AcceptedFiles": 0, -"InputBytes": 0, -"OnTriggerInvocations": 0 -} +"metrics": { + "RuntimeMetrics": { + "deviceInfo": { +
[jira] [Created] (NIFI-10343) OIDC identity provider may provide "null" as error message
Malthe Borch created NIFI-10343: --- Summary: OIDC identity provider may provide "null" as error message Key: NIFI-10343 URL: https://issues.apache.org/jira/browse/NIFI-10343 Project: Apache NiFi Issue Type: Bug Reporter: Malthe Borch We've observed an error message "An error occurred while invoking the Token endpoint: null" which seems to stem from the code pulling the error description which may be null. Instead, it should provide both the description and the code – and possibly the HTTP status code as well. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] malthe closed pull request #6287: Add error code to exception message
malthe closed pull request #6287: Add error code to exception message URL: https://github.com/apache/nifi/pull/6287 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (NIFI-10339) Fix typo in QuerySalesforceObject
[ https://issues.apache.org/jira/browse/NIFI-10339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17578041#comment-17578041 ] ASF subversion and git services commented on NIFI-10339: Commit e7dc14a4e09fc21efc25cf5daad1e07950ee64a0 in nifi's branch refs/heads/main from Pierre Villard [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=e7dc14a4e0 ] NIFI-10339 - Fix typo in QuerySalesforceObject This closes #6286 Signed-off-by: David Handermann > Fix typo in QuerySalesforceObject > - > > Key: NIFI-10339 > URL: https://issues.apache.org/jira/browse/NIFI-10339 > Project: Apache NiFi > Issue Type: Task >Reporter: Pierre Villard >Assignee: Pierre Villard >Priority: Trivial > Time Spent: 20m > Remaining Estimate: 0h > > Small typo in QuerySalesforceObject in the description of the URL property. > fitering instead of filtering. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (NIFI-10339) Fix typo in QuerySalesforceObject
[ https://issues.apache.org/jira/browse/NIFI-10339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David Handermann updated NIFI-10339: Fix Version/s: 1.18.0 Resolution: Fixed Status: Resolved (was: Patch Available) > Fix typo in QuerySalesforceObject > - > > Key: NIFI-10339 > URL: https://issues.apache.org/jira/browse/NIFI-10339 > Project: Apache NiFi > Issue Type: Task >Reporter: Pierre Villard >Assignee: Pierre Villard >Priority: Trivial > Fix For: 1.18.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Small typo in QuerySalesforceObject in the description of the URL property. > fitering instead of filtering. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] exceptionfactory closed pull request #6286: NIFI-10339 - Fix typo in QuerySalesforceObject
exceptionfactory closed pull request #6286: NIFI-10339 - Fix typo in QuerySalesforceObject URL: https://github.com/apache/nifi/pull/6286 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] exceptionfactory commented on pull request #6268: NIFI-10244 Add nifi-web-client-api and implementation
exceptionfactory commented on PR #6268: URL: https://github.com/apache/nifi/pull/6268#issuecomment-1210870800 Thanks for the thorough testing and feedback @Lehel44! -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] exceptionfactory commented on a diff in pull request #6268: NIFI-10244 Add nifi-web-client-api and implementation
exceptionfactory commented on code in PR #6268: URL: https://github.com/apache/nifi/pull/6268#discussion_r942595575 ## nifi-commons/nifi-web-client-api/src/main/java/org/apache/nifi/web/client/api/HttpRequestBodySpec.java: ## @@ -0,0 +1,34 @@ +/* + * 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.web.client.api; + +import java.io.InputStream; +import java.util.OptionalLong; + +/** + * HTTP Request Body Specification builder + */ +public interface HttpRequestBodySpec extends HttpRequestHeadersSpec { +/** + * Set Request Body as stream + * + * @param inputStream Request Body stream is required + * @param contentLength Content Length or empty when not known + * @return HTTP Request Headers Specification builder + */ +HttpRequestHeadersSpec body(InputStream inputStream, OptionalLong contentLength); Review Comment: Thanks for the suggestion. For the moment, it seems better to avoid the convenience method since the request body size should be available in many cases. Although the request content length header is not necessarily required, it is useful when known, so having the single method provides a prompt to consider whether it is available. I am open to revisiting this and other features as it moves and forward and gets integrated. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] fgerlits commented on a diff in pull request #1384: MINIFICPP-1885 Make non-core features disabled by default in the Windows installer
fgerlits commented on code in PR #1384: URL: https://github.com/apache/nifi-minifi-cpp/pull/1384#discussion_r942595395 ## win_build_vs.bat: ## @@ -66,6 +81,21 @@ for %%x in (%*) do ( if [%%~x] EQU [/N] set build_nanofi=ON if [%%~x] EQU [/O] set build_opencv=ON if [%%~x] EQU [/PR] set build_prometheus=ON +if [%%~x] EQU [/BUSTACHE]set enable_bustache=ON +if [%%~x] EQU [/COAP]set enable_coap=ON +if [%%~x] EQU [/ENCRYPT_CONFIG] set enable_encrypt_config=ON +if [%%~x] EQU [/GPS] set enable_gps=ON +if [%%~x] EQU [/LUA_SCRIPTING]set enable_lua_scripting=ON +if [%%~x] EQU [/MQTT]set enable_mqtt=ON +if [%%~x] EQU [/OPC] set enable_opc=ON +if [%%~x] EQU [/OPENWSMAN] set enable_openwsman=ON +if [%%~x] EQU [/OPS] set enable_ops=ON +if [%%~x] EQU [/PCAP]set enable_pcap=ON +if [%%~x] EQU [/PYTHON] set enable_python=ON Review Comment: good point, I've removed it in 5f4f51ae70eb6e6ff6b0f23e900fe192a5e7b5d3 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] Lehel44 commented on pull request #6268: NIFI-10244 Add nifi-web-client-api and implementation
Lehel44 commented on PR #6268: URL: https://github.com/apache/nifi/pull/6268#issuecomment-1210850600 Thanks for the contribution @exceptionfactory. I went through the code and overall I like the clean design and the functionality. A few small comments: - I tested the UriBuilder, it's easy to use and functionally works well. - I prefer the builder pattern instead of the fixed interface order, but since http requests consist of 3 fixed parts and this will not be extended, and since it would require changing the whole design and is a matter of taste anyway, it's still perfectly usable. - I tried out the WebClientService. I created a custom processor that sends different HTTP requests to a HandleHttpRequest -> HandleHttpResponse NiFi flow. I have tested the service using TLS and a proxy server. The settings from the specified proxy service and SSLContextService are appropriately read by the processor. LGTM+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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-10342) SplitText 'Line Split Count' should support expression language
Joe Witt created NIFI-10342: --- Summary: SplitText 'Line Split Count' should support expression language Key: NIFI-10342 URL: https://issues.apache.org/jira/browse/NIFI-10342 Project: Apache NiFi Issue Type: Improvement Reporter: Joe Witt The SplitText processor 'Line Split Count' property (and possibly others) should allow for expression language. Since each flowfile is split on its own this should be reasonably simple to implement provided the expression language result is numeric/positive. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] Lehel44 commented on a diff in pull request #6268: NIFI-10244 Add nifi-web-client-api and implementation
Lehel44 commented on code in PR #6268: URL: https://github.com/apache/nifi/pull/6268#discussion_r942571024 ## nifi-commons/nifi-web-client-api/src/main/java/org/apache/nifi/web/client/api/HttpRequestBodySpec.java: ## @@ -0,0 +1,34 @@ +/* + * 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.web.client.api; + +import java.io.InputStream; +import java.util.OptionalLong; + +/** + * HTTP Request Body Specification builder + */ +public interface HttpRequestBodySpec extends HttpRequestHeadersSpec { +/** + * Set Request Body as stream + * + * @param inputStream Request Body stream is required + * @param contentLength Content Length or empty when not known + * @return HTTP Request Headers Specification builder + */ +HttpRequestHeadersSpec body(InputStream inputStream, OptionalLong contentLength); Review Comment: What do you think of overloading this method with different parameters? In order to avoid typing OptionalLong.empty most of the time. - HttpRequestHeadersSpec body(InputStream inputStream) and - HttpRequestHeadersSpec body(InputStream inputStream, Long contentLength); -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] exceptionfactory commented on pull request #6287: Add error code to exception message
exceptionfactory commented on PR #6287: URL: https://github.com/apache/nifi/pull/6287#issuecomment-1210805525 This for submitting this pull request @malthe! This looks like a helpful improvement, but the pull request needs several adjustments before it can be reviewed: 1. The pull request must be submitted against the `main` branch, not the `master` branch 2. The pull request must have an associated Apache NiFi Jira issue number for tracking, with a brief description of the reason for the change 3. The pull request should be rebased against the latest version of the `main` branch The Pull Request template provides a checklist of steps to confirm that these steps have been followed. If you could submit a new pull request following the template checklist, that would be helpful. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] ferencerdei commented on pull request #6268: NIFI-10244 Add nifi-web-client-api and implementation
ferencerdei commented on PR #6268: URL: https://github.com/apache/nifi/pull/6268#issuecomment-1210795455 > Thanks for the feedback @ferencerdei! I pushed an update to address the comments. Thanks for the answers and the fixes! -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] exceptionfactory commented on pull request #6268: NIFI-10244 Add nifi-web-client-api and implementation
exceptionfactory commented on PR #6268: URL: https://github.com/apache/nifi/pull/6268#issuecomment-1210790313 Thanks for the feedback @ferencerdei! I pushed an update to address the comments. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (NIFI-10341) Implement AzureGraphUserGroupProvider for Nifi Reigstry
[ https://issues.apache.org/jira/browse/NIFI-10341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin updated NIFI-10341: -- Description: For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] It is possible to add Azure SSO to NiFi Registry using the OIDC properties in nifi-registry.properties, but it is not possible to add AzureGraphUserGroupProvider for authorization. _Duplicate from old NiFi Registry Jira project_ _https://issues.apache.org/jira/browse/NIFIREG-458_ was: For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] For NiFi Registry this method is not implemented. _Copied from old registry Jira project_ _https://issues.apache.org/jira/browse/NIFIREG-458_ > Implement AzureGraphUserGroupProvider for Nifi Reigstry > --- > > Key: NIFI-10341 > URL: https://issues.apache.org/jira/browse/NIFI-10341 > Project: Apache NiFi > Issue Type: Task > Components: NiFi Registry >Reporter: Martin >Priority: Major > > For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider > for Authorization. See here: > [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] > It is possible to add Azure SSO to NiFi Registry using the OIDC properties in > nifi-registry.properties, but it is not possible to add > AzureGraphUserGroupProvider for authorization. > > _Duplicate from old NiFi Registry Jira project_ > _https://issues.apache.org/jira/browse/NIFIREG-458_ -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (NIFI-10341) Implement AzureGraphUserGroupProvider for Nifi Reigstry
[ https://issues.apache.org/jira/browse/NIFI-10341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin updated NIFI-10341: -- Description: For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] While it is possible to add Azure SSO to NiFi Registry using the OIDC properties in nifi-registry.properties, it is not possible to add AzureGraphUserGroupProvider for authorization. _Duplicate from old NiFi Registry Jira project_ _https://issues.apache.org/jira/browse/NIFIREG-458_ was: For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] It is possible to add Azure SSO to NiFi Registry using the OIDC properties in nifi-registry.properties, but it is not possible to add AzureGraphUserGroupProvider for authorization. _Duplicate from old NiFi Registry Jira project_ _https://issues.apache.org/jira/browse/NIFIREG-458_ > Implement AzureGraphUserGroupProvider for Nifi Reigstry > --- > > Key: NIFI-10341 > URL: https://issues.apache.org/jira/browse/NIFI-10341 > Project: Apache NiFi > Issue Type: Task > Components: NiFi Registry >Reporter: Martin >Priority: Major > > For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider > for Authorization. See here: > [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] > While it is possible to add Azure SSO to NiFi Registry using the OIDC > properties in nifi-registry.properties, it is not possible to add > AzureGraphUserGroupProvider for authorization. > > _Duplicate from old NiFi Registry Jira project_ > _https://issues.apache.org/jira/browse/NIFIREG-458_ -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (NIFI-10341) Implement AzureGraphUserGroupProvider for Nifi Reigstry
[ https://issues.apache.org/jira/browse/NIFI-10341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin updated NIFI-10341: -- Description: For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] For NiFi Registry this method is not implemented. _Copied from old registry Jira project_ _https://issues.apache.org/jira/browse/NIFIREG-458_ was: For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] For Apache Nifi Registry this method is either not documented or not implemented. _Copied from old registry Jira project_ _https://issues.apache.org/jira/browse/NIFIREG-458_ > Implement AzureGraphUserGroupProvider for Nifi Reigstry > --- > > Key: NIFI-10341 > URL: https://issues.apache.org/jira/browse/NIFI-10341 > Project: Apache NiFi > Issue Type: Task > Components: NiFi Registry >Reporter: Martin >Priority: Major > > For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider > for Authorization. See here: > [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] > For NiFi Registry this method is not implemented. > > _Copied from old registry Jira project_ > _https://issues.apache.org/jira/browse/NIFIREG-458_ -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (NIFI-10341) Implement AzureGraphUserGroupProvider for Nifi Reigstry
[ https://issues.apache.org/jira/browse/NIFI-10341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin updated NIFI-10341: -- Description: For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] For Apache Nifi Registry this method is either not documented or not implemented. _Copied from old registry Jira project_ _https://issues.apache.org/jira/browse/NIFIREG-458_ was: For Apache Nifi there is an implementation to use Azure AD (as openID provider (OIDC)) as userGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] For Apache Nifi Registry this method is either not documented or not implemented. _Copied from old registry Jira project_ _https://issues.apache.org/jira/browse/NIFIREG-458_ > Implement AzureGraphUserGroupProvider for Nifi Reigstry > --- > > Key: NIFI-10341 > URL: https://issues.apache.org/jira/browse/NIFI-10341 > Project: Apache NiFi > Issue Type: Task > Components: NiFi Registry >Reporter: Martin >Priority: Major > > For Apache NiFi there is an implementation to use AzureGraphUserGroupProvider > for Authorization. See here: > [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] > For Apache Nifi Registry this method is either not documented or not > implemented. > > _Copied from old registry Jira project_ > _https://issues.apache.org/jira/browse/NIFIREG-458_ -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (MINIFICPP-1902) Explore options to stabilize the python dependency of the scripting extension
[ https://issues.apache.org/jira/browse/MINIFICPP-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marton Szasz updated MINIFICPP-1902: Description: libpython changes its SONAME every minor version, making it impossible to distribute binaries that work across multiple python versions. The script extension depends on libpython through pybind11. Python itself provides a stable API since 3.2, which is fairly old at this point: [https://docs.python.org/3/c-api/stable.html#c-api-stability] Pybind11 and boost.python are both using API functions that are not part of the stable API: [https://github.com/pybind/pybind11/issues/1755] There seems to be some activity on swig to support this stable API: [https://github.com/swig/swig/pull/2190] TODO: explore options, so that binary distributions of the scripting extension are possible https://cmake.org/cmake/help/latest/module/FindPython.html#module:FindPython was: libpython changes its SONAME every minor version, making it impossible to distribute binaries that work across multiple python versions. The script extension depends on libpython through pybind11. Python itself provides a stable API since 3.2, which is fairly old at this point: [https://docs.python.org/3/c-api/stable.html#c-api-stability] Pybind11 and boost.python are both using API functions that are not part of the stable API: [https://github.com/pybind/pybind11/issues/1755] There seems to be some activity on swig to support this stable API: [https://github.com/swig/swig/pull/2190] TODO: explore options, so that binary distributions of the scripting extension are possible > Explore options to stabilize the python dependency of the scripting extension > - > > Key: MINIFICPP-1902 > URL: https://issues.apache.org/jira/browse/MINIFICPP-1902 > Project: Apache NiFi MiNiFi C++ > Issue Type: Task >Reporter: Marton Szasz >Assignee: Marton Szasz >Priority: Major > > libpython changes its SONAME every minor version, making it impossible to > distribute binaries that work across multiple python versions. The script > extension depends on libpython through pybind11. > > Python itself provides a stable API since 3.2, which is fairly old at this > point: [https://docs.python.org/3/c-api/stable.html#c-api-stability] > > Pybind11 and boost.python are both using API functions that are not part of > the stable API: [https://github.com/pybind/pybind11/issues/1755] > > There seems to be some activity on swig to support this stable API: > [https://github.com/swig/swig/pull/2190] > > TODO: explore options, so that binary distributions of the scripting > extension are possible > > https://cmake.org/cmake/help/latest/module/FindPython.html#module:FindPython -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (NIFI-10341) Implement AzureGraphUserGroupProvider for Nifi Reigstry
[ https://issues.apache.org/jira/browse/NIFI-10341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin updated NIFI-10341: -- Description: For Apache Nifi there is an implementation to use Azure AD (as openID provider (OIDC)) as userGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] For Apache Nifi Registry this method is either not documented or not implemented. _Copied from old registry Jira project_ _https://issues.apache.org/jira/browse/NIFIREG-458_ was: For Apache Nifi there is an implementation to use Azure AD (as openID provider (OIDC)) as userGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] For Apache Nifi Registry this method is either not documented or not implemented. _Copied from old registry Jira project https://issues.apache.org/jira/browse/NIFIREG-458_ > Implement AzureGraphUserGroupProvider for Nifi Reigstry > --- > > Key: NIFI-10341 > URL: https://issues.apache.org/jira/browse/NIFI-10341 > Project: Apache NiFi > Issue Type: Task > Components: NiFi Registry >Reporter: Martin >Priority: Major > > For Apache Nifi there is an implementation to use Azure AD (as openID > provider (OIDC)) as userGroupProvider for Authorization. See here: > [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] > For Apache Nifi Registry this method is either not documented or not > implemented. > > _Copied from old registry Jira project_ > _https://issues.apache.org/jira/browse/NIFIREG-458_ -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (NIFIREG-458) Azure AD (OIDC) as userGroupProvider like Apache Nifi for Authorization
[ https://issues.apache.org/jira/browse/NIFIREG-458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17578002#comment-17578002 ] Martin commented on NIFIREG-458: The NiFi Registry Jira project seems to be moved in to the NiFi project, and I can't find a similar task in the NiFi Jira project. Therefore I created a new task here: https://issues.apache.org/jira/browse/NIFI-10341 (copied from this task) > Azure AD (OIDC) as userGroupProvider like Apache Nifi for Authorization > --- > > Key: NIFIREG-458 > URL: https://issues.apache.org/jira/browse/NIFIREG-458 > Project: NiFi Registry - MOVED TO NIFI PROJECT > Issue Type: Improvement >Reporter: Oliver >Priority: Major > > For Apache Nifi there is an implementation to use Azure AD (as openID > provider (OIDC)) as userGroupProvider for Authorization. See here: > [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] > For Apache Nifi Registry this method is either not documented or not > implemented. > Today it is (to my knowledge) not possible to use a respective configured > Nifi together with Nifi Registry. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (NIFI-10341) Implement AzureGraphUserGroupProvider for Nifi Reigstry
Martin created NIFI-10341: - Summary: Implement AzureGraphUserGroupProvider for Nifi Reigstry Key: NIFI-10341 URL: https://issues.apache.org/jira/browse/NIFI-10341 Project: Apache NiFi Issue Type: Task Components: NiFi Registry Reporter: Martin For Apache Nifi there is an implementation to use Azure AD (as openID provider (OIDC)) as userGroupProvider for Authorization. See here: [https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#azuregraphusergroupprovider] For Apache Nifi Registry this method is either not documented or not implemented. _Copied from old registry Jira project https://issues.apache.org/jira/browse/NIFIREG-458_ -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] malthe opened a new pull request, #6287: Add error code to exception message
malthe opened a new pull request, #6287: URL: https://github.com/apache/nifi/pull/6287 The error object may not have a description, but should have a code. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] lordgamez commented on a diff in pull request #1374: MINIFICPP-1888 Move all extension builds to CentOS job
lordgamez commented on code in PR #1374: URL: https://github.com/apache/nifi-minifi-cpp/pull/1374#discussion_r942491369 ## .github/workflows/ci.yml: ## @@ -201,11 +199,19 @@ jobs: sudo apt install -y ccache echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV - id: build -run: mkdir build && cd build && cmake -DSTRICT_GSL_CHECKS=AUDIT -DENABLE_KUBERNETES=ON .. && make centos +run: | + if [ -d ~/.ccache ]; then mv ~/.ccache .; fi + mkdir build && cd build && cmake -DUSE_SHARED_LIBS=ON -DCI_BUILD=ON -DSTRICT_GSL_CHECKS=AUDIT -DFAIL_ON_WARNINGS=ON -DENABLE_AWS=ON -DENABLE_AZURE=ON -DENABLE_COAP=ON \ + -DENABLE_ENCRYPT_CONFIG=ON -DENABLE_GPS=ON -DENABLE_JNI=ON -DENABLE_LIBRDKAFKA=ON -DENABLE_LINTER=ON -DENABLE_MQTT=ON -DENABLE_NANOFI=ON -DENABLE_OPC=ON -DENABLE_OPENCV=ON \ + -DENABLE_OPENWSMAN=ON -DENABLE_OPS=ON -DENABLE_PYTHON=ON -DENABLE_SENSORS=ON -DENABLE_SFTP=ON -DENABLE_SQL=ON -DENABLE_SYSTEMD=ON -DENABLE_TENSORFLOW=OFF \ + -DENABLE_USB_CAMERA=ON -DENABLE_SCRIPTING=ON -DENABLE_LUA_SCRIPTING=ON -DENABLE_KUBERNETES=ON -DENABLE_GCP=ON -DENABLE_PROCFS=ON -DENABLE_PROMETHEUS=ON -DENABLE_ELASTICSEARCH=ON \ + -DDOCKER_SKIP_TESTS=OFF -DDOCKER_BUILD_ONLY=ON -DDOCKER_CCACHE_DUMP_LOCATION=$HOME/.ccache .. && make centos + - id: test +run: docker run --rm apacheminificpp:$(docker images | grep apacheminificpp | grep centos | awk '{print $2}') bash -c 'cd /opt/minifi/build && make test ARGS="--timeout 300 -j8 --output-on-failure"' docker_integration_tests: name: "Docker integration tests" runs-on: ubuntu-20.04 -timeout-minutes: 120 +timeout-minutes: 180 Review Comment: Updated in 87fd6d00ed72d55b17f0d682da239187ce415250 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] szaszm commented on a diff in pull request #1384: MINIFICPP-1885 Make non-core features disabled by default in the Windows installer
szaszm commented on code in PR #1384: URL: https://github.com/apache/nifi-minifi-cpp/pull/1384#discussion_r942470335 ## win_build_vs.bat: ## @@ -66,6 +81,21 @@ for %%x in (%*) do ( if [%%~x] EQU [/N] set build_nanofi=ON if [%%~x] EQU [/O] set build_opencv=ON if [%%~x] EQU [/PR] set build_prometheus=ON +if [%%~x] EQU [/BUSTACHE]set enable_bustache=ON +if [%%~x] EQU [/COAP]set enable_coap=ON +if [%%~x] EQU [/ENCRYPT_CONFIG] set enable_encrypt_config=ON +if [%%~x] EQU [/GPS] set enable_gps=ON +if [%%~x] EQU [/LUA_SCRIPTING]set enable_lua_scripting=ON +if [%%~x] EQU [/MQTT]set enable_mqtt=ON +if [%%~x] EQU [/OPC] set enable_opc=ON +if [%%~x] EQU [/OPENWSMAN] set enable_openwsman=ON +if [%%~x] EQU [/OPS] set enable_ops=ON +if [%%~x] EQU [/PCAP]set enable_pcap=ON +if [%%~x] EQU [/PYTHON] set enable_python=ON Review Comment: I would prefer to exclude python from here. Our entire ENABLE_PYTHON is confusing, since it only seems to enable some nanofi python support, and it depends on nanofi, but when I looked into the code, it didn't seem to do really anything. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Commented] (NIFI-8648) Add session affinity info to proxy config section of admin guide
[ https://issues.apache.org/jira/browse/NIFI-8648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17577993#comment-17577993 ] ASF subversion and git services commented on NIFI-8648: --- Commit 1e74d6efee7ee1d461b3cec8e25961b02e88d0b1 in nifi's branch refs/heads/main from David Handermann [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=1e74d6efee ] NIFI-8648 Added Session Affinity section to Admin Guide Signed-off-by: Pierre Villard This closes #6283. > Add session affinity info to proxy config section of admin guide > > > Key: NIFI-8648 > URL: https://issues.apache.org/jira/browse/NIFI-8648 > Project: Apache NiFi > Issue Type: Improvement > Components: Documentation Website >Reporter: Joey Frazee >Assignee: David Handermann >Priority: Minor > Time Spent: 20m > Remaining Estimate: 0h > > When using proxies or load balancers with a cluster the user should use > affinity or stickiness to assure that user sessions are consistent. This > should be noted in the admin guide. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (NIFI-8648) Add session affinity info to proxy config section of admin guide
[ https://issues.apache.org/jira/browse/NIFI-8648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pierre Villard updated NIFI-8648: - Fix Version/s: 1.18.0 Resolution: Fixed Status: Resolved (was: Patch Available) > Add session affinity info to proxy config section of admin guide > > > Key: NIFI-8648 > URL: https://issues.apache.org/jira/browse/NIFI-8648 > Project: Apache NiFi > Issue Type: Improvement > Components: Documentation Website >Reporter: Joey Frazee >Assignee: David Handermann >Priority: Minor > Fix For: 1.18.0 > > Time Spent: 0.5h > Remaining Estimate: 0h > > When using proxies or load balancers with a cluster the user should use > affinity or stickiness to assure that user sessions are consistent. This > should be noted in the admin guide. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] asfgit closed pull request #6283: NIFI-8648 Add Session Affinity section to Admin Guide
asfgit closed pull request #6283: NIFI-8648 Add Session Affinity section to Admin Guide URL: https://github.com/apache/nifi/pull/6283 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-10340) Build error happen with targz profile
Zoltán Kornél Török created NIFI-10340: -- Summary: Build error happen with targz profile Key: NIFI-10340 URL: https://issues.apache.org/jira/browse/NIFI-10340 Project: Apache NiFi Issue Type: Bug Affects Versions: 1.17.0 Reporter: Zoltán Kornél Török Assignee: Zoltán Kornél Török If you build nifi with the following command: {code} mvn -P targz clean install -DskipTests {code} It will throw the following error: {code} [ERROR] Failed to execute goal on project nifi-registry-assembly: Could not resolve dependencies for project org.apache.nifi.registry:nifi-registry-assembly:pom:1.18.0-SNAPSHOT: Could not find artifact org.apache.nifi.registry:nifi-registry-aws-assembly:zip:bin:1.18.0-SNAPSHOT in apache.snapshots (https://repository.apache.org/snapshots) -> [Help 1] [ERROR] {code} The code need a little adjustment in nifi-registry-assembly to work properly. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] pvillard31 opened a new pull request, #6286: NIFI-10339 - Fix typo in QuerySalesforceObject
pvillard31 opened a new pull request, #6286: URL: https://github.com/apache/nifi/pull/6286 # Summary [NIFI-10339](https://issues.apache.org/jira/browse/NIFI-10339) # Tracking Please complete the following tracking steps prior to pull request creation. ### Issue Tracking - [ ] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue created ### Pull Request Tracking - [ ] Pull Request title starts with Apache NiFi Jira issue number, such as `NIFI-0` - [ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such `NIFI-0` ### Pull Request Formatting - [ ] Pull Request based on current revision of the `main` branch - [ ] Pull Request refers to a feature branch with one commit containing changes # Verification Please indicate the verification steps performed prior to pull request creation. ### Build - [ ] Build completed using `mvn clean install -P contrib-check` - [ ] JDK 8 - [ ] JDK 11 - [ ] JDK 17 ### Licensing - [ ] New dependencies are compatible with the [Apache License 2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License Policy](https://www.apache.org/legal/resolved.html) - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` files ### Documentation - [ ] Documentation formatting appears as expected in rendered 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (NIFI-10339) Fix typo in QuerySalesforceObject
[ https://issues.apache.org/jira/browse/NIFI-10339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pierre Villard updated NIFI-10339: -- Status: Patch Available (was: Open) > Fix typo in QuerySalesforceObject > - > > Key: NIFI-10339 > URL: https://issues.apache.org/jira/browse/NIFI-10339 > Project: Apache NiFi > Issue Type: Task >Reporter: Pierre Villard >Assignee: Pierre Villard >Priority: Trivial > > Small typo in QuerySalesforceObject in the description of the URL property. > fitering instead of filtering. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (NIFI-10339) Fix typo in QuerySalesforceObject
Pierre Villard created NIFI-10339: - Summary: Fix typo in QuerySalesforceObject Key: NIFI-10339 URL: https://issues.apache.org/jira/browse/NIFI-10339 Project: Apache NiFi Issue Type: Task Reporter: Pierre Villard Assignee: Pierre Villard Small typo in QuerySalesforceObject in the description of the URL property. fitering instead of filtering. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (NIFI-10336) Intermittent Failures in TestMonitorActivity on Windows
[ https://issues.apache.org/jira/browse/NIFI-10336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pierre Villard updated NIFI-10336: -- Fix Version/s: 1.18.0 Resolution: Fixed Status: Resolved (was: Patch Available) > Intermittent Failures in TestMonitorActivity on Windows > --- > > Key: NIFI-10336 > URL: https://issues.apache.org/jira/browse/NIFI-10336 > Project: Apache NiFi > Issue Type: Bug > Components: Tools and Build >Reporter: David Handermann >Assignee: David Handermann >Priority: Major > Fix For: 1.18.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Recent automated builds on Windows have failed in TestMonitoryActivity with > the following error: > {noformat} > Error: > org.apache.nifi.processors.standard.TestMonitorActivity.testFirstMessageWithInherit > Time elapsed: 0.015 s <<< FAILURE! > org.opentest4j.AssertionFailedError: expected: not equal but was: > <1660078247969> > at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:39) > at > org.junit.jupiter.api.AssertNotEquals.failEqual(AssertNotEquals.java:276) > at > org.junit.jupiter.api.AssertNotEquals.assertNotEquals(AssertNotEquals.java:121) > at > org.junit.jupiter.api.AssertNotEquals.assertNotEquals(AssertNotEquals.java:113) > at > org.junit.jupiter.api.Assertions.assertNotEquals(Assertions.java:2117) > at > org.apache.nifi.processors.standard.TestMonitorActivity.testFirstMessageWithInherit(TestMonitorActivity.java:290) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (NIFI-10336) Intermittent Failures in TestMonitorActivity on Windows
[ https://issues.apache.org/jira/browse/NIFI-10336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17577990#comment-17577990 ] ASF subversion and git services commented on NIFI-10336: Commit 8605d0a29f0edc73c9f720965f9849ce831b0454 in nifi's branch refs/heads/main from David Handermann [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=8605d0a29f ] NIFI-10336 Removed unnecessary lineage check from TestMonitorActivity Signed-off-by: Pierre Villard This closes #6285. > Intermittent Failures in TestMonitorActivity on Windows > --- > > Key: NIFI-10336 > URL: https://issues.apache.org/jira/browse/NIFI-10336 > Project: Apache NiFi > Issue Type: Bug > Components: Tools and Build >Reporter: David Handermann >Assignee: David Handermann >Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > Recent automated builds on Windows have failed in TestMonitoryActivity with > the following error: > {noformat} > Error: > org.apache.nifi.processors.standard.TestMonitorActivity.testFirstMessageWithInherit > Time elapsed: 0.015 s <<< FAILURE! > org.opentest4j.AssertionFailedError: expected: not equal but was: > <1660078247969> > at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:39) > at > org.junit.jupiter.api.AssertNotEquals.failEqual(AssertNotEquals.java:276) > at > org.junit.jupiter.api.AssertNotEquals.assertNotEquals(AssertNotEquals.java:121) > at > org.junit.jupiter.api.AssertNotEquals.assertNotEquals(AssertNotEquals.java:113) > at > org.junit.jupiter.api.Assertions.assertNotEquals(Assertions.java:2117) > at > org.apache.nifi.processors.standard.TestMonitorActivity.testFirstMessageWithInherit(TestMonitorActivity.java:290) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] asfgit closed pull request #6285: NIFI-10336 Remove unnecessary lineage checks from TestMonitorActivity
asfgit closed pull request #6285: NIFI-10336 Remove unnecessary lineage checks from TestMonitorActivity URL: https://github.com/apache/nifi/pull/6285 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (NIFI-10183) Update Swagger-Annotations To 1.6.6
[ https://issues.apache.org/jira/browse/NIFI-10183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pierre Villard updated NIFI-10183: -- Fix Version/s: 1.18.0 Resolution: Fixed Status: Resolved (was: Patch Available) > Update Swagger-Annotations To 1.6.6 > --- > > Key: NIFI-10183 > URL: https://issues.apache.org/jira/browse/NIFI-10183 > Project: Apache NiFi > Issue Type: Improvement >Affects Versions: 1.16.1, 1.16.2, 1.16.3 >Reporter: Mike R >Assignee: David Handermann >Priority: Minor > Fix For: 1.18.0 > > Time Spent: 0.5h > Remaining Estimate: 0h > > NiFi is using a combination of Swagger Annotations version 1.5.16 and 1.6.0. > Although there is a newer version of Swagger Annotations 2+ available, a > start will be to make sure that all of the annotations are at the same > version of 1.6.6 across all of the NiFi instances. A future ticket can > upgrade to 2+ if the need is there. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (NIFI-10183) Update Swagger-Annotations To 1.6.6
[ https://issues.apache.org/jira/browse/NIFI-10183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17577989#comment-17577989 ] ASF subversion and git services commented on NIFI-10183: Commit 24cea2a93b9664e084c69e3cbd638bcf050f64c7 in nifi's branch refs/heads/main from David Handermann [ https://gitbox.apache.org/repos/asf?p=nifi.git;h=24cea2a93b ] NIFI-10183 Upgraded swagger-annotations to 1.6.6 - Added managed dependency in root Maven configuration - Removed different versions from other Maven configurations Signed-off-by: Pierre Villard This closes #6284. > Update Swagger-Annotations To 1.6.6 > --- > > Key: NIFI-10183 > URL: https://issues.apache.org/jira/browse/NIFI-10183 > Project: Apache NiFi > Issue Type: Improvement >Affects Versions: 1.16.1, 1.16.2, 1.16.3 >Reporter: Mike R >Assignee: David Handermann >Priority: Minor > Time Spent: 20m > Remaining Estimate: 0h > > NiFi is using a combination of Swagger Annotations version 1.5.16 and 1.6.0. > Although there is a newer version of Swagger Annotations 2+ available, a > start will be to make sure that all of the annotations are at the same > version of 1.6.6 across all of the NiFi instances. A future ticket can > upgrade to 2+ if the need is there. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] asfgit closed pull request #6284: NIFI-10183 Upgrade swagger-annotations to 1.6.6
asfgit closed pull request #6284: NIFI-10183 Upgrade swagger-annotations to 1.6.6 URL: https://github.com/apache/nifi/pull/6284 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi] exceptionfactory commented on a diff in pull request #6268: NIFI-10244 Add nifi-web-client-api and implementation
exceptionfactory commented on code in PR #6268: URL: https://github.com/apache/nifi/pull/6268#discussion_r942441710 ## nifi-commons/nifi-web-client/src/main/java/org/apache/nifi/web/client/StandardHttpEntityHeaders.java: ## @@ -0,0 +1,49 @@ +/* + * 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.web.client; + +import org.apache.nifi.web.client.api.HttpEntityHeaders; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Standard implementation of HTTP Entity Headers for Standard Web Client Service + */ +class StandardHttpEntityHeaders implements HttpEntityHeaders { +private final Map> headers; + +StandardHttpEntityHeaders(final Map> headers) { +this.headers = headers; +} + +@Override +public Optional getFirstHeader(final String headerName) { +final List values = getHeader(headerName); +return values.stream().findFirst(); +} + +@Override +public List getHeader(final String headerName) { +Objects.requireNonNull(headerName, "Header Name required"); +final List values = headers.get(headerName); +return values == null ? Collections.emptyList() : Collections.unmodifiableList(values); Review Comment: That's a good question. It depends on the particular use case, but in general for collections, it is better to return an empty instead of null to simplify response checking. There may be cases where null and empty mean different things, but in this case, there does not seem to be any value is returning a null versus and an empty list. As far as the functional style versus the ternary null check, there doesn't seem to be a consistent pattern. For this particular case, there doesn't seem to be much different in readability, so I could go either way. I will leave it for now, but will keep the suggestion in mind. There are certainly other places in the application where the functional style is used, and provides a concise implementation. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] fgerlits opened a new pull request, #1384: MINIFICPP-1885 Make non-core features disabled by default in the Windows installer
fgerlits opened a new pull request, #1384: URL: https://github.com/apache/nifi-minifi-cpp/pull/1384 https://issues.apache.org/jira/browse/MINIFICPP-1885 If you run `win_build_vs.bat` with e.g. the new `/SCRIPTING` option, then the scripting extension will be included in the installer, as before, but now de-selected by default in the installation dialog. You can add it by selecting it during installation. Most of the extensions newly supported by `win_build_vs.bat` do not currently compile on Windows. This will be addressed in later pull requests. --- 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: - [x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [x] Does your PR title start with MINIFICPP- 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)? - [ ] 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] lordgamez commented on a diff in pull request #1374: MINIFICPP-1888 Move all extension builds to CentOS job
lordgamez commented on code in PR #1374: URL: https://github.com/apache/nifi-minifi-cpp/pull/1374#discussion_r942403515 ## docker/DockerBuild.sh: ## @@ -146,18 +149,31 @@ BUILD_ARGS+=("--build-arg" "UID=${UID_ARG}" "--build-arg" "GID=${GID_ARG}" "--build-arg" "MINIFI_VERSION=${MINIFI_VERSION}" "--build-arg" "DUMP_LOCATION=${DUMP_LOCATION}" -"--build-arg" "DISTRO_NAME=${DISTRO_NAME}") +"--build-arg" "DISTRO_NAME=${DISTRO_NAME}" +"--build-arg" "DOCKER_SKIP_TESTS=${DOCKER_SKIP_TESTS}") -if [ -n "${DOCKER_CCACHE_DUMP_LOCATION}" ]; then - DOCKER_BUILDKIT=1 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} --target build -t minifi_build .. +if [ -n "${DISTRO_NAME}" ]; then + echo DOCKER_BUILDKIT=0 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} -t apacheminificpp:"${TAG}" .. + DOCKER_BUILDKIT=0 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} -t apacheminificpp:"${TAG}" .. - container_id=$(docker run --rm -d minifi_build sh -c "while true; do sleep 1; done") - mkdir -p "${DOCKER_CCACHE_DUMP_LOCATION}" - docker cp "${container_id}:/home/minificpp/.ccache/." "${DOCKER_CCACHE_DUMP_LOCATION}" - docker rm -f "${container_id}" -fi + if [ -n "${DOCKER_CCACHE_DUMP_LOCATION}" ]; then +container_id=$(docker run --rm -d apacheminificpp:"${TAG}" sh -c "while true; do sleep 1; done") +mkdir -p "${DOCKER_CCACHE_DUMP_LOCATION}" +docker cp "${container_id}:/home/minificpp/.ccache/." "${DOCKER_CCACHE_DUMP_LOCATION}" +docker rm -f "${container_id}" + fi +else + if [ -n "${DOCKER_CCACHE_DUMP_LOCATION}" ]; then +DOCKER_BUILDKIT=1 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} --target build -t minifi_build .. -DOCKER_BUILDKIT=0 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} -t apacheminificpp:"${TAG}" .. +container_id=$(docker run --rm -d minifi_build sh -c "while true; do sleep 1; done") +mkdir -p "${DOCKER_CCACHE_DUMP_LOCATION}" +docker cp "${container_id}:/home/minificpp/.ccache/." "${DOCKER_CCACHE_DUMP_LOCATION}" +docker rm -f "${container_id}" + fi Review Comment: Extracted to a separate function in 6af554983dc9bfb2cdff69fd134f909374a876e9 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] lordgamez commented on a diff in pull request #1374: MINIFICPP-1888 Move all extension builds to CentOS job
lordgamez commented on code in PR #1374: URL: https://github.com/apache/nifi-minifi-cpp/pull/1374#discussion_r94238 ## docker/DockerBuild.sh: ## @@ -146,18 +149,31 @@ BUILD_ARGS+=("--build-arg" "UID=${UID_ARG}" "--build-arg" "GID=${GID_ARG}" "--build-arg" "MINIFI_VERSION=${MINIFI_VERSION}" "--build-arg" "DUMP_LOCATION=${DUMP_LOCATION}" -"--build-arg" "DISTRO_NAME=${DISTRO_NAME}") +"--build-arg" "DISTRO_NAME=${DISTRO_NAME}" +"--build-arg" "DOCKER_SKIP_TESTS=${DOCKER_SKIP_TESTS}") -if [ -n "${DOCKER_CCACHE_DUMP_LOCATION}" ]; then - DOCKER_BUILDKIT=1 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} --target build -t minifi_build .. +if [ -n "${DISTRO_NAME}" ]; then Review Comment: I would rather not, stages are usually used if we need one or more helper images to create the final image, this way the layers of the helper stages only created as temporary layers that can be cleaned up afterwards. In the centos and other distro docker images we do not really have any logically distinguished stages and I would remove these stages in the focal, fedora, bionic Dockerfiles as well in the future. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] adam-markovics commented on a diff in pull request #1374: MINIFICPP-1888 Move all extension builds to CentOS job
adam-markovics commented on code in PR #1374: URL: https://github.com/apache/nifi-minifi-cpp/pull/1374#discussion_r942387849 ## docker/DockerBuild.sh: ## @@ -146,18 +149,31 @@ BUILD_ARGS+=("--build-arg" "UID=${UID_ARG}" "--build-arg" "GID=${GID_ARG}" "--build-arg" "MINIFI_VERSION=${MINIFI_VERSION}" "--build-arg" "DUMP_LOCATION=${DUMP_LOCATION}" -"--build-arg" "DISTRO_NAME=${DISTRO_NAME}") +"--build-arg" "DISTRO_NAME=${DISTRO_NAME}" +"--build-arg" "DOCKER_SKIP_TESTS=${DOCKER_SKIP_TESTS}") -if [ -n "${DOCKER_CCACHE_DUMP_LOCATION}" ]; then - DOCKER_BUILDKIT=1 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} --target build -t minifi_build .. +if [ -n "${DISTRO_NAME}" ]; then + echo DOCKER_BUILDKIT=0 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} -t apacheminificpp:"${TAG}" .. + DOCKER_BUILDKIT=0 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} -t apacheminificpp:"${TAG}" .. - container_id=$(docker run --rm -d minifi_build sh -c "while true; do sleep 1; done") - mkdir -p "${DOCKER_CCACHE_DUMP_LOCATION}" - docker cp "${container_id}:/home/minificpp/.ccache/." "${DOCKER_CCACHE_DUMP_LOCATION}" - docker rm -f "${container_id}" -fi + if [ -n "${DOCKER_CCACHE_DUMP_LOCATION}" ]; then +container_id=$(docker run --rm -d apacheminificpp:"${TAG}" sh -c "while true; do sleep 1; done") +mkdir -p "${DOCKER_CCACHE_DUMP_LOCATION}" +docker cp "${container_id}:/home/minificpp/.ccache/." "${DOCKER_CCACHE_DUMP_LOCATION}" +docker rm -f "${container_id}" + fi +else + if [ -n "${DOCKER_CCACHE_DUMP_LOCATION}" ]; then +DOCKER_BUILDKIT=1 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} --target build -t minifi_build .. -DOCKER_BUILDKIT=0 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} -t apacheminificpp:"${TAG}" .. +container_id=$(docker run --rm -d minifi_build sh -c "while true; do sleep 1; done") +mkdir -p "${DOCKER_CCACHE_DUMP_LOCATION}" +docker cp "${container_id}:/home/minificpp/.ccache/." "${DOCKER_CCACHE_DUMP_LOCATION}" +docker rm -f "${container_id}" + fi Review Comment: I think so. Otherwise I'm okay with this PR. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] fgerlits commented on a diff in pull request #1374: MINIFICPP-1888 Move all extension builds to CentOS job
fgerlits commented on code in PR #1374: URL: https://github.com/apache/nifi-minifi-cpp/pull/1374#discussion_r942373803 ## docker/DockerBuild.sh: ## @@ -146,18 +149,31 @@ BUILD_ARGS+=("--build-arg" "UID=${UID_ARG}" "--build-arg" "GID=${GID_ARG}" "--build-arg" "MINIFI_VERSION=${MINIFI_VERSION}" "--build-arg" "DUMP_LOCATION=${DUMP_LOCATION}" -"--build-arg" "DISTRO_NAME=${DISTRO_NAME}") +"--build-arg" "DISTRO_NAME=${DISTRO_NAME}" +"--build-arg" "DOCKER_SKIP_TESTS=${DOCKER_SKIP_TESTS}") -if [ -n "${DOCKER_CCACHE_DUMP_LOCATION}" ]; then - DOCKER_BUILDKIT=1 docker build "${BUILD_ARGS[@]}" -f ${DOCKERFILE} --target build -t minifi_build .. +if [ -n "${DISTRO_NAME}" ]; then Review Comment: Could we add stages to all Dockerfiles so we can use them in the same way? -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Updated] (MINIFICPP-1885) Make non-core features disabled by default in the Windows installer
[ https://issues.apache.org/jira/browse/MINIFICPP-1885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ferenc Gerlits updated MINIFICPP-1885: -- Summary: Make non-core features disabled by default in the Windows installer (was: Make features selectable in the Windows installer) > Make non-core features disabled by default in the Windows installer > --- > > Key: MINIFICPP-1885 > URL: https://issues.apache.org/jira/browse/MINIFICPP-1885 > Project: Apache NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Ferenc Gerlits >Assignee: Ferenc Gerlits >Priority: Minor > Fix For: 0.13.0 > > > Include as many extensions as possible in the Windows installer, but make all > except the current selection off by default. > In particular, scripting support should be included in the installer as an > optional component, which the user can enable during installation. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] arpadboda commented on a diff in pull request #6135: NIFI-10130 AzureGraphUserGroupProvider handles nested group
arpadboda commented on code in PR #6135: URL: https://github.com/apache/nifi/pull/6135#discussion_r942335017 ## nifi-nar-bundles/nifi-azure-bundle/nifi-azure-graph-authorizer/src/main/java/org/apache/nifi/authorization/azure/AzureGraphUserGroupProvider.java: ## @@ -340,28 +339,22 @@ private UserGroupQueryResult getUsersFrom(String groupName, int pageSize) throws if (currentPage != null && currentPage.size() > 0) { final com.microsoft.graph.models.extensions.Group graphGroup = results.getCurrentPage().get(0); +//logger.info("calling with "+ graphGroup.id); Review Comment: Could you either make it a proper debug log entry or simply remove? -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] lordgamez commented on a diff in pull request #1367: MINIFICPP-1822 - Add alert capability
lordgamez commented on code in PR #1367: URL: https://github.com/apache/nifi-minifi-cpp/pull/1367#discussion_r942309625 ## libminifi/include/utils/TestUtils.h: ## @@ -62,14 +63,45 @@ Identifier generateUUID() { class ManualClock : public timeutils::Clock { public: - [[nodiscard]] std::chrono::milliseconds timeSinceEpoch() const override { return time_; } - void advance(std::chrono::milliseconds elapsed_time) { time_ += elapsed_time; } + [[nodiscard]] std::chrono::milliseconds timeSinceEpoch() const override { +std::lock_guard lock(mtx_); +return time_; + } + void advance(std::chrono::milliseconds elapsed_time) { +std::lock_guard lock(mtx_); +time_ += elapsed_time; +for (auto* cv : cvs_) { + cv->notify_all(); +} + } + std::chrono::milliseconds wait_until(std::condition_variable& cv, std::unique_lock& lck, std::chrono::milliseconds time, const std::function& pred) override { +std::chrono::milliseconds now; +{ + std::unique_lock lock(mtx_); + now = time_; + cvs_.insert(); +} +if (now < time) { + cv.wait_for(lck, time - now, [&] { +now = timeSinceEpoch(); +return now >= time || pred(); + }); +} +{ + std::unique_lock lock(mtx_); + cvs_.erase(); +} +return now; + } private: + mutable std::mutex mtx_; + std::unordered_set cvs_; std::chrono::milliseconds time_{0}; }; + Review Comment: nitpick: I would remove one newline instead of adding one :) ## libminifi/include/core/logging/alert/AlertSink.h: ## @@ -0,0 +1,112 @@ +/** + * 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. + */ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "core/controller/ControllerServiceProvider.h" +#include "core/logging/LoggerProperties.h" +#include "utils/ThreadPool.h" +#include "utils/StagingQueue.h" +#include "properties/Configure.h" +#include "spdlog/sinks/base_sink.h" + +namespace org::apache::nifi::minifi::controllers { +class SSLContextService; +} // namespace org::apache::nifi::minifi::controllers + +namespace org::apache::nifi::minifi::core::logging { + +class AlertSink : public spdlog::sinks::base_sink { + struct Config { +std::string url; +std::optional ssl_service_name; +int batch_size; +std::chrono::milliseconds flush_period; +std::chrono::milliseconds rate_limit; +int buffer_limit; +std::regex filter; +spdlog::level::level_enum level; + }; + + struct Services { +std::shared_ptr ssl_service; +std::shared_ptr agent_id; + }; + + struct LogBuffer { +size_t size_{0}; +std::deque> data_; + +static LogBuffer allocate(size_t size); +LogBuffer commit(); +[[nodiscard]] +size_t size() const; + }; + + class LiveLogSet { +using Hash = size_t; +std::chrono::milliseconds lifetime_{}; +std::unordered_set hashes_to_ignore_; +std::deque> timestamped_hashes_; + public: Review Comment: nitpick: Prefer the order of public members before privates ones according to the [cpp guideline](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rl-order) -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-10338) When adding more nodes in a Nifi Cluster mode, new nodes cannot find existing parameter contexts
Andreas Adamides created NIFI-10338: --- Summary: When adding more nodes in a Nifi Cluster mode, new nodes cannot find existing parameter contexts Key: NIFI-10338 URL: https://issues.apache.org/jira/browse/NIFI-10338 Project: Apache NiFi Issue Type: Bug Components: NiFi Stateless Affects Versions: 1.16.1 Environment: Kubernetes, Docker Image is based on Alpine/Java amazoncorreto: 8u312 Reporter: Andreas Adamides My setup is Nifi in Cluster mode, initially with 1 node. I have created a parameter context and associated it with process groups(>1) in my Canvas. When I increase to three nodes(they successfully connect in the cluster), and when I reach the Nifi UI, to view/edit that very same parameter context I get the error: {code:java} No parameter context with id: "" {code} I also get the same error when I try to reach the parameter context via the APIs. When I list all parameter contexts this param context shows up, but when I try to modify or even delete via API call, I get the same error. When I scale back to 1 node, repeat the above in the Nifi UI, I can view/edit the parameter context without any issues. If it matters I am using [https://github.com/cetic/helm-nifi] to deploy my Nifi Cluster. I suspect there might be a sync issue at some point, causing the new nodes to not know about that parameter context, but I cannot tell which one. Can anyone please suggest a fix or any pointers as to how to approach this issue? -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] ferencerdei commented on a diff in pull request #6268: NIFI-10244 Add nifi-web-client-api and implementation
ferencerdei commented on code in PR #6268: URL: https://github.com/apache/nifi/pull/6268#discussion_r942207197 ## nifi-nar-bundles/nifi-standard-services/pom.xml: ## @@ -54,5 +54,6 @@ nifi-hadoop-dbcp-service-bundle nifi-kerberos-user-service-api nifi-kerberos-user-service-bundle +nifi-web-client-provider-bundle Review Comment: I'm not sure if it's intentional or not, but the nifi-web-client-provider-service-nar is missing from the nifi-assembly's pom so the service doesn't appear in the UI. -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (NIFI-10337) Certificate PKIX Path issue while using PutGCSObject
Cezar Caleap created NIFI-10337: --- Summary: Certificate PKIX Path issue while using PutGCSObject Key: NIFI-10337 URL: https://issues.apache.org/jira/browse/NIFI-10337 Project: Apache NiFi Issue Type: Bug Affects Versions: 1.16.2 Environment: openjdk-8-8u342-b07-0ubuntu1~18.04 Reporter: Cezar Caleap We are trying to put data on a GCS bucket via PutGCSObject. We have configured the GCPCredentialServices with the proper service account json details but we are still facing PKIX path issues : Error getting access token for service account: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target, iss: [u...@projectid.iam.gserviceaccount.com.|mailto:u...@projectid.iam.gserviceaccount.com.] Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target What java version is required to run this PutGCSObject ? Do we require any specific certificate to be added to java truststore ? Can somebody help me with the URL PutGCSObject is using to send the data so that I can confirm if the certificate is part of the java truststore ? Any other guidance is welcomed :) Many thanks in advance for your support. Best Regards, Cezar -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi-minifi-cpp] adamdebreceni commented on a diff in pull request #1367: MINIFICPP-1822 - Add alert capability
adamdebreceni commented on code in PR #1367: URL: https://github.com/apache/nifi-minifi-cpp/pull/1367#discussion_r942175691 ## libminifi/include/core/logging/alert/AlertSink.h: ## @@ -0,0 +1,109 @@ +/** + * 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. + */ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "controllers/SSLContextService.h" +#include "core/controller/ControllerServiceProvider.h" +#include "core/logging/LoggerProperties.h" +#include "utils/ThreadPool.h" +#include "utils/StagingQueue.h" +#include "properties/Configure.h" +#include "spdlog/sinks/base_sink.h" + + +namespace org::apache::nifi::minifi::core::logging { + +class AlertSink : public spdlog::sinks::base_sink { + struct Config { +std::string url; +std::optional ssl_service_name; +int batch_size; +std::chrono::milliseconds flush_period; +std::chrono::milliseconds rate_limit; +int buffer_limit; +std::regex filter; Review Comment: changed it to use `utils::Regex`, it has some shortcomings created a followup ticket [MINIFICPP-1903](https://issues.apache.org/jira/browse/MINIFICPP-1903) -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[GitHub] [nifi-minifi-cpp] martinzink commented on a diff in pull request #1367: MINIFICPP-1822 - Add alert capability
martinzink commented on code in PR #1367: URL: https://github.com/apache/nifi-minifi-cpp/pull/1367#discussion_r941662489 ## libminifi/include/core/logging/alert/AlertSink.h: ## @@ -0,0 +1,112 @@ +/** + * 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. + */ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "core/controller/ControllerServiceProvider.h" +#include "core/logging/LoggerProperties.h" +#include "utils/ThreadPool.h" +#include "utils/StagingQueue.h" +#include "properties/Configure.h" +#include "spdlog/sinks/base_sink.h" + +namespace org::apache::nifi::minifi::controllers { +class SSLContextService; +} // namespace org::apache::nifi::minifi::controllers + +namespace org::apache::nifi::minifi::core::logging { + +class AlertSink : public spdlog::sinks::base_sink { + struct Config { +std::string url; +std::optional ssl_service_name; +int batch_size; +std::chrono::milliseconds flush_period; +std::chrono::milliseconds rate_limit; +int buffer_limit; +std::regex filter; +spdlog::level::level_enum level; + }; + + struct Services { +std::shared_ptr ssl_service; +std::shared_ptr agent_id; + }; + + struct LogBuffer { +size_t size_{0}; +std::deque> data_; + +static LogBuffer allocate(size_t size); +LogBuffer commit(); +[[nodiscard]] +size_t size() const; + }; + + class LiveLogSet { +using Hash = size_t; +std::chrono::milliseconds lifetime_{}; +std::unordered_set hashes_to_ignore_; +std::deque> timestamped_hashes_; + public: +bool tryAdd(std::chrono::milliseconds now, Hash hash); +void setLifetime(std::chrono::milliseconds lifetime); + }; + + public: + // must be public for make_shared + AlertSink(Config config, std::shared_ptr logger); Review Comment: I faced a similar problem recently and this can be made private with a trick like this https://github.com/apache/nifi-minifi-cpp/pull/1383/files#diff-4205c4389dbd9a8dee16d4d38da02ada57c19d038893abdcb3f29424c7d1dd86R112-R124 -- 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. To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[jira] [Created] (MINIFICPP-1903) Make utils::Regex handle std::string_view
Adam Debreceni created MINIFICPP-1903: - Summary: Make utils::Regex handle std::string_view Key: MINIFICPP-1903 URL: https://issues.apache.org/jira/browse/MINIFICPP-1903 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Adam Debreceni Assignee: Adam Debreceni Currently due to a bug we can't use std::regex on all platforms. The interface of utils::regexSearch/utils::regexMatch (which aims to abstract away this difference) does not allow working with std::string_view but forces an std::string allocation even on platforms supporting std::regex. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[GitHub] [nifi] ferencerdei commented on a diff in pull request #6268: NIFI-10244 Add nifi-web-client-api and implementation
ferencerdei commented on code in PR #6268: URL: https://github.com/apache/nifi/pull/6268#discussion_r942067123 ## nifi-commons/nifi-web-client/src/main/java/org/apache/nifi/web/client/StandardHttpEntityHeaders.java: ## @@ -0,0 +1,49 @@ +/* + * 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.web.client; + +import org.apache.nifi.web.client.api.HttpEntityHeaders; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Standard implementation of HTTP Entity Headers for Standard Web Client Service + */ +class StandardHttpEntityHeaders implements HttpEntityHeaders { +private final Map> headers; + +StandardHttpEntityHeaders(final Map> headers) { +this.headers = headers; Review Comment: I see that we use unmodifiableList in the getHeader method. What do you think about making this headers Map immutable as well - so the whole class could be immutable? ## nifi-commons/nifi-web-client-api/src/main/java/org/apache/nifi/web/client/api/HttpUriBuilder.java: ## @@ -0,0 +1,80 @@ +/* + * 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.web.client.api; + +import java.net.URI; + +/** + * HTTP URI Builder supports construction of a URI using component elements + */ +public interface HttpUriBuilder { +/** + * Build URI based on current component elements + * + * @return URI + */ +URI build(); + +/** + * Set URI scheme as http or https + * + * @param scheme URI scheme + * @return Builder + */ +HttpUriBuilder scheme(String scheme); + +/** + * Set URI host address + * + * @param host Host address + * @return Builder + */ +HttpUriBuilder host(String host); + +/** + * Set URI port number + * + * @param port Port number + * @return Builder + */ +HttpUriBuilder port(int port); + +/** + * Set path with segments encoded according to URL standard requirements + * + * @param encodedPath URL-encoded path + * @return Builder + */ +HttpUriBuilder encodedPath(String encodedPath); + +/** + * Add path segment appending to current path + * + * @param pathSegment Path segment + * @return Builder + */ +HttpUriBuilder addPathSegment(String pathSegment); + +/** + * Add path segment appending to current path Review Comment: This should be "Add query parameter..." right? ## nifi-commons/nifi-web-client/src/main/java/org/apache/nifi/web/client/StandardHttpEntityHeaders.java: ## @@ -0,0 +1,49 @@ +/* + * 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 + *