[jira] [Updated] (NIFI-5952) RAW Site-to-Site fails with java.nio.channels.IllegalBlockingModeException

2019-08-29 Thread Koji Kawamura (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-5952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Koji Kawamura updated NIFI-5952:

Priority: Blocker  (was: Critical)

> RAW Site-to-Site fails with java.nio.channels.IllegalBlockingModeException
> --
>
> Key: NIFI-5952
> URL: https://issues.apache.org/jira/browse/NIFI-5952
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core Framework
> Environment: jdk-11.0.1
>Reporter: Koji Kawamura
>Assignee: Koji Kawamura
>Priority: Blocker
>  Labels: Java11
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> During the review cycle of NIFI-5820, I found that while HTTP S2S works 
> without issue, RAW S2S is failing with following Exception:
> {code:java}
>  2018-12-19 16:19:26,811 ERROR [Site-to-Site Listener] org.apache.nifi.NiFi
>  java.nio.channels.IllegalBlockingModeException: null
>  at 
> java.base/sun.nio.ch.ServerSocketAdaptor.accept(ServerSocketAdaptor.java:121)
>  at 
> org.apache.nifi.remote.SocketRemoteSiteListener$1.run(SocketRemoteSiteListener.java:125)
>  at java.base/java.lang.Thread.run(Thread.java:834)
> {code}
> Despite of the fact that the RAW has been worked with older Java versions, it 
> seems current nio usage at RAW S2S is not correct. And JDK 11 starts 
> complaining about it.
> Here are few things I've discovered with current NiFi and nio SocketChannel:
>  - NiFi accepts RAW S2S client connection with SocketRemoteSiteListener, 
> which uses ServerSocketChannel as non-blocking manner [1]
>  - But SocketRemoteSiteListener doesn't use Selector API to accept incoming 
> connection and transfer data with the channel. This is the cause of above 
> exception.
>  - SocketRemoteSiteListener spawns new thread when it accepts connection. 
> This is how connections are handled with a non-nio, standard Socket 
> programming. If we want to use non-blocking NIO, we need to use channels with 
> Selector
>  - But using non-blocking IO with current NiFi S2S protocol can only add few 
> or none benefit by doing so. [2]
> To make RAW S2S work with Java 11, we need either:
>  A. Stop using nio packages.
>  B. Implement correct nio usage, meaning use Selector IO and probably we need 
> another thread pool.
> I'm going to take the approach A above, because B would take much more 
> refactoring.
> [1] 
> [https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/SocketRemoteSiteListener.java#L120]
>  [2] 
> [https://stackoverflow.com/questions/12338204/in-java-nio-is-a-selector-useful-for-a-client-socketchannel]



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319322547
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/test/groovy/org/apache/nifi/properties/sensitive/aes/AESSensitivePropertyProviderTest.groovy
 ##
 @@ -381,6 +389,7 @@ class AESSensitivePropertyProviderTest extends 
GroovyTestCase {
 }
 }
 
+@Ignore // for now bc size is gone
 
 Review comment:
   Related to the erroneous change to the `aes/gcm/{suffix}` format, reverted.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319322208
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/keystore/KeyStoreSensitivePropertyProvider.java
 ##
 @@ -0,0 +1,205 @@
+/*
+ * 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.properties.sensitive.keystore;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.nifi.properties.sensitive.ExternalProperties;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyConfigurationException;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyProtectionException;
+import org.apache.nifi.properties.sensitive.SensitivePropertyProvider;
+import org.apache.nifi.properties.sensitive.StandardExternalPropertyLookup;
+import org.apache.nifi.properties.sensitive.aes.AESSensitivePropertyProvider;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.security.Key;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.UnrecoverableKeyException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Sensitive properties using KeyStore keys with an inner AES SPP.
+ */
+public class KeyStoreSensitivePropertyProvider implements 
SensitivePropertyProvider {
 
 Review comment:
   Renamed to match intent.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319321910
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/keystore/ByteArrayKeyStoreProvider.java
 ##
 @@ -0,0 +1,57 @@
+/*
 
 Review comment:
   Moved.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319321775
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/gcp/kms/GCPKMSSensitivePropertyProvider.java
 ##
 @@ -0,0 +1,187 @@
+/*
+ * 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.properties.sensitive.gcp.kms;
+
+import com.google.cloud.kms.v1.CryptoKeyName;
+import com.google.cloud.kms.v1.DecryptResponse;
+import com.google.cloud.kms.v1.EncryptResponse;
+import com.google.cloud.kms.v1.KeyManagementServiceClient;
+import com.google.protobuf.ByteString;
+import org.apache.commons.lang3.StringUtils;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyConfigurationException;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyProtectionException;
+import org.apache.nifi.properties.sensitive.SensitivePropertyProvider;
+import org.bouncycastle.util.encoders.Base64;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This provider uses the GCP SDK to interact with the GCP KMS.  Values are 
encoded/decoded base64, using the
+ * standard encoders from bouncycastle.
+ */
+public class GCPKMSSensitivePropertyProvider implements 
SensitivePropertyProvider {
+private static final Logger logger = 
LoggerFactory.getLogger(GCPKMSSensitivePropertyProvider.class);
+private static final String IMPLEMENTATION_NAME = "GCP KMS Sensitive 
Property Provider";
+
+private static final String MATERIAL_PREFIX = "gcp";
+private static final String MATERIAL_KEY_TYPE = "kms";
+private static final String MATERIAL_SEPARATOR = "/";
+private static final String IMPLEMENTATION_PREFIX = MATERIAL_PREFIX + 
MATERIAL_SEPARATOR + MATERIAL_KEY_TYPE + MATERIAL_SEPARATOR;
+
+private String keyId;
+private String projectId;
+private String locationId;
+private String keyRingId;
+private String cryptoKeyId;
+
+private final String resource;
+private final KeyManagementServiceClient client;
+
+
+public GCPKMSSensitivePropertyProvider(String keyId) {
+if 
(StringUtils.isBlank(System.getenv("GOOGLE_APPLICATION_CREDENTIALS"))) {
+throw new SensitivePropertyConfigurationException("Unable to find 
Google Application Credentials");
+}
+extractKeyParts(keyId);
+this.resource = CryptoKeyName.format(projectId, locationId, keyRingId, 
cryptoKeyId);
+try {
+this.client = KeyManagementServiceClient.create();
+} catch (IOException e) {
+throw new SensitivePropertyConfigurationException("Unable to 
create service client", e);
+}
+}
+
+private void extractKeyParts(String keyId) {
+if (StringUtils.isBlank(keyId)) throw new 
SensitivePropertyConfigurationException("The key cannot be empty");
+
+this.keyId = keyId;
+
+String[] parts = this.keyId.split(MATERIAL_SEPARATOR, 3);
+if (parts.length != 3 || !parts[0].equals(MATERIAL_PREFIX) || 
!parts[1].equals(MATERIAL_KEY_TYPE))
+throw new SensitivePropertyConfigurationException("Invalid GCP 
key");
+
+String path = parts[2];
+Pattern simplePattern = 
Pattern.compile("([^/]+)/([^/]+)/([^/]+)/([^/]+)");
+Pattern verbosePattern = 
Pattern.compile("projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)");
+
+Matcher match = null;
+if (verbosePattern.asPredicate().test(path)) {
+match = verbosePattern.matcher(path);
+} else if (simplePattern.asPredicate().test(path)) {
+match = simplePattern.matcher(path);
+}
+
+if (match == null || match.groupCount() != 4 || !match.find())
+throw new SensitivePropertyConfigurationException("Invalid GCP key 
pattern");
+
+projectId = match.group(1);
+locationId = match.group(2);
+keyRingId = match.group(3);
+cryptoKeyId = 

[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319321714
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/gcp/kms/GCPKMSSensitivePropertyProvider.java
 ##
 @@ -0,0 +1,187 @@
+/*
+ * 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.properties.sensitive.gcp.kms;
+
+import com.google.cloud.kms.v1.CryptoKeyName;
+import com.google.cloud.kms.v1.DecryptResponse;
+import com.google.cloud.kms.v1.EncryptResponse;
+import com.google.cloud.kms.v1.KeyManagementServiceClient;
+import com.google.protobuf.ByteString;
+import org.apache.commons.lang3.StringUtils;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyConfigurationException;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyProtectionException;
+import org.apache.nifi.properties.sensitive.SensitivePropertyProvider;
+import org.bouncycastle.util.encoders.Base64;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This provider uses the GCP SDK to interact with the GCP KMS.  Values are 
encoded/decoded base64, using the
+ * standard encoders from bouncycastle.
+ */
+public class GCPKMSSensitivePropertyProvider implements 
SensitivePropertyProvider {
+private static final Logger logger = 
LoggerFactory.getLogger(GCPKMSSensitivePropertyProvider.class);
+private static final String IMPLEMENTATION_NAME = "GCP KMS Sensitive 
Property Provider";
+
+private static final String MATERIAL_PREFIX = "gcp";
+private static final String MATERIAL_KEY_TYPE = "kms";
+private static final String MATERIAL_SEPARATOR = "/";
+private static final String IMPLEMENTATION_PREFIX = MATERIAL_PREFIX + 
MATERIAL_SEPARATOR + MATERIAL_KEY_TYPE + MATERIAL_SEPARATOR;
+
+private String keyId;
+private String projectId;
+private String locationId;
+private String keyRingId;
+private String cryptoKeyId;
+
+private final String resource;
+private final KeyManagementServiceClient client;
+
+
+public GCPKMSSensitivePropertyProvider(String keyId) {
+if 
(StringUtils.isBlank(System.getenv("GOOGLE_APPLICATION_CREDENTIALS"))) {
+throw new SensitivePropertyConfigurationException("Unable to find 
Google Application Credentials");
+}
+extractKeyParts(keyId);
+this.resource = CryptoKeyName.format(projectId, locationId, keyRingId, 
cryptoKeyId);
+try {
+this.client = KeyManagementServiceClient.create();
+} catch (IOException e) {
+throw new SensitivePropertyConfigurationException("Unable to 
create service client", e);
+}
+}
+
+private void extractKeyParts(String keyId) {
+if (StringUtils.isBlank(keyId)) throw new 
SensitivePropertyConfigurationException("The key cannot be empty");
+
+this.keyId = keyId;
+
+String[] parts = this.keyId.split(MATERIAL_SEPARATOR, 3);
+if (parts.length != 3 || !parts[0].equals(MATERIAL_PREFIX) || 
!parts[1].equals(MATERIAL_KEY_TYPE))
+throw new SensitivePropertyConfigurationException("Invalid GCP 
key");
+
+String path = parts[2];
+Pattern simplePattern = 
Pattern.compile("([^/]+)/([^/]+)/([^/]+)/([^/]+)");
+Pattern verbosePattern = 
Pattern.compile("projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)");
+
+Matcher match = null;
+if (verbosePattern.asPredicate().test(path)) {
+match = verbosePattern.matcher(path);
+} else if (simplePattern.asPredicate().test(path)) {
+match = simplePattern.matcher(path);
+}
+
+if (match == null || match.groupCount() != 4 || !match.find())
+throw new SensitivePropertyConfigurationException("Invalid GCP key 
pattern");
+
+projectId = match.group(1);
+locationId = match.group(2);
+keyRingId = match.group(3);
+cryptoKeyId = 

[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319319279
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/gcp/kms/GCPKMSSensitivePropertyProvider.java
 ##
 @@ -0,0 +1,187 @@
+/*
+ * 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.properties.sensitive.gcp.kms;
+
+import com.google.cloud.kms.v1.CryptoKeyName;
+import com.google.cloud.kms.v1.DecryptResponse;
+import com.google.cloud.kms.v1.EncryptResponse;
+import com.google.cloud.kms.v1.KeyManagementServiceClient;
+import com.google.protobuf.ByteString;
+import org.apache.commons.lang3.StringUtils;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyConfigurationException;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyProtectionException;
+import org.apache.nifi.properties.sensitive.SensitivePropertyProvider;
+import org.bouncycastle.util.encoders.Base64;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This provider uses the GCP SDK to interact with the GCP KMS.  Values are 
encoded/decoded base64, using the
+ * standard encoders from bouncycastle.
+ */
+public class GCPKMSSensitivePropertyProvider implements 
SensitivePropertyProvider {
+private static final Logger logger = 
LoggerFactory.getLogger(GCPKMSSensitivePropertyProvider.class);
+private static final String IMPLEMENTATION_NAME = "GCP KMS Sensitive 
Property Provider";
+
+private static final String MATERIAL_PREFIX = "gcp";
+private static final String MATERIAL_KEY_TYPE = "kms";
+private static final String MATERIAL_SEPARATOR = "/";
+private static final String IMPLEMENTATION_PREFIX = MATERIAL_PREFIX + 
MATERIAL_SEPARATOR + MATERIAL_KEY_TYPE + MATERIAL_SEPARATOR;
+
+private String keyId;
+private String projectId;
+private String locationId;
+private String keyRingId;
+private String cryptoKeyId;
+
+private final String resource;
+private final KeyManagementServiceClient client;
+
+
+public GCPKMSSensitivePropertyProvider(String keyId) {
+if 
(StringUtils.isBlank(System.getenv("GOOGLE_APPLICATION_CREDENTIALS"))) {
+throw new SensitivePropertyConfigurationException("Unable to find 
Google Application Credentials");
+}
+extractKeyParts(keyId);
+this.resource = CryptoKeyName.format(projectId, locationId, keyRingId, 
cryptoKeyId);
+try {
+this.client = KeyManagementServiceClient.create();
+} catch (IOException e) {
+throw new SensitivePropertyConfigurationException("Unable to 
create service client", e);
+}
+}
+
+private void extractKeyParts(String keyId) {
+if (StringUtils.isBlank(keyId)) throw new 
SensitivePropertyConfigurationException("The key cannot be empty");
+
+this.keyId = keyId;
+
+String[] parts = this.keyId.split(MATERIAL_SEPARATOR, 3);
+if (parts.length != 3 || !parts[0].equals(MATERIAL_PREFIX) || 
!parts[1].equals(MATERIAL_KEY_TYPE))
+throw new SensitivePropertyConfigurationException("Invalid GCP 
key");
+
+String path = parts[2];
+Pattern simplePattern = 
Pattern.compile("([^/]+)/([^/]+)/([^/]+)/([^/]+)");
+Pattern verbosePattern = 
Pattern.compile("projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)");
+
+Matcher match = null;
+if (verbosePattern.asPredicate().test(path)) {
+match = verbosePattern.matcher(path);
+} else if (simplePattern.asPredicate().test(path)) {
+match = simplePattern.matcher(path);
+}
+
+if (match == null || match.groupCount() != 4 || !match.find())
+throw new SensitivePropertyConfigurationException("Invalid GCP key 
pattern");
+
+projectId = match.group(1);
+locationId = match.group(2);
+keyRingId = match.group(3);
+cryptoKeyId = 

[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319319188
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/gcp/kms/GCPKMSSensitivePropertyProvider.java
 ##
 @@ -0,0 +1,187 @@
+/*
+ * 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.properties.sensitive.gcp.kms;
+
+import com.google.cloud.kms.v1.CryptoKeyName;
+import com.google.cloud.kms.v1.DecryptResponse;
+import com.google.cloud.kms.v1.EncryptResponse;
+import com.google.cloud.kms.v1.KeyManagementServiceClient;
+import com.google.protobuf.ByteString;
+import org.apache.commons.lang3.StringUtils;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyConfigurationException;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyProtectionException;
+import org.apache.nifi.properties.sensitive.SensitivePropertyProvider;
+import org.bouncycastle.util.encoders.Base64;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This provider uses the GCP SDK to interact with the GCP KMS.  Values are 
encoded/decoded base64, using the
+ * standard encoders from bouncycastle.
+ */
+public class GCPKMSSensitivePropertyProvider implements 
SensitivePropertyProvider {
+private static final Logger logger = 
LoggerFactory.getLogger(GCPKMSSensitivePropertyProvider.class);
+private static final String IMPLEMENTATION_NAME = "GCP KMS Sensitive 
Property Provider";
+
+private static final String MATERIAL_PREFIX = "gcp";
+private static final String MATERIAL_KEY_TYPE = "kms";
+private static final String MATERIAL_SEPARATOR = "/";
+private static final String IMPLEMENTATION_PREFIX = MATERIAL_PREFIX + 
MATERIAL_SEPARATOR + MATERIAL_KEY_TYPE + MATERIAL_SEPARATOR;
+
+private String keyId;
+private String projectId;
+private String locationId;
+private String keyRingId;
+private String cryptoKeyId;
+
+private final String resource;
+private final KeyManagementServiceClient client;
+
+
+public GCPKMSSensitivePropertyProvider(String keyId) {
+if 
(StringUtils.isBlank(System.getenv("GOOGLE_APPLICATION_CREDENTIALS"))) {
+throw new SensitivePropertyConfigurationException("Unable to find 
Google Application Credentials");
+}
+extractKeyParts(keyId);
+this.resource = CryptoKeyName.format(projectId, locationId, keyRingId, 
cryptoKeyId);
+try {
+this.client = KeyManagementServiceClient.create();
+} catch (IOException e) {
+throw new SensitivePropertyConfigurationException("Unable to 
create service client", e);
+}
+}
+
+private void extractKeyParts(String keyId) {
 
 Review comment:
   Renamed to `setKeyParts` to better reflect intention + added javadocs. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319319245
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/gcp/kms/GCPKMSSensitivePropertyProvider.java
 ##
 @@ -0,0 +1,187 @@
+/*
+ * 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.properties.sensitive.gcp.kms;
+
+import com.google.cloud.kms.v1.CryptoKeyName;
+import com.google.cloud.kms.v1.DecryptResponse;
+import com.google.cloud.kms.v1.EncryptResponse;
+import com.google.cloud.kms.v1.KeyManagementServiceClient;
+import com.google.protobuf.ByteString;
+import org.apache.commons.lang3.StringUtils;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyConfigurationException;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyProtectionException;
+import org.apache.nifi.properties.sensitive.SensitivePropertyProvider;
+import org.bouncycastle.util.encoders.Base64;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This provider uses the GCP SDK to interact with the GCP KMS.  Values are 
encoded/decoded base64, using the
+ * standard encoders from bouncycastle.
+ */
+public class GCPKMSSensitivePropertyProvider implements 
SensitivePropertyProvider {
+private static final Logger logger = 
LoggerFactory.getLogger(GCPKMSSensitivePropertyProvider.class);
+private static final String IMPLEMENTATION_NAME = "GCP KMS Sensitive 
Property Provider";
+
+private static final String MATERIAL_PREFIX = "gcp";
+private static final String MATERIAL_KEY_TYPE = "kms";
+private static final String MATERIAL_SEPARATOR = "/";
+private static final String IMPLEMENTATION_PREFIX = MATERIAL_PREFIX + 
MATERIAL_SEPARATOR + MATERIAL_KEY_TYPE + MATERIAL_SEPARATOR;
+
+private String keyId;
+private String projectId;
+private String locationId;
+private String keyRingId;
+private String cryptoKeyId;
+
+private final String resource;
+private final KeyManagementServiceClient client;
+
+
+public GCPKMSSensitivePropertyProvider(String keyId) {
+if 
(StringUtils.isBlank(System.getenv("GOOGLE_APPLICATION_CREDENTIALS"))) {
+throw new SensitivePropertyConfigurationException("Unable to find 
Google Application Credentials");
+}
+extractKeyParts(keyId);
+this.resource = CryptoKeyName.format(projectId, locationId, keyRingId, 
cryptoKeyId);
+try {
+this.client = KeyManagementServiceClient.create();
+} catch (IOException e) {
+throw new SensitivePropertyConfigurationException("Unable to 
create service client", e);
+}
+}
+
+private void extractKeyParts(String keyId) {
+if (StringUtils.isBlank(keyId)) throw new 
SensitivePropertyConfigurationException("The key cannot be empty");
+
+this.keyId = keyId;
+
+String[] parts = this.keyId.split(MATERIAL_SEPARATOR, 3);
+if (parts.length != 3 || !parts[0].equals(MATERIAL_PREFIX) || 
!parts[1].equals(MATERIAL_KEY_TYPE))
+throw new SensitivePropertyConfigurationException("Invalid GCP 
key");
+
+String path = parts[2];
+Pattern simplePattern = 
Pattern.compile("([^/]+)/([^/]+)/([^/]+)/([^/]+)");
 
 Review comment:
   Migrated, thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319318908
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/gcp/kms/GCPKMSSensitivePropertyProvider.java
 ##
 @@ -0,0 +1,187 @@
+/*
+ * 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.properties.sensitive.gcp.kms;
+
+import com.google.cloud.kms.v1.CryptoKeyName;
+import com.google.cloud.kms.v1.DecryptResponse;
+import com.google.cloud.kms.v1.EncryptResponse;
+import com.google.cloud.kms.v1.KeyManagementServiceClient;
+import com.google.protobuf.ByteString;
+import org.apache.commons.lang3.StringUtils;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyConfigurationException;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyProtectionException;
+import org.apache.nifi.properties.sensitive.SensitivePropertyProvider;
+import org.bouncycastle.util.encoders.Base64;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This provider uses the GCP SDK to interact with the GCP KMS.  Values are 
encoded/decoded base64, using the
+ * standard encoders from bouncycastle.
+ */
+public class GCPKMSSensitivePropertyProvider implements 
SensitivePropertyProvider {
+private static final Logger logger = 
LoggerFactory.getLogger(GCPKMSSensitivePropertyProvider.class);
+private static final String IMPLEMENTATION_NAME = "GCP KMS Sensitive 
Property Provider";
+
+private static final String MATERIAL_PREFIX = "gcp";
+private static final String MATERIAL_KEY_TYPE = "kms";
+private static final String MATERIAL_SEPARATOR = "/";
+private static final String IMPLEMENTATION_PREFIX = MATERIAL_PREFIX + 
MATERIAL_SEPARATOR + MATERIAL_KEY_TYPE + MATERIAL_SEPARATOR;
+
+private String keyId;
+private String projectId;
+private String locationId;
+private String keyRingId;
+private String cryptoKeyId;
+
+private final String resource;
+private final KeyManagementServiceClient client;
+
+
+public GCPKMSSensitivePropertyProvider(String keyId) {
+if 
(StringUtils.isBlank(System.getenv("GOOGLE_APPLICATION_CREDENTIALS"))) {
 
 Review comment:
   Thanks for the feedback.  I'll double back on this and change the auth if I 
can.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319318113
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/azure/keyvault/AzureKeyVaultSensitivePropertyProvider.java
 ##
 @@ -0,0 +1,162 @@
+/*
+ * 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.properties.sensitive.azure.keyvault;
+
+import com.microsoft.azure.credentials.ApplicationTokenCredentials;
+import com.microsoft.azure.keyvault.KeyVaultClient;
+import com.microsoft.azure.keyvault.models.KeyOperationResult;
+import com.microsoft.azure.keyvault.models.KeyVaultErrorException;
+import com.microsoft.azure.keyvault.webkey.JsonWebKeyEncryptionAlgorithm;
+import com.microsoft.azure.management.Azure;
+import com.microsoft.rest.LogLevel;
+import org.apache.commons.lang3.StringUtils;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyConfigurationException;
+import 
org.apache.nifi.properties.sensitive.SensitivePropertyProtectionException;
+import org.apache.nifi.properties.sensitive.SensitivePropertyProvider;
+import org.bouncycastle.util.encoders.Base64;
+import org.bouncycastle.util.encoders.DecoderException;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+
+
+// Azure with Java:
+// https://docs.microsoft.com/en-us/azure/java/?view=azure-java-stable
+
+// Azure auth with Java:
+// https://github.com/Azure/azure-libraries-for-java/blob/master/AUTH.md
+
+// Azure Key Vault with Java:
+// 
https://docs.microsoft.com/en-us/java/api/com.microsoft.azure.keyvault?view=azure-java-stable
+
+
+public class AzureKeyVaultSensitivePropertyProvider implements 
SensitivePropertyProvider {
+private static final String IMPLEMENTATION_NAME = "Azure Key Vault 
Sensitive Property Provider";
+private static final String MATERIAL_PREFIX = "azure";
+private static final String MATERIAL_KEY_TYPE = "vault";
+private static final JsonWebKeyEncryptionAlgorithm algo = 
JsonWebKeyEncryptionAlgorithm.RSA_OAEP;
+
+private final KeyVaultClient client;
+private final String vaultId;
+private final String keyId;
+
+public AzureKeyVaultSensitivePropertyProvider(String material) {
+final File credFile = new File(System.getenv("AZURE_AUTH_LOCATION"));
+try {
+ApplicationTokenCredentials.fromFile(credFile).clientId();
+} catch (IOException e) {
+throw new SensitivePropertyConfigurationException(e);
+}
+
+String prefix = MATERIAL_PREFIX + "/" + MATERIAL_KEY_TYPE + "/";
 
 Review comment:
   Fixed.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319317965
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/aes/AESSensitivePropertyProvider.java
 ##
 @@ -138,7 +146,7 @@ public String getName() {
  */
 @Override
 public String getIdentifierKey() {
-return IMPLEMENTATION_KEY + 
getKeySize(Hex.toHexString(key.getEncoded()));
+return IMPLEMENTATION_KEY + Hex.toHexString(key.getEncoded()); // 
getKeySize();
 
 Review comment:
   Oof, yeah, that wasn't supposed to end up this way.  I've reverted all of 
the bits related to this.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319317666
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/StandardExternalPropertyLookup.java
 ##
 @@ -0,0 +1,103 @@
+/*
+ * 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.properties.sensitive;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * Slurps property values from the usual places in the usual order.
 
 Review comment:
   Good catch, updated 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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319317569
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/SensitivePropertyConfigurationException.java
 ##
 @@ -0,0 +1,91 @@
+/*
+ * 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.properties.sensitive;
+
+public class SensitivePropertyConfigurationException extends RuntimeException {
 
 Review comment:
   Thanks for the suggestion.  Added exception hierarchy and reviewed for 
simplification opportunities.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319312422
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/ProtectedNiFiProperties.java
 ##
 @@ -72,10 +75,19 @@ public ProtectedNiFiProperties(NiFiProperties props) {
  *
  * @param rawProps the Properties to contain
  */
-public ProtectedNiFiProperties(Properties rawProps) {
-this(new StandardNiFiProperties(rawProps));
+public ProtectedNiFiProperties(Properties rawProps, 
SensitivePropertyProvider sensitivePropertyProvider) {
+this(new StandardNiFiProperties(rawProps), sensitivePropertyProvider);
 }
 
+public ProtectedNiFiProperties(NiFiProperties props, String keyOrKeyId) {
 
 Review comment:
   Added.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319312033
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-properties-loader/src/main/java/org/apache/nifi/properties/sensitive/ExternalProperties.java
 ##
 @@ -14,10 +14,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.nifi.properties;
+package org.apache.nifi.properties.sensitive;
 
-public interface SensitivePropertyProviderFactory {
+/**
+ * ExternalProperties is an interface for reading external values by name.
+ *
+ */
+public interface ExternalProperties {
 
-SensitivePropertyProvider getProvider();
+/**
+ * Read an external property by name.
+ *
+ * @param name the name or key of the external property
+ * @return external property value, as a string
+ */
+String get(String name);
 
+String get(String name, String missing);
 
 Review comment:
   Added, thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319311223
 
 

 ##
 File path: 
nifi-commons/nifi-security-utils/src/test/java/org/apache/nifi/security/util/CipherUtilsTest.java
 ##
 @@ -0,0 +1,138 @@
+/*
+ * 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.security.util;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import javax.crypto.Cipher;
+import javax.crypto.NoSuchPaddingException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+
+
+public class CipherUtilsTest {
+
+// This test shows we get an IV of the correct length when we ask for one.
+@Test
+public void showIvLengthIsCorrect() {
+byte[] iv = CipherUtils.generateIV();
+Assert.assertNotNull(iv);
+Assert.assertEquals(CipherUtils.IV_LENGTH, iv.length);
+}
+
+// This test shows we get new IVs each time we ask for one.
+@Test
+public void showIvsAreDifferentEachTime() {
+// Create a bunch of IVs
+int count = 4;
+byte [][] ivs = new byte[count][];
+for (int i = 0; i < count; i++) {
+ivs[i] = CipherUtils.generateIV();
+}
+
+// Compare each IV to every other IV
+for (int i = 0; i < count; i++) {
+byte[] iv = ivs[i];
+
+for (int j = 0; j < count; j++) {
 
 Review comment:
   Great example, note added.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] natural commented on a change in pull request #3672: NIFI-6363 Additional Sensitive Property Providers

2019-08-29 Thread GitBox
natural commented on a change in pull request #3672: NIFI-6363 Additional 
Sensitive Property Providers
URL: https://github.com/apache/nifi/pull/3672#discussion_r319311044
 
 

 ##
 File path: 
nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/CipherUtils.java
 ##
 @@ -0,0 +1,105 @@
+/*
+ * 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.security.util;
+
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.util.encoders.Hex;
+
+import javax.crypto.Cipher;
+import javax.crypto.NoSuchPaddingException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.SecureRandom;
+import java.security.Security;
+
+
+/**
+ * Common functionality for ciphers:  pre-initialized ciphers, IVs, random 
value generators, etc.
+ */
+public class CipherUtils {
+final static SecureRandom random = new SecureRandom();
+public final static int IV_LENGTH = 12;
 
 Review comment:
   Good catch, added.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] apiri opened a new pull request #3682: NIFI-6604: Removing large NARs from generated assemblies to reduce size.

2019-08-29 Thread GitBox
apiri opened a new pull request #3682: NIFI-6604: Removing large NARs from 
generated assemblies to reduce size.
URL: https://github.com/apache/nifi/pull/3682
 
 
   Thank you for submitting a contribution to Apache NiFi.
   
   Please provide a short description of the PR here:
   
    Description of PR
   
   _Enables X functionality; fixes bug NIFI-._
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced 
in the commit message?
   
   - [ ] Does your PR title start with **NIFI-** where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically `master`)?
   
   - [ ] Is your initial contribution a single, squashed commit? _Additional 
commits in response to PR reviewer feedback should be made on this branch and 
pushed to allow change tracking. Do not `squash` or use `--force` when pushing 
to allow for clean monitoring of changes._
   
   ### For code changes:
   - [ ] Have you ensured that the full suite of tests is executed via `mvn 
-Pcontrib-check clean install` at the root `nifi` folder?
   - [ ] Have you written or updated unit tests to verify your changes?
   - [ ] Have you verified that the full build is successful on both JDK 8 and 
JDK 11?
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
   - [ ] If applicable, have you updated the `LICENSE` file, including the main 
`LICENSE` file under `nifi-assembly`?
   - [ ] If applicable, have you updated the `NOTICE` file, including the main 
`NOTICE` file found under `nifi-assembly`?
   - [ ] If adding new Properties, have you added `.displayName` in addition to 
.name (programmatic access) for each of the new properties?
   
   ### For documentation related changes:
   - [ ] Have you ensured that format looks appropriate for the output in which 
it is rendered?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Created] (NIFI-6604) Reduce the size of the generated assemblies

2019-08-29 Thread Aldrin Piri (Jira)
Aldrin Piri created NIFI-6604:
-

 Summary: Reduce the size of the generated assemblies
 Key: NIFI-6604
 URL: https://issues.apache.org/jira/browse/NIFI-6604
 Project: Apache NiFi
  Issue Type: Task
  Components: Tools and Build
Reporter: Aldrin Piri
Assignee: Aldrin Piri
 Fix For: 1.10.0


As per the discussion on 
https://lists.apache.org/thread.html/d45f33805dcb8096914a06853bc3b8eca1acf50c2ae7b68e75eabfe8@
 we must reduce the assembly size such that we can publish the convenience 
binaries as part of the release.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6546) Add NiFi Expression to update JSON value

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16919001#comment-16919001
 ] 

ASF subversion and git services commented on NIFI-6546:
---

Commit 5df6b0edbb8de259c871e7843c2057b6938af20f in nifi's branch 
refs/heads/master from mans2singh
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=5df6b0e ]

NIFI-6546 - Add JsonPath set value support
NIFI-6546 - Addressed review comments (double semi-colon, javadoc, error 
message, null init)
NIFI-6546 - Refactored test and added log error for JsonPath exception based on 
review
NIFI-6546 - Refactored tests based on review comments
NIFI-6546 - Removed redundant phone check and added constant for empty path
NIFI-6546 - Added brackets based on review comments

This closes #3646

Signed-off-by: Mike Thomsen 


> Add NiFi Expression to update JSON value
> 
>
> Key: NIFI-6546
> URL: https://issues.apache.org/jira/browse/NIFI-6546
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.9.1
>Reporter: Mans Singh
>Assignee: Mans Singh
>Priority: Minor
>  Labels: expression-language, json, set
> Fix For: 1.9.2
>
>   Original Estimate: 8h
>  Time Spent: 5h
>  Remaining Estimate: 3h
>
> Add expression language JsonPath support to set values.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6546) Add NiFi Expression to update JSON value

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918999#comment-16918999
 ] 

ASF subversion and git services commented on NIFI-6546:
---

Commit 5df6b0edbb8de259c871e7843c2057b6938af20f in nifi's branch 
refs/heads/master from mans2singh
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=5df6b0e ]

NIFI-6546 - Add JsonPath set value support
NIFI-6546 - Addressed review comments (double semi-colon, javadoc, error 
message, null init)
NIFI-6546 - Refactored test and added log error for JsonPath exception based on 
review
NIFI-6546 - Refactored tests based on review comments
NIFI-6546 - Removed redundant phone check and added constant for empty path
NIFI-6546 - Added brackets based on review comments

This closes #3646

Signed-off-by: Mike Thomsen 


> Add NiFi Expression to update JSON value
> 
>
> Key: NIFI-6546
> URL: https://issues.apache.org/jira/browse/NIFI-6546
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.9.1
>Reporter: Mans Singh
>Assignee: Mans Singh
>Priority: Minor
>  Labels: expression-language, json, set
> Fix For: 1.9.2
>
>   Original Estimate: 8h
>  Time Spent: 5h
>  Remaining Estimate: 3h
>
> Add expression language JsonPath support to set values.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6546) Add NiFi Expression to update JSON value

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16919000#comment-16919000
 ] 

ASF subversion and git services commented on NIFI-6546:
---

Commit 5df6b0edbb8de259c871e7843c2057b6938af20f in nifi's branch 
refs/heads/master from mans2singh
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=5df6b0e ]

NIFI-6546 - Add JsonPath set value support
NIFI-6546 - Addressed review comments (double semi-colon, javadoc, error 
message, null init)
NIFI-6546 - Refactored test and added log error for JsonPath exception based on 
review
NIFI-6546 - Refactored tests based on review comments
NIFI-6546 - Removed redundant phone check and added constant for empty path
NIFI-6546 - Added brackets based on review comments

This closes #3646

Signed-off-by: Mike Thomsen 


> Add NiFi Expression to update JSON value
> 
>
> Key: NIFI-6546
> URL: https://issues.apache.org/jira/browse/NIFI-6546
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.9.1
>Reporter: Mans Singh
>Assignee: Mans Singh
>Priority: Minor
>  Labels: expression-language, json, set
> Fix For: 1.9.2
>
>   Original Estimate: 8h
>  Time Spent: 5h
>  Remaining Estimate: 3h
>
> Add expression language JsonPath support to set values.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6546) Add NiFi Expression to update JSON value

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918996#comment-16918996
 ] 

ASF subversion and git services commented on NIFI-6546:
---

Commit 5df6b0edbb8de259c871e7843c2057b6938af20f in nifi's branch 
refs/heads/master from mans2singh
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=5df6b0e ]

NIFI-6546 - Add JsonPath set value support
NIFI-6546 - Addressed review comments (double semi-colon, javadoc, error 
message, null init)
NIFI-6546 - Refactored test and added log error for JsonPath exception based on 
review
NIFI-6546 - Refactored tests based on review comments
NIFI-6546 - Removed redundant phone check and added constant for empty path
NIFI-6546 - Added brackets based on review comments

This closes #3646

Signed-off-by: Mike Thomsen 


> Add NiFi Expression to update JSON value
> 
>
> Key: NIFI-6546
> URL: https://issues.apache.org/jira/browse/NIFI-6546
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.9.1
>Reporter: Mans Singh
>Assignee: Mans Singh
>Priority: Minor
>  Labels: expression-language, json, set
> Fix For: 1.9.2
>
>   Original Estimate: 8h
>  Time Spent: 4h 50m
>  Remaining Estimate: 3h 10m
>
> Add expression language JsonPath support to set values.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6546) Add NiFi Expression to update JSON value

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918998#comment-16918998
 ] 

ASF subversion and git services commented on NIFI-6546:
---

Commit 5df6b0edbb8de259c871e7843c2057b6938af20f in nifi's branch 
refs/heads/master from mans2singh
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=5df6b0e ]

NIFI-6546 - Add JsonPath set value support
NIFI-6546 - Addressed review comments (double semi-colon, javadoc, error 
message, null init)
NIFI-6546 - Refactored test and added log error for JsonPath exception based on 
review
NIFI-6546 - Refactored tests based on review comments
NIFI-6546 - Removed redundant phone check and added constant for empty path
NIFI-6546 - Added brackets based on review comments

This closes #3646

Signed-off-by: Mike Thomsen 


> Add NiFi Expression to update JSON value
> 
>
> Key: NIFI-6546
> URL: https://issues.apache.org/jira/browse/NIFI-6546
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.9.1
>Reporter: Mans Singh
>Assignee: Mans Singh
>Priority: Minor
>  Labels: expression-language, json, set
> Fix For: 1.9.2
>
>   Original Estimate: 8h
>  Time Spent: 4h 50m
>  Remaining Estimate: 3h 10m
>
> Add expression language JsonPath support to set values.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Resolved] (NIFI-6546) Add NiFi Expression to update JSON value

2019-08-29 Thread Mike Thomsen (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mike Thomsen resolved NIFI-6546.

Fix Version/s: (was: 1.9.2)
   1.10.0
   Resolution: Fixed

> Add NiFi Expression to update JSON value
> 
>
> Key: NIFI-6546
> URL: https://issues.apache.org/jira/browse/NIFI-6546
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.9.1
>Reporter: Mans Singh
>Assignee: Mans Singh
>Priority: Minor
>  Labels: expression-language, json, set
> Fix For: 1.10.0
>
>   Original Estimate: 8h
>  Time Spent: 5h
>  Remaining Estimate: 3h
>
> Add expression language JsonPath support to set values.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] asfgit closed pull request #3646: NIFI-6546 - Add JsonPath set value support

2019-08-29 Thread GitBox
asfgit closed pull request #3646: NIFI-6546 - Add JsonPath set value support
URL: https://github.com/apache/nifi/pull/3646
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (NIFI-6546) Add NiFi Expression to update JSON value

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918997#comment-16918997
 ] 

ASF subversion and git services commented on NIFI-6546:
---

Commit 5df6b0edbb8de259c871e7843c2057b6938af20f in nifi's branch 
refs/heads/master from mans2singh
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=5df6b0e ]

NIFI-6546 - Add JsonPath set value support
NIFI-6546 - Addressed review comments (double semi-colon, javadoc, error 
message, null init)
NIFI-6546 - Refactored test and added log error for JsonPath exception based on 
review
NIFI-6546 - Refactored tests based on review comments
NIFI-6546 - Removed redundant phone check and added constant for empty path
NIFI-6546 - Added brackets based on review comments

This closes #3646

Signed-off-by: Mike Thomsen 


> Add NiFi Expression to update JSON value
> 
>
> Key: NIFI-6546
> URL: https://issues.apache.org/jira/browse/NIFI-6546
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.9.1
>Reporter: Mans Singh
>Assignee: Mans Singh
>Priority: Minor
>  Labels: expression-language, json, set
> Fix For: 1.9.2
>
>   Original Estimate: 8h
>  Time Spent: 4h 50m
>  Remaining Estimate: 3h 10m
>
> Add expression language JsonPath support to set values.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] ottobackwards commented on a change in pull request #3671: NIFI-6586 - Code comments and doc updates

2019-08-29 Thread GitBox
ottobackwards commented on a change in pull request #3671: NIFI-6586 - Code 
comments and doc updates
URL: https://github.com/apache/nifi/pull/3671#discussion_r319273925
 
 

 ##
 File path: nifi-docs/src/main/asciidoc/user-guide.adoc
 ##
 @@ -1685,6 +1685,8 @@ The FlowFiles enqueued in a Connection can also be 
deleted when necessary. The r
 via `Empty queue` in the Connection's context menu. This action can also be 
performed if the source and destination
 are actively running.
 
+Hovering over the queue will also reveal predicted statistics on when the 
queue may encounter back pressure, either due to the object count or content 
size meeting the current threshold
+settings.  Predictions will only be available when NiFi has enough data in 
it's internal repository and if it's model is accurate enough to broadcast a 
prediction.
 
 
 Review comment:
   What happens if they aren't available?  Will it tell you?  Can you tell the 
difference between not enough data and not configured?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] marcelojscosta commented on issue #2231: NIFI-4521 MS SQL CDC Processor

2019-08-29 Thread GitBox
marcelojscosta commented on issue #2231: NIFI-4521 MS SQL CDC Processor
URL: https://github.com/apache/nifi/pull/2231#issuecomment-526354816
 
 
   Hi folks, I will just try to test this branch in my environment too.
   
   I will inform news at the next days


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] bbende commented on issue #3614: NIFI-6371: Fixed bug that caused root-level Controller Services to st…

2019-08-29 Thread GitBox
bbende commented on issue #3614: NIFI-6371: Fixed bug that caused root-level 
Controller Services to st…
URL: https://github.com/apache/nifi/pull/3614#issuecomment-526348138
 
 
   Looks good, thanks! Merged to master


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (NIFI-6371) Validation still occurs for deleted 'Controller Level' Controller Services

2019-08-29 Thread Bryan Bende (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Bende updated NIFI-6371:
--
Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Validation still occurs for deleted 'Controller Level' Controller Services 
> ---
>
> Key: NIFI-6371
> URL: https://issues.apache.org/jira/browse/NIFI-6371
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Nathan Gough
>Assignee: Mark Payne
>Priority: Major
>  Labels: controller_services, validator
> Fix For: 1.10.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> When verifying an XXE validator PR 
> ([https://github.com/alopresto/nifi/commits/pr3507]) for the 
> XmlConfigurationLookupService, Andy found that the validator on a 
> controller-level scoped controller service will still be executed/emit logs 
> even after it is deleted. This does not occur on the process-group scoped 
> controller services.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] asfgit closed pull request #3614: NIFI-6371: Fixed bug that caused root-level Controller Services to st…

2019-08-29 Thread GitBox
asfgit closed pull request #3614: NIFI-6371: Fixed bug that caused root-level 
Controller Services to st…
URL: https://github.com/apache/nifi/pull/3614
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (NIFI-6371) Validation still occurs for deleted 'Controller Level' Controller Services

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918928#comment-16918928
 ] 

ASF subversion and git services commented on NIFI-6371:
---

Commit 254a84d74da1cd5299e67605e8e20e6e4f839457 in nifi's branch 
refs/heads/master from Mark Payne
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=254a84d ]

NIFI-6371: Fixed bug that caused root-level Controller Services to stay cached 
and therefore continually be validated, even after being deleted. Also cleaned 
up code that looked for specific text in Exceptions instead of of catching 
specific Exceptions

This closes #3614.

Signed-off-by: Bryan Bende 


> Validation still occurs for deleted 'Controller Level' Controller Services 
> ---
>
> Key: NIFI-6371
> URL: https://issues.apache.org/jira/browse/NIFI-6371
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Nathan Gough
>Assignee: Mark Payne
>Priority: Major
>  Labels: controller_services, validator
> Fix For: 1.10.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When verifying an XXE validator PR 
> ([https://github.com/alopresto/nifi/commits/pr3507]) for the 
> XmlConfigurationLookupService, Andy found that the validator on a 
> controller-level scoped controller service will still be executed/emit logs 
> even after it is deleted. This does not occur on the process-group scoped 
> controller services.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (NIFI-6603) Variables: There is no way to cancel creating a new variable unless a variable name is provided.

2019-08-29 Thread Andrew Lim (Jira)
Andrew Lim created NIFI-6603:


 Summary: Variables: There is no way to cancel creating a new 
variable unless a variable name is provided.
 Key: NIFI-6603
 URL: https://issues.apache.org/jira/browse/NIFI-6603
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core UI
Reporter: Andrew Lim


Open the variables window and select "+" . In the New Variable window do not 
enter a value for the Variable Name field and select "OK". A Configuration 
Error dialog is shown, select "OK". There is no way for the user to stop 
variable creation without entering a name and then selecting Cancel from the 
Variables window.  We should add a "Cancel" button to the "New Variable" window.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (NIFI-6602) Parameters: "Apply" button should be greyed out if no changes have been

2019-08-29 Thread Andrew Lim (Jira)
Andrew Lim created NIFI-6602:


 Summary: Parameters: "Apply" button should be greyed out if no 
changes have been
 Key: NIFI-6602
 URL: https://issues.apache.org/jira/browse/NIFI-6602
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core UI
Reporter: Andrew Lim


Open the Parameters Context window. Whether on the Settings tab or Parameters 
tab, the "Apply" button is available for selection immediately even when no 
edits have been made to apply.  If selected, the window is closed which is what 
the Cancel button is for.

 

Noticed while testing the PR branch for NIFI-6282.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (NIFI-6601) Variables: "Apply" button should be greyed out if no changes have been made

2019-08-29 Thread Andrew Lim (Jira)
Andrew Lim created NIFI-6601:


 Summary: Variables: "Apply" button should be greyed out if no 
changes have been made
 Key: NIFI-6601
 URL: https://issues.apache.org/jira/browse/NIFI-6601
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core UI
Reporter: Andrew Lim


After opening the Variables window, the "Apply" button is available for 
selection immediately even when no edits have been made to apply.  If selected, 
the window is closed which is what the Cancel button is for.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319228444
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetRecordSetWriter.java
 ##
 @@ -0,0 +1,125 @@
+/*
+ * 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.parquet;
+
+import org.apache.avro.generic.GenericRecord;
+import org.apache.commons.io.IOUtils;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.Path;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.controller.ConfigurationContext;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.schema.access.SchemaAccessUtils;
+import org.apache.nifi.schema.access.SchemaNotFoundException;
+import org.apache.nifi.serialization.RecordSetWriter;
+import org.apache.nifi.serialization.record.MapRecord;
+import org.apache.nifi.serialization.record.Record;
+import org.apache.nifi.serialization.record.RecordSchema;
+import org.apache.nifi.util.MockComponentLog;
+import org.apache.nifi.util.MockConfigurationContext;
+import org.apache.parquet.avro.AvroParquetReader;
+import org.apache.parquet.hadoop.ParquetReader;
+import org.apache.parquet.hadoop.util.HadoopInputFile;
+import org.apache.parquet.io.InputFile;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+public class TestParquetRecordSetWriter {
 
 Review comment:
   Added a test for one of the branches, but wasn't straight forward for the 
other. In practice I think it will always hit the code path with 
compiledAvroSchemaCache while running the real application.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] bbende commented on issue #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
bbende commented on issue #3679: NIFI-6089 Add Parquet record reader and writer
URL: https://github.com/apache/nifi/pull/3679#issuecomment-526321308
 
 
   Added new commit to address feedback.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (NIFI-6282) UI - create parameter context

2019-08-29 Thread Matt Gilman (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Gilman updated NIFI-6282:
--
Fix Version/s: 1.10.0
   Resolution: Fixed
   Status: Resolved  (was: Patch Available)

> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
> Fix For: 1.10.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] mcgilman closed pull request #3606: [WIP] Nifi 6282

2019-08-29 Thread GitBox
mcgilman closed pull request #3606: [WIP] Nifi 6282
URL: https://github.com/apache/nifi/pull/3606
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918884#comment-16918884
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918880#comment-16918880
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918871#comment-16918871
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918887#comment-16918887
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918876#comment-16918876
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918885#comment-16918885
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918883#comment-16918883
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918877#comment-16918877
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918874#comment-16918874
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] mcgilman commented on issue #3606: [WIP] Nifi 6282

2019-08-29 Thread GitBox
mcgilman commented on issue #3606: [WIP] Nifi 6282
URL: https://github.com/apache/nifi/pull/3606#issuecomment-526314519
 
 
   @scottyaslan Thanks for the PR! Lot's good stuff here. This has been merged 
to master. One issue I found that we should address in the future... 
   
   If the user does not have read access to the Process Group and they attempt 
to update a parameter context, they can access the Parameters context menu item 
if we are in the group in question. However, they cannot access the Parameters 
context menu item if they are in the parent group and select the group in 
question on the canvas. We likely need to update the back end to include the 
parameter context id in the process group entity. This is something that can be 
tracked in a follow on effort.
   
   @rfellows Thanks for the review!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918886#comment-16918886
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918878#comment-16918878
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918881#comment-16918881
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918879#comment-16918879
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918875#comment-16918875
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918872#comment-16918872
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6282) UI - create parameter context

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918882#comment-16918882
 ] 

ASF subversion and git services commented on NIFI-6282:
---

Commit f678c75d7004656918d4249db49350515cc2 in nifi's branch 
refs/heads/master from Scott Aslan
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f678c75 ]

[NIFI-6282] manage parameters and parameter contexts
[NIFI-6282] when creating a parameter context inline during PG configuration 
set the newly created parameter context as the selected option
[NIFI-6282] If a request to update a parameter context fails, then update the 
button model to give the user the ability to Apply or Cancel again.
[NIFI-6282] address pr review comments
[NIFI-6282] remove es6 let
[NIFI-6282] update marshall parameters logic and add comments
[NIFI-6282] deterministic parameter usage listing, update CS status on PG PC 
change, expand all twisties by default, remove es6 const
[NIFI-6282] update regex and
[NIFI-6282] update parameter loading/serialization/marshalling
[NIFI-6282] use referencingComponents instead of affectedComponents
[NIFI-6282] activate Apply button for sensitive parameter set empty string 
change
[NIFI-6282] fix bug with PG parameters context menu enable
[NIFI-6282] only allow delete and recreate of a parameter with equivalent 
sensitivity
[NIFI-6282] display referencing components during parameter management as well 
as during the parameter context update
[NIFI-6282] display no value set in parameter table when parameter value is null
[NIFI-6282]
- Add ellipsis to referencing component names.
- Addressing issues canceling update requests.
- Addressing issues with incorrect service scope.
- Addressing issue showing the affected parameters.


> UI - create parameter context
> -
>
> Key: NIFI-6282
> URL: https://issues.apache.org/jira/browse/NIFI-6282
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi-minifi-cpp] phrocker commented on a change in pull request #630: MINIFICPP-1006: minor updates for jni building using win build & correct artifact naming

2019-08-29 Thread GitBox
phrocker commented on a change in pull request #630: MINIFICPP-1006: minor 
updates for jni building using win build & correct artifact naming
URL: https://github.com/apache/nifi-minifi-cpp/pull/630#discussion_r319214222
 
 

 ##
 File path: msi/WixWin.wsi
 ##
 @@ -297,34 +316,58 @@
 ErrorControl="ignore"
 Start="auto"
 Interactive="no" />
-
+
 
+
+  
+  
+
+

[GitHub] [nifi-minifi-cpp] phrocker commented on a change in pull request #630: MINIFICPP-1006: minor updates for jni building using win build & correct artifact naming

2019-08-29 Thread GitBox
phrocker commented on a change in pull request #630: MINIFICPP-1006: minor 
updates for jni building using win build & correct artifact naming
URL: https://github.com/apache/nifi-minifi-cpp/pull/630#discussion_r319214222
 
 

 ##
 File path: msi/WixWin.wsi
 ##
 @@ -297,34 +316,58 @@
 ErrorControl="ignore"
 Start="auto"
 Interactive="no" />
-
+
 
+
+  
+  
+
+

[GitHub] [nifi] dbkegley commented on a change in pull request #3651: NIFI-6539 Nifi stateless init from flow xml

2019-08-29 Thread GitBox
dbkegley commented on a change in pull request #3651: NIFI-6539 Nifi stateless 
init from flow xml
URL: https://github.com/apache/nifi/pull/3651#discussion_r319208438
 
 

 ##
 File path: 
nifi-stateless/nifi-stateless-core/src/main/java/org/apache/nifi/stateless/core/StatelessFlow.java
 ##
 @@ -175,28 +194,32 @@ public StatelessFlow(final VersionedProcessGroup flow, 
final ExtensionManager ex
 componentMap.put(source.getId(), sourceComponent);
 }
 break;
+
 case REMOTE_INPUT_PORT:
-throw new IllegalArgumentException("Unsupported source 
type: " + source.getType());
+throw new IllegalArgumentException("Unsupported source 
type: " + source.getId());
 
 Review comment:
   Got it. Thanks for the quick response!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319207274
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/stream/NifiSeekableInputStream.java
 ##
 @@ -0,0 +1,72 @@
+/*
+ * 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.parquet.stream;
+
+import org.apache.nifi.stream.io.ByteCountingInputStream;
+import org.apache.nifi.stream.io.StreamUtils;
+import org.apache.parquet.io.DelegatingSeekableInputStream;
+
+import java.io.IOException;
+
+public class NifiSeekableInputStream extends DelegatingSeekableInputStream {
+
+private final ByteCountingInputStream input;
+
+public NifiSeekableInputStream(final ByteCountingInputStream input) {
+super(input);
+this.input = input;
+this.input.mark(Integer.MAX_VALUE);
+}
+
+@Override
+public long getPos() throws IOException {
+return input.getBytesConsumed();
+}
+
+@Override
+public void seek(long newPos) throws IOException {
+final long currentPos = getPos();
+if (newPos == currentPos) {
+return;
+}
+
+if (newPos > currentPos) {
+// seeking forward so skip ahead the difference from current pos 
to new pos
+StreamUtils.skip(input, newPos - getPos());
+} else {
+// seeking backwards so first reset back to beginning of the 
stream then seek
+input.reset();
+input.mark(Integer.MAX_VALUE);
+StreamUtils.skip(input, newPos - getPos());
 
 Review comment:
   Will update


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319207591
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/stream/NifiSeekableInputStream.java
 ##
 @@ -0,0 +1,72 @@
+/*
+ * 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.parquet.stream;
+
+import org.apache.nifi.stream.io.ByteCountingInputStream;
+import org.apache.nifi.stream.io.StreamUtils;
+import org.apache.parquet.io.DelegatingSeekableInputStream;
+
+import java.io.IOException;
+
+public class NifiSeekableInputStream extends DelegatingSeekableInputStream {
 
 Review comment:
   We could, but seek will be used during the main unit test for the reader and 
would fail if seek didn't work


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319207206
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/utils/ParquetUtils.java
 ##
 @@ -96,18 +97,40 @@
 
.allowableValues(org.apache.parquet.column.ParquetProperties.WriterVersion.values())
 .build();
 
-public static List COMPRESSION_TYPES = 
getCompressionTypes();
+public static final PropertyDescriptor AVRO_READ_COMPATIBILITY = new 
PropertyDescriptor.Builder()
+.name("avro-read-compatibility")
+.displayName("Avro Read Compatibility")
+.description("Specifies the value for 'parquet.avro.compatible' in 
the underlying Parquet library")
+.allowableValues("true", "false")
+.defaultValue("true")
+.required(true)
+.build();
 
-public static final PropertyDescriptor COMPRESSION_TYPE = new 
PropertyDescriptor.Builder()
-.name("compression-type")
-.displayName("Compression Type")
-.description("The type of compression for the file being written.")
-.allowableValues(COMPRESSION_TYPES.toArray(new AllowableValue[0]))
-.defaultValue(COMPRESSION_TYPES.get(0).getValue())
+public static final String PARQUET_AVRO_ADD_LIST_ELEMENT_RECORDS = 
"parquet.avro.add-list-element-records";
+
+public static final PropertyDescriptor AVRO_ADD_LIST_ELEMENT_RECORDS = new 
PropertyDescriptor.Builder()
+.name("avro-add-list-element-records")
+.displayName("Avro Add List Element Records")
+.description("Specifies the value for 
'parquet.avro.add-list-element-records' in the underlying Parquet library")
+.allowableValues("true", "false")
+.defaultValue("true")
+.required(true)
+.build();
+
+public static final String PARQUET_AVRO_WRITE_OLD_LIST_STRUCTURE = 
"parquet.avro.write-old-list-structure";
+
+public static final PropertyDescriptor AVRO_WRITE_OLD_LIST_STRUCTURE = new 
PropertyDescriptor.Builder()
+.name("avro-write-old-list-structure")
+.displayName("Avro Write Old List Structure")
+.description("Specifies the value for 
'parquet.avro.write-old-list-structure' in the underlying Parquet library")
+.allowableValues("true", "false")
+.defaultValue("true")
 .required(true)
 .build();
 
-public static List getCompressionTypes() {
+public static List COMPRESSION_TYPES = 
getCompressionTypes();
 
 Review comment:
   Will update


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319207154
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/record/ParquetRecordReader.java
 ##
 @@ -0,0 +1,94 @@
+/*
+ * 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.parquet.record;
+
+import org.apache.avro.generic.GenericRecord;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.nifi.avro.AvroTypeUtil;
+import org.apache.nifi.parquet.stream.NifiParquetInputFile;
+import org.apache.nifi.serialization.RecordReader;
+import org.apache.nifi.serialization.record.MapRecord;
+import org.apache.nifi.serialization.record.Record;
+import org.apache.nifi.serialization.record.RecordSchema;
+import org.apache.parquet.avro.AvroParquetReader;
+import org.apache.parquet.hadoop.ParquetReader;
+import org.apache.parquet.io.InputFile;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+
+public class ParquetRecordReader implements RecordReader {
+
+private GenericRecord lastParquetRecord;
+private RecordSchema recordSchema;
+
+private final InputStream inputStream;
+private final InputFile inputFile;
+private final ParquetReader parquetReader;
+
+public ParquetRecordReader(final InputStream inputStream, final long 
inputLength, final Configuration configuration) throws IOException {
+if (inputLength < 0) {
+throw new IllegalArgumentException("Invalid input length of '" + 
inputLength + "'. This record reader requires knowing " +
+"the length of the InputStream and cannot be used in some 
cases where the length may not be known.");
+}
+
+this.inputStream = inputStream;
+
+inputFile = new NifiParquetInputFile(inputStream, inputLength);
+parquetReader = 
AvroParquetReader.builder(inputFile).withConf(configuration).build();
+
+// Read the first record so that we can extract the schema
+lastParquetRecord = parquetReader.read();
+
+// TODO what if lastParquetRecord is null ?
 
 Review comment:
   Will update


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319207098
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetReader.java
 ##
 @@ -0,0 +1,59 @@
+/*
+ * 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.parquet;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.controller.AbstractControllerService;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.parquet.record.ParquetRecordReader;
+import org.apache.nifi.parquet.utils.ParquetConfig;
+import org.apache.nifi.parquet.utils.ParquetUtils;
+import org.apache.nifi.serialization.RecordReader;
+import org.apache.nifi.serialization.RecordReaderFactory;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import static org.apache.nifi.parquet.utils.ParquetUtils.applyCommonConfig;
+import static org.apache.nifi.parquet.utils.ParquetUtils.createParquetConfig;
+
+@Tags({"parquet", "parse", "record", "row", "reader"})
+@CapabilityDescription("Parses Parquet data and returns each Parquet record as 
an separate Record object. " +
 
 Review comment:
   Will update


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (NIFI-6510) Predictive Analytics for NiFi Metrics

2019-08-29 Thread Yolanda M. Davis (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yolanda M. Davis updated NIFI-6510:
---
Assignee: Yolanda M. Davis
  Status: Patch Available  (was: Open)

> Predictive Analytics for NiFi Metrics
> -
>
> Key: NIFI-6510
> URL: https://issues.apache.org/jira/browse/NIFI-6510
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Andrew Christianson
>Assignee: Yolanda M. Davis
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> From Yolanda's email to the list:
>  
> {noformat}
> Currently NiFi has lots of metrics available for areas including jvm and flow 
> component usage (via component status) as well as provenance data which NiFi 
> makes available either through the UI or reporting tasks (for consumption by 
> other systems). Past discussions in the community cite users shipping this 
> data to applications such as Prometheus, ELK stacks, or Ambari metrics for 
> further analysis in order to capture/review performance issues, detect 
> anomalies, and send alerts or notifications. These systems are efficient in 
> capturing and helping to analyze these metrics however it requires 
> customization work and knowledge of NiFi operations to provide meaningful 
> analytics within a flow context.
> In speaking with Matt Burgess and Andy Christianson on this topic we feel 
> that there is an opportunity to introduce an analytics framework that could 
> provide users reasonable predictions on key performance indicators for flows, 
> such as back pressure and flow rate, to help administrators improve 
> operational management of NiFi clusters. This framework could offer several 
> key features:
> - Provide a flexible internal analytics engine and model api which supports 
> the addition of or enhancement to onboard models
> - Support integration of remote or cloud based ML models
> - Support both traditional and online (incremental) learning methods
> - Provide support for model caching (perhaps later inclusion into a model 
> repository or registry)
> - UI enhancements to display prediction information either in existing 
> summary data, new data visualizations, or directly within the flow/canvas 
> (where applicable)
> For an initial target we thought that back pressure prediction would be a 
> good starting point for this initiative, given that back pressure detection 
> is a key indicator of flow performance and many of the metrics currently 
> available would provide enough data points to create a reasonable performing 
> model. We have some ideas on how this could be achieved however we wanted to 
> discuss this more with the community to get thoughts about tackling this 
> work, especially if there are specific use cases or other factors that should 
> be considered.{noformat}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (NIFI-6510) Predictive Analytics for NiFi Metrics

2019-08-29 Thread Yolanda M. Davis (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yolanda M. Davis updated NIFI-6510:
---
Fix Version/s: 1.10.0

> Predictive Analytics for NiFi Metrics
> -
>
> Key: NIFI-6510
> URL: https://issues.apache.org/jira/browse/NIFI-6510
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Andrew Christianson
>Assignee: Yolanda M. Davis
>Priority: Major
> Fix For: 1.10.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> From Yolanda's email to the list:
>  
> {noformat}
> Currently NiFi has lots of metrics available for areas including jvm and flow 
> component usage (via component status) as well as provenance data which NiFi 
> makes available either through the UI or reporting tasks (for consumption by 
> other systems). Past discussions in the community cite users shipping this 
> data to applications such as Prometheus, ELK stacks, or Ambari metrics for 
> further analysis in order to capture/review performance issues, detect 
> anomalies, and send alerts or notifications. These systems are efficient in 
> capturing and helping to analyze these metrics however it requires 
> customization work and knowledge of NiFi operations to provide meaningful 
> analytics within a flow context.
> In speaking with Matt Burgess and Andy Christianson on this topic we feel 
> that there is an opportunity to introduce an analytics framework that could 
> provide users reasonable predictions on key performance indicators for flows, 
> such as back pressure and flow rate, to help administrators improve 
> operational management of NiFi clusters. This framework could offer several 
> key features:
> - Provide a flexible internal analytics engine and model api which supports 
> the addition of or enhancement to onboard models
> - Support integration of remote or cloud based ML models
> - Support both traditional and online (incremental) learning methods
> - Provide support for model caching (perhaps later inclusion into a model 
> repository or registry)
> - UI enhancements to display prediction information either in existing 
> summary data, new data visualizations, or directly within the flow/canvas 
> (where applicable)
> For an initial target we thought that back pressure prediction would be a 
> good starting point for this initiative, given that back pressure detection 
> is a key indicator of flow performance and many of the metrics currently 
> available would provide enough data points to create a reasonable performing 
> model. We have some ideas on how this could be achieved however we wanted to 
> discuss this more with the community to get thoughts about tackling this 
> work, especially if there are specific use cases or other factors that should 
> be considered.{noformat}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (NIFI-6574) Add check for valid predictionIntervalMillis value

2019-08-29 Thread Yolanda M. Davis (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yolanda M. Davis updated NIFI-6574:
---
Description: For backpressure prediction the predictionIntervalMillis 
should have a validity check for value provided. If invalid default value 
should be set with a warning in logs.  (was: For the predictionIntervalMillis, 
add a validity check for value provided. If invalid default value should be set 
with an warning in logs.)

> Add check for valid predictionIntervalMillis value
> --
>
> Key: NIFI-6574
> URL: https://issues.apache.org/jira/browse/NIFI-6574
> Project: Apache NiFi
>  Issue Type: Sub-task
>Reporter: Yolanda M. Davis
>Priority: Minor
>
> For backpressure prediction the predictionIntervalMillis should have a 
> validity check for value provided. If invalid default value should be set 
> with a warning in logs.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
bbende commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319202703
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/record/listen/StandardSocketChannelRecordReader.java
 ##
 @@ -48,13 +48,13 @@ public StandardSocketChannelRecordReader(final 
SocketChannel socketChannel,
 }
 
 @Override
-public RecordReader createRecordReader(final FlowFile flowFile, final 
ComponentLog logger) throws IOException, MalformedRecordException, 
SchemaNotFoundException {
+public RecordReader createRecordReader(final ComponentLog logger) throws 
IOException, MalformedRecordException, SchemaNotFoundException {
 if (recordReader != null) {
 
 Review comment:
   I did attempt to make that change, however it caused failures in the unit 
tests for ListenTCPRecord and was unclear at the time if it was just due to the 
way the tests were setup, or a real problem. So I decided to leave the reader 
being lazily created, but no longer requiring a FlowFile since we can call the 
alternate method signature for creating a reader.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] tpalfy commented on a change in pull request #3651: NIFI-6539 Nifi stateless init from flow xml

2019-08-29 Thread GitBox
tpalfy commented on a change in pull request #3651: NIFI-6539 Nifi stateless 
init from flow xml
URL: https://github.com/apache/nifi/pull/3651#discussion_r319196394
 
 

 ##
 File path: 
nifi-stateless/nifi-stateless-core/src/main/java/org/apache/nifi/stateless/core/StatelessFlow.java
 ##
 @@ -175,28 +194,32 @@ public StatelessFlow(final VersionedProcessGroup flow, 
final ExtensionManager ex
 componentMap.put(source.getId(), sourceComponent);
 }
 break;
+
 case REMOTE_INPUT_PORT:
-throw new IllegalArgumentException("Unsupported source 
type: " + source.getType());
+throw new IllegalArgumentException("Unsupported source 
type: " + source.getId());
 
 Review comment:
   Shouldn't this be `source.getType()`?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (NIFI-6585) Update tests to decouple model validation from status analytics & engine validation

2019-08-29 Thread Yolanda M. Davis (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yolanda M. Davis updated NIFI-6585:
---
Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Update tests to decouple model validation from status analytics & engine 
> validation
> ---
>
> Key: NIFI-6585
> URL: https://issues.apache.org/jira/browse/NIFI-6585
> Project: Apache NiFi
>  Issue Type: Sub-task
>Reporter: Yolanda M. Davis
>Assignee: Yolanda M. Davis
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The Connection Status Analytics object and engine test currently operates 
> more as an integration test between the model and those instances.  We really 
> should mock the model and the extract functions (since separate tests exist 
> for that).



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Resolved] (NIFI-6586) Comments and Documentation for Admin Guide

2019-08-29 Thread Yolanda M. Davis (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yolanda M. Davis resolved NIFI-6586.

Resolution: Fixed

> Comments and Documentation for Admin Guide
> --
>
> Key: NIFI-6586
> URL: https://issues.apache.org/jira/browse/NIFI-6586
> Project: Apache NiFi
>  Issue Type: Sub-task
>Reporter: Yolanda M. Davis
>Assignee: Yolanda M. Davis
>Priority: Major
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> -Update code with comments as needed.
> -Include summary of analytics engine as well as configuration guide in admin 
> docs.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] achristianson opened a new pull request #3681: NIFI-6510 - Analytics framework

2019-08-29 Thread GitBox
achristianson opened a new pull request #3681: NIFI-6510 - Analytics framework
URL: https://github.com/apache/nifi/pull/3681
 
 
    Description of PR
   
   ```
   Currently NiFi has lots of metrics available for areas including jvm and 
flow component usage (via component status) as well as provenance data which 
NiFi makes available either through the UI or reporting tasks (for consumption 
by other systems). Past discussions in the community cite users shipping this 
data to applications such as Prometheus, ELK stacks, or Ambari metrics for 
further analysis in order to capture/review performance issues, detect 
anomalies, and send alerts or notifications. These systems are efficient in 
capturing and helping to analyze these metrics however it requires 
customization work and knowledge of NiFi operations to provide meaningful 
analytics within a flow context.
   
   In speaking with Matt Burgess and Andy Christianson on this topic we feel 
that there is an opportunity to introduce an analytics framework that could 
provide users reasonable predictions on key performance indicators for flows, 
such as back pressure and flow rate, to help administrators improve operational 
management of NiFi clusters. This framework could offer several key features:
   
   - Provide a flexible internal analytics engine and model api which supports 
the addition of or enhancement to onboard models
   - Support integration of remote or cloud based ML models
   - Support both traditional and online (incremental) learning methods
   - Provide support for model caching (perhaps later inclusion into a model 
repository or registry)
   - UI enhancements to display prediction information either in existing 
summary data, new data visualizations, or directly within the flow/canvas 
(where applicable)
   
   For an initial target we thought that back pressure prediction would be a 
good starting point for this initiative, given that back pressure detection is 
a key indicator of flow performance and many of the metrics currently available 
would provide enough data points to create a reasonable performing model. We 
have some ideas on how this could be achieved however we wanted to discuss this 
more with the community to get thoughts about tackling this work, especially if 
there are specific use cases or other factors that should be considered
   
   This closes NIFI-6510.
   ```
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced 
in the commit message?
   
   - [ ] Does your PR title start with **NIFI-** where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically `master`)?
   
   - [ ] Is your initial contribution a single, squashed commit? _Additional 
commits in response to PR reviewer feedback should be made on this branch and 
pushed to allow change tracking. Do not `squash` or use `--force` when pushing 
to allow for clean monitoring of changes._
   
   ### For code changes:
   - [ ] Have you ensured that the full suite of tests is executed via `mvn 
-Pcontrib-check clean install` at the root `nifi` folder?
   - [ ] Have you written or updated unit tests to verify your changes?
   - [ ] Have you verified that the full build is successful on both JDK 8 and 
JDK 11?
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
   - [ ] If applicable, have you updated the `LICENSE` file, including the main 
`LICENSE` file under `nifi-assembly`?
   - [ ] If applicable, have you updated the `NOTICE` file, including the main 
`NOTICE` file found under `nifi-assembly`?
   - [ ] If adding new Properties, have you added `.displayName` in addition to 
.name (programmatic access) for each of the new properties?
   
   ### For documentation related changes:
   - [ ] Have you ensured that format looks appropriate for the output in which 
it is rendered?
   
   ### Note:
   Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] phrocker commented on issue #605: MINIFICPP-550 - Implement RocksDB controller service and component st…

2019-08-29 Thread GitBox
phrocker commented on issue #605: MINIFICPP-550 - Implement RocksDB controller 
service and component st…
URL: https://github.com/apache/nifi-minifi-cpp/pull/605#issuecomment-526277276
 
 
   @bakaid I think this is a pretty important piece of functionality especially 
as it relates to dealing with state more gracefully on windows (CWEL needs for 
example ) -- is this ready for review?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319080359
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-standard-record-utils/src/main/java/org/apache/nifi/record/listen/StandardSocketChannelRecordReader.java
 ##
 @@ -48,13 +48,13 @@ public StandardSocketChannelRecordReader(final 
SocketChannel socketChannel,
 }
 
 @Override
-public RecordReader createRecordReader(final FlowFile flowFile, final 
ComponentLog logger) throws IOException, MalformedRecordException, 
SchemaNotFoundException {
+public RecordReader createRecordReader(final ComponentLog logger) throws 
IOException, MalformedRecordException, SchemaNotFoundException {
 if (recordReader != null) {
 
 Review comment:
   Shouldn't this recordReader be created in the constructor (as the interface 
before the change has alluded to)?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319172860
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/test/java/org/apache/nifi/parquet/TestParquetRecordSetWriter.java
 ##
 @@ -0,0 +1,125 @@
+/*
+ * 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.parquet;
+
+import org.apache.avro.generic.GenericRecord;
+import org.apache.commons.io.IOUtils;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.Path;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.controller.ConfigurationContext;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.schema.access.SchemaAccessUtils;
+import org.apache.nifi.schema.access.SchemaNotFoundException;
+import org.apache.nifi.serialization.RecordSetWriter;
+import org.apache.nifi.serialization.record.MapRecord;
+import org.apache.nifi.serialization.record.Record;
+import org.apache.nifi.serialization.record.RecordSchema;
+import org.apache.nifi.util.MockComponentLog;
+import org.apache.nifi.util.MockConfigurationContext;
+import org.apache.parquet.avro.AvroParquetReader;
+import org.apache.parquet.hadoop.ParquetReader;
+import org.apache.parquet.hadoop.util.HadoopInputFile;
+import org.apache.parquet.io.InputFile;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+public class TestParquetRecordSetWriter {
 
 Review comment:
   Not sure how relevant but doesn't cover the 2 cases where `avroSchema = 
AvroTypeUtil.extractAvroSchema(recordSchema);`


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319123146
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/record/ParquetRecordReader.java
 ##
 @@ -0,0 +1,94 @@
+/*
+ * 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.parquet.record;
+
+import org.apache.avro.generic.GenericRecord;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.nifi.avro.AvroTypeUtil;
+import org.apache.nifi.parquet.stream.NifiParquetInputFile;
+import org.apache.nifi.serialization.RecordReader;
+import org.apache.nifi.serialization.record.MapRecord;
+import org.apache.nifi.serialization.record.Record;
+import org.apache.nifi.serialization.record.RecordSchema;
+import org.apache.parquet.avro.AvroParquetReader;
+import org.apache.parquet.hadoop.ParquetReader;
+import org.apache.parquet.io.InputFile;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+
+public class ParquetRecordReader implements RecordReader {
+
+private GenericRecord lastParquetRecord;
+private RecordSchema recordSchema;
+
+private final InputStream inputStream;
+private final InputFile inputFile;
+private final ParquetReader parquetReader;
+
+public ParquetRecordReader(final InputStream inputStream, final long 
inputLength, final Configuration configuration) throws IOException {
+if (inputLength < 0) {
+throw new IllegalArgumentException("Invalid input length of '" + 
inputLength + "'. This record reader requires knowing " +
+"the length of the InputStream and cannot be used in some 
cases where the length may not be known.");
+}
+
+this.inputStream = inputStream;
+
+inputFile = new NifiParquetInputFile(inputStream, inputLength);
+parquetReader = 
AvroParquetReader.builder(inputFile).withConf(configuration).build();
+
+// Read the first record so that we can extract the schema
+lastParquetRecord = parquetReader.read();
+
+// TODO what if lastParquetRecord is null ?
 
 Review comment:
   Unresolved TODO


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319145080
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/utils/ParquetUtils.java
 ##
 @@ -96,18 +97,40 @@
 
.allowableValues(org.apache.parquet.column.ParquetProperties.WriterVersion.values())
 .build();
 
-public static List COMPRESSION_TYPES = 
getCompressionTypes();
+public static final PropertyDescriptor AVRO_READ_COMPATIBILITY = new 
PropertyDescriptor.Builder()
+.name("avro-read-compatibility")
+.displayName("Avro Read Compatibility")
+.description("Specifies the value for 'parquet.avro.compatible' in 
the underlying Parquet library")
+.allowableValues("true", "false")
+.defaultValue("true")
+.required(true)
+.build();
 
-public static final PropertyDescriptor COMPRESSION_TYPE = new 
PropertyDescriptor.Builder()
-.name("compression-type")
-.displayName("Compression Type")
-.description("The type of compression for the file being written.")
-.allowableValues(COMPRESSION_TYPES.toArray(new AllowableValue[0]))
-.defaultValue(COMPRESSION_TYPES.get(0).getValue())
+public static final String PARQUET_AVRO_ADD_LIST_ELEMENT_RECORDS = 
"parquet.avro.add-list-element-records";
+
+public static final PropertyDescriptor AVRO_ADD_LIST_ELEMENT_RECORDS = new 
PropertyDescriptor.Builder()
+.name("avro-add-list-element-records")
+.displayName("Avro Add List Element Records")
+.description("Specifies the value for 
'parquet.avro.add-list-element-records' in the underlying Parquet library")
+.allowableValues("true", "false")
+.defaultValue("true")
+.required(true)
+.build();
+
+public static final String PARQUET_AVRO_WRITE_OLD_LIST_STRUCTURE = 
"parquet.avro.write-old-list-structure";
+
+public static final PropertyDescriptor AVRO_WRITE_OLD_LIST_STRUCTURE = new 
PropertyDescriptor.Builder()
+.name("avro-write-old-list-structure")
+.displayName("Avro Write Old List Structure")
+.description("Specifies the value for 
'parquet.avro.write-old-list-structure' in the underlying Parquet library")
+.allowableValues("true", "false")
+.defaultValue("true")
 .required(true)
 .build();
 
-public static List getCompressionTypes() {
+public static List COMPRESSION_TYPES = 
getCompressionTypes();
 
 Review comment:
   Minor: Could be final.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319153864
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/stream/NifiSeekableInputStream.java
 ##
 @@ -0,0 +1,72 @@
+/*
+ * 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.parquet.stream;
+
+import org.apache.nifi.stream.io.ByteCountingInputStream;
+import org.apache.nifi.stream.io.StreamUtils;
+import org.apache.parquet.io.DelegatingSeekableInputStream;
+
+import java.io.IOException;
+
+public class NifiSeekableInputStream extends DelegatingSeekableInputStream {
 
 Review comment:
   Maybe a simple unit test would be useful to cover the `seek` method.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319088098
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/ParquetReader.java
 ##
 @@ -0,0 +1,59 @@
+/*
+ * 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.parquet;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.controller.AbstractControllerService;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.parquet.record.ParquetRecordReader;
+import org.apache.nifi.parquet.utils.ParquetConfig;
+import org.apache.nifi.parquet.utils.ParquetUtils;
+import org.apache.nifi.serialization.RecordReader;
+import org.apache.nifi.serialization.RecordReaderFactory;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import static org.apache.nifi.parquet.utils.ParquetUtils.applyCommonConfig;
+import static org.apache.nifi.parquet.utils.ParquetUtils.createParquetConfig;
+
+@Tags({"parquet", "parse", "record", "row", "reader"})
+@CapabilityDescription("Parses Parquet data and returns each Parquet record as 
an separate Record object. " +
 
 Review comment:
   Minor: Typos: "an separate"


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet record reader and writer

2019-08-29 Thread GitBox
tpalfy commented on a change in pull request #3679: NIFI-6089 Add Parquet 
record reader and writer
URL: https://github.com/apache/nifi/pull/3679#discussion_r319153527
 
 

 ##
 File path: 
nifi-nar-bundles/nifi-parquet-bundle/nifi-parquet-processors/src/main/java/org/apache/nifi/parquet/stream/NifiSeekableInputStream.java
 ##
 @@ -0,0 +1,72 @@
+/*
+ * 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.parquet.stream;
+
+import org.apache.nifi.stream.io.ByteCountingInputStream;
+import org.apache.nifi.stream.io.StreamUtils;
+import org.apache.parquet.io.DelegatingSeekableInputStream;
+
+import java.io.IOException;
+
+public class NifiSeekableInputStream extends DelegatingSeekableInputStream {
+
+private final ByteCountingInputStream input;
+
+public NifiSeekableInputStream(final ByteCountingInputStream input) {
+super(input);
+this.input = input;
+this.input.mark(Integer.MAX_VALUE);
+}
+
+@Override
+public long getPos() throws IOException {
+return input.getBytesConsumed();
+}
+
+@Override
+public void seek(long newPos) throws IOException {
+final long currentPos = getPos();
+if (newPos == currentPos) {
+return;
+}
+
+if (newPos > currentPos) {
+// seeking forward so skip ahead the difference from current pos 
to new pos
+StreamUtils.skip(input, newPos - getPos());
+} else {
+// seeking backwards so first reset back to beginning of the 
stream then seek
+input.reset();
+input.mark(Integer.MAX_VALUE);
+StreamUtils.skip(input, newPos - getPos());
 
 Review comment:
   Technically correct but maybe writing `StreamUtils.skip(input, newPos);` 
would convey the intent better.
   
   (It would also possible to simplify the `if-else` to something like this:
   
   ```java
   if (newPos < currentPos) {
   // seeking backwards so first reset back to beginning of the 
stream then seek
   input.reset();
   input.mark(Integer.MAX_VALUE);
   }
   StreamUtils.skip(input, newPos - getPos());
   ```
   )


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] jdye64 commented on issue #638: MINIFICPP-1018 - Fix linking issues

2019-08-29 Thread GitBox
jdye64 commented on issue #638: MINIFICPP-1018 - Fix linking issues
URL: https://github.com/apache/nifi-minifi-cpp/pull/638#issuecomment-526271094
 
 
   ok - this does satisfy my needs but I'll wait until you look into the 
parallel builds before merging. Thanks!


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] bakaid edited a comment on issue #638: MINIFICPP-1018 - Fix linking issues

2019-08-29 Thread GitBox
bakaid edited a comment on issue #638: MINIFICPP-1018 - Fix linking issues
URL: https://github.com/apache/nifi-minifi-cpp/pull/638#issuecomment-526268424
 
 
   The fix is not completely ready yet, I myself have seen some failures with 
parallel builds. I think some dependencies are wrong, I plan to look into it 
tomorrow. (Which means that unless it is not very urgent, it would be better to 
merge this after that.)


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] bakaid commented on issue #638: MINIFICPP-1018 - Fix linking issues

2019-08-29 Thread GitBox
bakaid commented on issue #638: MINIFICPP-1018 - Fix linking issues
URL: https://github.com/apache/nifi-minifi-cpp/pull/638#issuecomment-526268424
 
 
   The fix is not completely ready yet, I myself have seen some failures with 
parallel builds. I think some dependencies are wrong, I plan to look into it 
tomorrow.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] jdye64 commented on issue #638: MINIFICPP-1018 - Fix linking issues

2019-08-29 Thread GitBox
jdye64 commented on issue #638: MINIFICPP-1018 - Fix linking issues
URL: https://github.com/apache/nifi-minifi-cpp/pull/638#issuecomment-526267330
 
 
   ok. It builds now. Interesting point however. It builds just fine with 
"make" but takes forever. If I try to run make -j16 however it fails fast. This 
is a beast of a workstation coming in at about $20K so wouldn't expect to see 
if fail like that. I'm running dual Intel Xeon Platinums as well so that was 
the reason for the -j16 to consume a single processor.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] bakaid opened a new pull request #638: MINIFICPP-1018 - Fix linking issues

2019-08-29 Thread GitBox
bakaid opened a new pull request #638: MINIFICPP-1018 - Fix linking issues
URL: https://github.com/apache/nifi-minifi-cpp/pull/638
 
 
   Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
   
   - [ ] Does your PR title start with MINIFICPP- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically master)?
   
   - [ ] 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 travis-ci for build 
issues and submit an update to your PR as soon as possible.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] arpadboda edited a comment on issue #636: Minificpp-780 - Change GenerateFlowFile to allow 0b content FlowFiles

2019-08-29 Thread GitBox
arpadboda edited a comment on issue #636: Minificpp-780 - Change 
GenerateFlowFile to allow 0b content FlowFiles
URL: https://github.com/apache/nifi-minifi-cpp/pull/636#issuecomment-526239247
 
 
   While checking this processor I found the following issues:
   -In case batch count is greater than one, the flowfiles generated in one 
batch are not unique
   -Handling of 0B size was error-prone: allocating zero size arrays, passing 
null pointers to callbacks, etc
   -A potential memory segmentation violation in case the file size is not 
multiple of 4. 
   
   Because of these it was easier to completely rewrite the logic than fixing 
it. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] arpadboda commented on issue #636: Minificpp-780 - Change GenerateFlowFile to allow 0b content FlowFiles

2019-08-29 Thread GitBox
arpadboda commented on issue #636: Minificpp-780 - Change GenerateFlowFile to 
allow 0b content FlowFiles
URL: https://github.com/apache/nifi-minifi-cpp/pull/636#issuecomment-526239247
 
 
   While checking this processor I found the following issues:
   -In case batch count is greater than one, the flowfiles generated in one 
batch are not unique
   -Handling of 0B size was error-prone: allocating zero size arrays, passing 
null pointers to callbacks, etc
   -A potential memory segmentation violation in case the file size is not 
multiple of 4. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] arpadboda commented on issue #636: Minificpp-780 - Change GenerateFlowFile to allow 0b content FlowFiles

2019-08-29 Thread GitBox
arpadboda commented on issue #636: Minificpp-780 - Change GenerateFlowFile to 
allow 0b content FlowFiles
URL: https://github.com/apache/nifi-minifi-cpp/pull/636#issuecomment-526237971
 
 
   WARNING: this PR depends on #637 - that one should be merged first, 
otherwise tests included in this are going to fail. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi-minifi-cpp] arpadboda opened a new pull request #637: MINIFICPP-1020 - PutFile fails to create empty files

2019-08-29 Thread GitBox
arpadboda opened a new pull request #637: MINIFICPP-1020 - PutFile fails to 
create empty files
URL: https://github.com/apache/nifi-minifi-cpp/pull/637
 
 
   Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
   
   - [ ] Does your PR title start with MINIFICPP- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically master)?
   
   - [ ] 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 travis-ci for build 
issues and submit an update to your PR as soon as possible.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Created] (MINIFICPP-1020) PutFile fails to create empty files

2019-08-29 Thread Arpad Boda (Jira)
Arpad Boda created MINIFICPP-1020:
-

 Summary: PutFile fails to create empty files
 Key: MINIFICPP-1020
 URL: https://issues.apache.org/jira/browse/MINIFICPP-1020
 Project: Apache NiFi MiNiFi C++
  Issue Type: Bug
Affects Versions: 0.6.0
Reporter: Arpad Boda
Assignee: Arpad Boda
 Fix For: 0.7.0


PutFile processor fails to create empty files (in case the incoming flowfile 
has no content) and routes to failure (also rolls back session). 



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi-minifi-cpp] arpadboda opened a new pull request #636: Minificpp 780

2019-08-29 Thread GitBox
arpadboda opened a new pull request #636: Minificpp 780
URL: https://github.com/apache/nifi-minifi-cpp/pull/636
 
 
   Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
   
   In order to streamline the review of the contribution we ask you
   to ensure the following steps have been taken:
   
   ### For all changes:
   - [ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
   
   - [ ] Does your PR title start with MINIFICPP- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.
   
   - [ ] Has your PR been rebased against the latest commit within the target 
branch (typically master)?
   
   - [ ] 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 travis-ci for build 
issues and submit an update to your PR as soon as possible.
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Resolved] (NIFI-6588) Move graph bundle to profile in assembly

2019-08-29 Thread Bryan Bende (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Bende resolved NIFI-6588.
---
Fix Version/s: 1.10.0
   Resolution: Fixed

> Move graph bundle to profile in assembly
> 
>
> Key: NIFI-6588
> URL: https://issues.apache.org/jira/browse/NIFI-6588
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Mike Thomsen
>Assignee: Mike Thomsen
>Priority: Major
> Fix For: 1.10.0
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> To save space, we'll move the entire graph bundle into an optional profile.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6588) Move graph bundle to profile in assembly

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918689#comment-16918689
 ] 

ASF subversion and git services commented on NIFI-6588:
---

Commit 2e554cbb67bd96e0a38a202e96cd9a58de5260a0 in nifi's branch 
refs/heads/master from Mike Thomsen
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=2e554cb ]

NIFI-6588 Updated assembly pom file to move all graph components into a profile 
to save space in the convenience binary.


> Move graph bundle to profile in assembly
> 
>
> Key: NIFI-6588
> URL: https://issues.apache.org/jira/browse/NIFI-6588
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Mike Thomsen
>Assignee: Mike Thomsen
>Priority: Major
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> To save space, we'll move the entire graph bundle into an optional profile.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [nifi] bbende merged pull request #3669: NIFI-6588 Updated assembly pom file to move all graph components into…

2019-08-29 Thread GitBox
bbende merged pull request #3669: NIFI-6588 Updated assembly pom file to move 
all graph components into…
URL: https://github.com/apache/nifi/pull/3669
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] bbende commented on issue #3669: NIFI-6588 Updated assembly pom file to move all graph components into…

2019-08-29 Thread GitBox
bbende commented on issue #3669: NIFI-6588 Updated assembly pom file to move 
all graph components into…
URL: https://github.com/apache/nifi/pull/3669#issuecomment-526224788
 
 
   Looks good, merging


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [nifi] scottyaslan commented on issue #3636: [WIP] Allow parameters to be used in property configuration

2019-08-29 Thread GitBox
scottyaslan commented on issue #3636: [WIP] Allow parameters to be used in 
property configuration
URL: https://github.com/apache/nifi/pull/3636#issuecomment-526221011
 
 
   Reviewing...


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (NIFI-6025) Track Enabled/Disabled State in Registry

2019-08-29 Thread Bryan Bende (Jira)


 [ 
https://issues.apache.org/jira/browse/NIFI-6025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Bende updated NIFI-6025:
--
Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Track Enabled/Disabled State in Registry
> 
>
> Key: NIFI-6025
> URL: https://issues.apache.org/jira/browse/NIFI-6025
> Project: Apache NiFi
>  Issue Type: Improvement
>Affects Versions: 1.8.0
>Reporter: Alan Jackoway
>Assignee: Mark Payne
>Priority: Major
>  Labels: SDLC
> Fix For: 1.10.0
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> We often have little chunks of pipelines that are used for debugging/fixing 
> things that went wrong/etc. that we want to disable. I would love for 
> disabled/enabled to be a thing that gets committed to registry, but my little 
> test says it isn't. It would be nice for disabled state to be persisted in 
> registry so that we can differentiate between things that should usually be 
> disabled and things that are just stopped.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (NIFI-6025) Track Enabled/Disabled State in Registry

2019-08-29 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/NIFI-6025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16918667#comment-16918667
 ] 

ASF subversion and git services commented on NIFI-6025:
---

Commit 4ae1fec78a77be5b9b06bd79fa22ae020f3365bc in nifi's branch 
refs/heads/master from Mark Payne
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=4ae1fec ]

NIFI-6025: Include Processor 'scheduled state' (i.e., Enabled or Disabled) in 
the VersionedProcessor when pushing to Flow Registry and take into account when 
updating flows on the NiFi side

NIFI-6025: Include difference in Scheduled State as a Local Flow Difference

This closes #3546.

Signed-off-by: Bryan Bende 


> Track Enabled/Disabled State in Registry
> 
>
> Key: NIFI-6025
> URL: https://issues.apache.org/jira/browse/NIFI-6025
> Project: Apache NiFi
>  Issue Type: Improvement
>Affects Versions: 1.8.0
>Reporter: Alan Jackoway
>Assignee: Mark Payne
>Priority: Major
>  Labels: SDLC
> Fix For: 1.10.0
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> We often have little chunks of pipelines that are used for debugging/fixing 
> things that went wrong/etc. that we want to disable. I would love for 
> disabled/enabled to be a thing that gets committed to registry, but my little 
> test says it isn't. It would be nice for disabled state to be persisted in 
> registry so that we can differentiate between things that should usually be 
> disabled and things that are just stopped.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


  1   2   >