[GitHub] nifi issue #1917: NIFI-4074: Fix recursive regex search

2017-06-26 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1917
  
Hey @champagst 

Thanks for the contribution! I was digging into the ListHDFS implementation 
and I think the reason it doesn't work on nested files might be that it is only 
matching against the [file name, not the whole 
path.](https://github.com/apache/nifi/blob/e85081ed201bc7413e3d2d062c814e23c0ff5467/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/ListHDFS.java#L406)

Would adding a property that tells the filter to match [on the whole 
path](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html#toString--),
 not just the name address your usecase?  That way we could default it to false 
and prevent existing flows from having their semantics changed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1888: NIFI-4015 NIFI-3999 Fix DeleteSQS Issues

2017-06-26 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1888#discussion_r124067647
  
--- Diff: 
nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/DeleteSQS.java
 ---
@@ -45,7 +46,8 @@
 public class DeleteSQS extends AbstractSQSProcessor {
 
 public static final PropertyDescriptor RECEIPT_HANDLE = new 
PropertyDescriptor.Builder()
-.name("Receipt Handle")
+.name("sqs-receipt-handle")
--- End diff --

@jvwing 

I think changing the name attribute at this point will break existing flows.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1888: NIFI-4015 NIFI-3999 Fix DeleteSQS Issues

2017-06-26 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1888
  
Reviewing


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1919: NIFI-4031: Fix Avro nullable arrays

2017-06-26 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1919
  
@champagst thanks for the contribution!

Would you mind adding tests that exercise this functionality?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1390: NIFI-3277 - StandardProcessSession.isSpuriousRouteE...

2017-06-26 Thread brosander
Github user brosander closed the pull request at:

https://github.com/apache/nifi/pull/1390


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #115: MINIFI-324 - More flexible uid generation

2017-06-23 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/115#discussion_r123745136
  
--- Diff: libminifi/include/utils/Id.h ---
@@ -0,0 +1,77 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef LIBMINIFI_INCLUDE_UTILS_ID_H_
+#define LIBMINIFI_INCLUDE_UTILS_ID_H_
+
+#include 
+#include 
+#include 
+#include 
+
+#include "core/logging/Logger.h"
+#include "properties/Properties.h"
+
+#define UNSIGNED_CHAR_MAX 255
+#define UUID_TIME_IMPL 0
+#define UUID_RANDOM_IMPL 1
+#define UUID_DEFAULT_IMPL 2
+#define MINIFI_UID_IMPL 3
+
+namespace org {
+namespace apache {
+namespace nifi {
+namespace minifi {
+namespace utils {
+
+class IdGenerator {
+ public:
+  void generate(uuid_t output);
+  void initialize(const std::shared_ptr & properties);
+  
+  static std::shared_ptr getIdGenerator() {
+static std::shared_ptr generator = 
std::shared_ptr(new IdGenerator());
--- End diff --

I wanted to make the constructor private that seems to require manual 
invocation of new

```
error: ‘org::apache::nifi::minifi::utils::IdGenerator::IdGenerator()’ 
is private
   IdGenerator();
   ^
In file included from 
/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
 from /usr/include/c++/5/bits/allocator.h:46,
 from /usr/include/c++/5/bits/stl_tree.h:64,
 from /usr/include/c++/5/map:60,
 from 
/home/bryan/Github/nifi-minifi-cpp/libminifi/include/core/logging/LoggerConfiguration.h:24,
 from 
/home/bryan/Github/nifi-minifi-cpp/libminifi/src/core/logging/LoggerConfiguration.cpp:21:
/usr/include/c++/5/ext/new_allocator.h:120:4: error: within this context
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #115: MINIFI-324 - More flexible uid generation

2017-06-23 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/115#discussion_r123744302
  
--- Diff: README.md ---
@@ -326,26 +326,44 @@ Additionally, users can utilize the MiNiFi Toolkit 
Converter (version 0.0.1 - sc
 
 ### Http Configuration Listener
 
-Http Configuration Listener will pull flow file configuration from the 
remote command control server, 
+Http Configuration Listener will pull flow file configuration from the 
remote command control server,
 validate and apply the new flow configuration
 
-in minifi.properties 
+in minifi.properties
 
 nifi.configuration.listener.type=http
 nifi.configuration.listener.http.url=https://localhost:8080
-nifi.configuration.listener.pull.interval=1 sec 
+nifi.configuration.listener.pull.interval=1 sec
 nifi.configuration.listener.client.ca.certificate=./conf/nifi-cert.pem
 
 if you want to enable client certificate
 nifi.configuration.listener.need.ClientAuth=true
 nifi.configuration.listener.client.certificate=./conf/client.pem
 nifi.configuration.listener.client.private.key=./conf/client.key
 nifi.configuration.listener.client.pass.phrase=./conf/password
-  
+
+### UID generation
+
+MiNiFi need to generate many unique identifiers in the course of 
operations.  There are a few different uid implementations available that can 
be configured in minifi-uid.properties.
+
+Implementation for uid generation can be selected using the 
uid.implementation property values:
+1. time - use uuid_generate_time
+2. random - use uuid_generate_random
+3. uuid_default - use uuid_generate (will attempt to use 
uuid_generate_random and fall back to uuid_generate_time if no high quality 
randomness is available)
--- End diff --

Well, uuid_generate_time is a lot faster than the random version but it 
leaks information about which node and what time the uuid originate from, I 
thought that might be relevant info if there are privacy-conscious applications 
of MiNiFi.

https://linux.die.net/man/3/uuid_generate_time


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #115: MINIFI-324 - More flexible uid generation

2017-06-23 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/115#discussion_r123743755
  
--- Diff: libminifi/src/provenance/Provenance.cpp ---
@@ -34,9 +36,24 @@ namespace nifi {
 namespace minifi {
 namespace provenance {
 
+std::shared_ptr ProvenanceEventRecord::id_generator_ = 
utils::IdGenerator::getIdGenerator();
+std::shared_ptr ProvenanceEventRecord::logger_ = 
logging::LoggerFactory::getLogger();
+
 const char *ProvenanceEventRecord::ProvenanceEventTypeStr[REPLAY + 1] = { 
"CREATE", "RECEIVE", "FETCH", "SEND", "DOWNLOAD", "DROP", "EXPIRE", "FORK", 
"JOIN", "CLONE", "CONTENT_MODIFIED",
 "ATTRIBUTES_MODIFIED", "ROUTE", "ADDINFO", "REPLAY" };
 

+ProvenanceEventRecord::ProvenanceEventRecord(ProvenanceEventRecord::ProvenanceEventType
 event, std::__cxx11::string componentId, std::__cxx11::string componentType) {
--- End diff --

Autocomplete fail, will fix


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #115: MINIFI-324 - More flexible uid generation

2017-06-22 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi-minifi-cpp/pull/115

MINIFI-324 - More flexible uid generation

Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced
 in the commit message?

- [X] Does your PR title start with MINIFI- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] - N/A - 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)?
- [X] - N/A - If applicable, have you updated the LICENSE file?
- [X] - N/A - If applicable, have you updated the NOTICE file?

### For documentation related changes:
- [X] 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi-minifi-cpp MINIFI-324

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi-minifi-cpp/pull/115.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #115


commit 2ce366c5547aa6608653ce71d98e335ff3a0a9ff
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-06-21T18:29:03Z

MINIFI-324 - More flexible uid generation




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1889: NIFI-3696 - Initial commit of ConfigMigration and FileMana...

2017-06-07 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1889
  
+ 1 on condition that we document limitations of downgrade with respect to 
repos


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1889: NIFI-3696 - Initial commit of ConfigMigration and F...

2017-06-07 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1889#discussion_r120720022
  
--- Diff: nifi-docs/src/main/asciidoc/administration-guide.adoc ---
@@ -1317,6 +1318,82 @@ cluster if restarted and the flow for the cluster 
has not changed. If the flow w
 the removed node should be deleted before restarting the node to allow it 
to obtain the cluster flow (otherwise
 an uninheritable flow file exception may occur).
 
+=== File Manager
+
+The File Manager utility allows system administrators to take a backup of 
an existing NiFi installation, install a new version of NiFi
+in a designated location (while migrating any previous configuration 
settings) or restore an installation from a previous backup.
+File Manager supports NiFi version 1.0.0 and higher and is available in 
'file-manager.bat' file for use on Windows machines.
+
+To show help:
+
+  file-manager.sh -h
+
+The following are available options:
+
+* `-o,--operation ` File operation (install | backup | restore)
+* `-b,--backupDir ` Backup NiFi Directory (used with backup or 
restore operation)
+* `-c,--nifiCurrentDir ` Current NiFi Installation Directory (used 
optionally with install or restore operation)
+* `-d,--nifiInstallDir ` NiFi Installation Directory (used with 
install or restore operation)
+* `-i,--installFile ` NiFi Install File (used with install operation)
+* `-r,--nifiRollbackDir ` NiFi Installation Directory (used with 
install or restore operation)
+* `-t,--bootstrapConf ` Current NiFi Bootstrap Configuration File 
(used optionally)
+* `-m,--moveRepositories` Allow repositories to be moved to new/restored 
nifi directory from existing installation, if available (used optionally with 
install or restore operation)
+* `-x,--overwriteConfigs` Overwrite existing configuration directory with 
upgrade changes (used optionally with install or restore operation)
+* `-v,--verbose` Verbose messaging (optional)
+* `-h,--help` Print help info (optional)
+
+Example usage on Linux:
+
+ # backup NiFi installation
+ # option -t may be provided to ensure backup of external boostrap.conf 
file
+ ./file-manager.sh
+ -o backup
+ –b /tmp/nifi_bak
+ –c /usr/nifi_old
+ -v
+
+ # install NiFi using compressed tar file into /usr/nifi directory (should 
install as /usr/nifi/nifi-1.3.0).
--- End diff --

We should notify the user that if they upgrade with -m to also move 
repositories, start nifi, then try to downgrade, it's likely that the older 
implementation will not be able to read the newer repos.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #103: MINIFI-177 Incorporating Apache RAT to build wit...

2017-06-05 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/103
  
+1 LGTM


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1878: NIFI-4002: Add PutElasticsearchHttpRecord processor

2017-06-02 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1878
  
+1 LGTM


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #103: MINIFI-177 Incorporating Apache RAT to bu...

2017-05-31 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/103#discussion_r119398723
  
--- Diff: cmake/RunApacheRAT.cmake ---
@@ -0,0 +1,44 @@
+# 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.
+
+# Find the preferred Apache mirror to use for the download by querying the 
list of mirrors and filtering out 'preferred'
+execute_process(COMMAND curl -s 
https://www.apache.org/dyn/closer.lua/?asjson=1
+COMMAND grep preferred
+COMMAND awk "{print $2}"
+COMMAND tr -d "\""
+TIMEOUT 10
+OUTPUT_STRIP_TRAILING_WHITESPACE
+OUTPUT_VARIABLE MIRROR_URL )
+
+ExternalProject_Add(
+rat-binary
+PREFIX "apache-rat"
+URL 
"${MIRROR_URL}creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.gz"
+URL_HASH SHA1=e84dffe8b354871c29f5078b823a726508474a6c
--- End diff --

@apiri can we use sha256 or sha512? if it's not available from the apache 
mirror, we could precalculate it since it shouldn't change until we upgrade rat


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #103: MINIFI-177 Incorporating Apache RAT to bu...

2017-05-31 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/103#discussion_r119398420
  
--- Diff: cmake/RunApacheRAT.cmake ---
@@ -0,0 +1,44 @@
+# 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.
+
+# Find the preferred Apache mirror to use for the download by querying the 
list of mirrors and filtering out 'preferred'
+execute_process(COMMAND curl -s 
https://www.apache.org/dyn/closer.lua/?asjson=1
+COMMAND grep preferred
+COMMAND awk "{print $2}"
+COMMAND tr -d "\""
+TIMEOUT 10
+OUTPUT_STRIP_TRAILING_WHITESPACE
+OUTPUT_VARIABLE MIRROR_URL )
+
+ExternalProject_Add(
--- End diff --

@apiri can we make it so this is only downloaded when we run the rat target?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #104: MINIFI-296 - Configurable logging, spdlog 0.13.0

2017-05-30 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/104
  
removed atomic_load, atomic_store as they are problematic w/ gcc 4.8


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #104: MINIFI-296 - Configurable logging, spdlog 0.13.0

2017-05-30 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/104
  
rebased pr, fixed http get integration tests


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #104: MINIFI-296 - Configurable logging, spdlog...

2017-05-26 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/104#discussion_r118706272
  
--- Diff: libminifi/test/TestBase.h ---
@@ -21,35 +21,104 @@
 #include 
 #include 
 #include 
+#include 
 #include "ResourceClaim.h"
 #include "catch.hpp"
 #include 
-#include "core/logging/LogAppenders.h"
 #include "core/logging/Logger.h"
 #include "core/Core.h"
 #include "properties/Configure.h"
+#include "properties/Properties.h"
+#include "core/logging/LoggerConfiguration.h"
+#include "spdlog/sinks/ostream_sink.h"
+#include "spdlog/sinks/dist_sink.h"
 
 class LogTestController {
  public:
-  LogTestController(const std::string level = "debug") {
-logging::Logger::getLogger()->setLogLevel(level);
+  static LogTestController& getInstance() {
+   static LogTestController instance;
+   return instance;
   }
-
-  void enableDebug() {
-logging::Logger::getLogger()->setLogLevel("debug");
+  
+  template
+  void setDebug() {
+setLevel(spdlog::level::debug);
--- End diff --

Will do another sweep of the codebase for spdlog references and try to 
limit them to the Logger, LoggerConfiguration, and LogTestController


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #104: MINIFI-296 - Configurable logging, spdlog...

2017-05-26 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/104#discussion_r118705983
  
--- Diff: libminifi/test/TestBase.h ---
@@ -21,35 +21,104 @@
 #include 
 #include 
 #include 
+#include 
 #include "ResourceClaim.h"
 #include "catch.hpp"
 #include 
-#include "core/logging/LogAppenders.h"
 #include "core/logging/Logger.h"
 #include "core/Core.h"
 #include "properties/Configure.h"
+#include "properties/Properties.h"
+#include "core/logging/LoggerConfiguration.h"
+#include "spdlog/sinks/ostream_sink.h"
+#include "spdlog/sinks/dist_sink.h"
 
 class LogTestController {
  public:
-  LogTestController(const std::string level = "debug") {
-logging::Logger::getLogger()->setLogLevel(level);
+  static LogTestController& getInstance() {
+   static LogTestController instance;
+   return instance;
   }
-
-  void enableDebug() {
-logging::Logger::getLogger()->setLogLevel("debug");
+  
+  template
+  void setDebug() {
+setLevel(spdlog::level::debug);
--- End diff --

@phrocker the LogTestController class is already coupled to spdlog (for 
construction of the sinks, etc) and was where I was trying to isolate spdlog in 
context of the tests.  I'd removed the parallel level enum logic we had in the 
code because it's only needed in tests as far as I can tell.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #104: MINIFI-296 - Configurable logging, spdlog...

2017-05-26 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/104#discussion_r118704850
  
--- Diff: libminifi/include/core/logging/LoggerConfiguration.h ---
@@ -0,0 +1,147 @@
+/**
+ * @file LoggerConfiguration.h
+ * Logger class declaration
+ * This is a C++ wrapper for spdlog, a lightweight C++ logging library
+ *
+ * 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.
+ */
+#ifndef __LOGGER_CONFIGURATION_H__
+#define __LOGGER_CONFIGURATION_H__
+
+#include 
+#include 
+#include 
+#include 
+#include "core/logging/Logger.h"
+#include "properties/Properties.h"
+
+#include "spdlog/spdlog.h"
+#include "spdlog/formatter.h"
+
+namespace org {
+namespace apache {
+namespace nifi {
+namespace minifi {
+namespace core {
+namespace logging {
+
+namespace internal {
+  /**
+   * This class should not be instantiated directly.  Use LoggerFactory to 
get an instance.
--- End diff --

@phrocker good call, will fix


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #104: MINIFI-296 - Configurable logging, spdlog...

2017-05-26 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/104#discussion_r118704917
  
--- Diff: libminifi/test/TestBase.h ---
@@ -21,35 +21,104 @@
 #include 
 #include 
 #include 
+#include 
 #include "ResourceClaim.h"
 #include "catch.hpp"
 #include 
-#include "core/logging/LogAppenders.h"
 #include "core/logging/Logger.h"
 #include "core/Core.h"
 #include "properties/Configure.h"
+#include "properties/Properties.h"
+#include "core/logging/LoggerConfiguration.h"
+#include "spdlog/sinks/ostream_sink.h"
+#include "spdlog/sinks/dist_sink.h"
 
 class LogTestController {
  public:
-  LogTestController(const std::string level = "debug") {
-logging::Logger::getLogger()->setLogLevel(level);
+  static LogTestController& getInstance() {
+   static LogTestController instance;
+   return instance;
   }
-
-  void enableDebug() {
-logging::Logger::getLogger()->setLogLevel("debug");
+  
+  template
+  void setDebug() {
+setLevel(spdlog::level::debug);
+  }
+  
+  template
+  void setInfo() {
+setLevel(spdlog::level::info);
+  }
+  
+  template
+  void setLevel(spdlog::level::level_enum level) {
+logging::LoggerFactory::getLogger();
+std::string name = core::getClassName();
+modified_loggers.push_back(name);
+setLevel(name, level);
+  }
+  
+  bool contains(const std::string ) {
+   return contains(log_output, ending);
+  }
+  
+  bool contains(const std::ostringstream , const std::string 
) {
+std::string str = stream.str();
+logger_->log_info("Looking for %s in %s.", ending, str);
+return (ending.length() > 0 && str.find(ending) != std::string::npos);
+  }
+  
+  void reset() {
+for (auto const & name : modified_loggers) {
+  setLevel(name, spdlog::level::err);
+}
+modified_loggers = std::vector();
+resetStream(log_output);
+  }
+  
+  inline bool resetStream(std::ostringstream ) {
+stream.str("");
+stream.clear();
--- End diff --

@phrocker good call, will fix


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #104: MINIFI-296 - Configurable logging, spdlog...

2017-05-26 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/104#discussion_r118704895
  
--- Diff: libminifi/include/utils/StringUtils.h ---
@@ -89,6 +89,25 @@ class StringUtils {
 s.end());
 return s;
   }
+  
+  static std::vector split(const std::string , const 
std::string ) {
+std::vector result;
+int last = 0;
+int next = 0;
+while ((next = str.find(delimiter, last)) != std::string::npos) {
+  result.push_back(str.substr(last, next - last));
+  last = next + delimiter.length();
+}
+result.push_back(str.substr(last, next - last));
+return result;
+  }
+  
+  static inline bool starts_with(const std::string , const std::string 
) {
--- End diff --

@phrocker good call, will fix


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #104: MINIFI-296 - Configurable logging, spdlog...

2017-05-26 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/104#discussion_r118704804
  
--- Diff: libminifi/include/core/controller/ControllerService.h ---
@@ -64,7 +64,7 @@ class ControllerService : public ConfigurableComponent, 
public Connectable {
*/
   explicit ControllerService()
   : Connectable(core::getClassName(), 0),
-ConfigurableComponent(logging::Logger::getLogger()),
+ConfigurableComponent(),
--- End diff --

@phrocker good call, will fix


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #104: MINIFI-296 - Configurable logging, spdlog...

2017-05-26 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi-cpp/pull/104#discussion_r118704784
  
--- Diff: libminifi/include/Site2SitePeer.h ---
@@ -72,8 +73,8 @@ class Site2SitePeer : public 
org::apache::nifi::minifi::io::BaseStream {
   explicit Site2SitePeer(Site2SitePeer &)
   : stream_(ss.stream_.release()),
 host_(std::move(ss.host_)),
-port_(std::move(ss.port_)) {
-logger_ = logging::Logger::getLogger();
+port_(std::move(ss.port_)),
+logger_(ss.logger_) {
--- End diff --

@phrocker good call, will fix


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #104: MINIFI-296 - Configurable logging, spdlog 0.13.0

2017-05-25 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/104
  
@phrocker I've added atomic load and store to the logger and loggerimpl 
classes and a pattern option to minifi-log.properties along with some 
alternative patterns and a link to the spdlog wiki


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #104: MINIFI-296 - Configurable logging, spdlog 0.13.0

2017-05-24 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/104
  
@phrocker 

For your first point about reinitializing logging while a flow is running, 
is it worth it to switch the delegate reference on the Logger to an atomic?

Second point I think should be fairly easily addressable with a format 
pattern in the logger config.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #104: MINIFI-296 - Configurable logging, spdlog...

2017-05-24 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi-minifi-cpp/pull/104

MINIFI-296 - Configurable logging, spdlog 0.13.0

Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced
 in the commit message?

- [X] Does your PR title start with MINIFI- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] 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)?
- [X] - N/A - If applicable, have you updated the LICENSE file?
- [X] - N/A - If applicable, have you updated the NOTICE file?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi-minifi-cpp MINIFI-296

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi-minifi-cpp/pull/104.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #104


commit fa0304cd48920a1d3b259b9a51a6aff0c79a88e7
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-05-11T19:42:54Z

MINIFI-296 - Configurable logging, spdlog 0.13.0




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #91: MINIFI-258 - Removing Configure, StreamFactory, T...

2017-05-04 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/91
  
Thanks for feedback, changed those back and am rerunning build/tests


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1753: NIFI-3788 Switched Amazon HTTP client instantiation from u...

2017-05-04 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1753
  
+1 Merging


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1753: NIFI-3788 Switched Amazon HTTP client instantiation from u...

2017-05-04 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1753
  
Reviewing


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp pull request #91: MINIFI-258 - Removing Configure, StreamFac...

2017-05-03 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi-minifi-cpp/pull/91

MINIFI-258 - Removing Configure, StreamFactory, TLSContext singletons

Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced
 in the commit message?

- [X] Does your PR title start with MINIFI- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] - N/A - 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)?
- [X] - N/A - If applicable, have you updated the LICENSE file?
- [X] - N/A - If applicable, have you updated the NOTICE file?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi-minifi-cpp MINIFI-258

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi-minifi-cpp/pull/91.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #91


commit de55683522115a409029bee89fad64c0a407bcf3
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-05-01T18:49:44Z

MINIFI-258 - Removing Configure, StreamFactory, TLSContext singletons




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #87: MINIFI-284 Making use of CMAKE_INSTALL_LIBDIR arg...

2017-05-02 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/87
  
+1 Merging


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1719: NIFI-1833 Updates to Azure Storage Processor PR to fix dep...

2017-05-02 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1719
  
+1 Merged


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #84: MINIFI-274 Use external project with existing sou...

2017-05-02 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/84
  
+1 works for me on bare metal Ubuntu 16.04, OSx 10.12.4, in docker 
container on both platforms as well


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1726: NIFI-3765 - Added a 'status' operation to Node Manager

2017-05-02 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1726
  
Tested non-secure standalone instance, secure cluster.  Works as expected.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1719: NIFI-1833 Updates to Azure Storage Processor PR to ...

2017-05-01 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1719#discussion_r114228274
  
--- Diff: 
nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/PutAzureBlobStorage.java
 ---
@@ -106,10 +110,15 @@ public void onTrigger(final ProcessContext context, 
final ProcessSession session
 final long transferMillis = 
TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNanos);
 session.getProvenanceReporter().send(flowFile, 
blob.getSnapshotQualifiedUri().toString(), transferMillis);
 
-} catch (IllegalArgumentException | URISyntaxException | 
StorageException e) {
-getLogger().error("Failed to put Azure blob {}", new 
Object[]{blobPath}, e);
-flowFile = session.penalize(flowFile);
-session.transfer(flowFile, REL_FAILURE);
+} catch (IllegalArgumentException | URISyntaxException | 
StorageException | ProcessException e) {
+if (e instanceof ProcessException && storedException.get() == 
null) {
+throw (ProcessException) e;
+} else {
+Exception failureException = 
Optional.ofNullable(storedException.get()).map(x -> x).orElse(e);
--- End diff --

@jtstorck I don't think you need the .map() here. It looks like orElse() 
will already give you the value if the optional is absent.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1719: NIFI-1833 Updates to Azure Storage Processor PR to ...

2017-05-01 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1719#discussion_r114228190
  
--- Diff: 
nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/FetchAzureBlobStorage.java
 ---
@@ -103,10 +107,15 @@ public void onTrigger(ProcessContext context, 
ProcessSession session) throws Pro
 session.transfer(flowFile, REL_SUCCESS);
 final long transferMillis = 
TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNanos);
 session.getProvenanceReporter().fetch(flowFile, 
blob.getSnapshotQualifiedUri().toString(), transferMillis);
-
-} catch (IllegalArgumentException | URISyntaxException | 
StorageException e1) {
-flowFile = session.penalize(flowFile);
-session.transfer(flowFile, REL_FAILURE);
+} catch (IllegalArgumentException | URISyntaxException | 
StorageException | ProcessException e) {
+if (e instanceof ProcessException && storedException.get() == 
null) {
+throw (ProcessException) e;
+} else {
+Exception failureException = 
Optional.ofNullable(storedException.get()).map(x -> x).orElse(e);
--- End diff --

@jtstorck I don't think you need the .map() here.  It looks like 
[orElse()](https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html#orElse-T-)
 will already give you the value if the optional is absent.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #84: MINIFI-274 Use external project with existing sou...

2017-05-01 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/84
  
The following docker image repros it for me:

https://github.com/brosander/minifi-cpp-tooling/tree/9e5b1031d1772ccbee3ec8844a3decf232185284/Dockerfiles/ubuntu/xenial/build

```
docker build -t minifi-cpp-xenial-build .
mkdir build
docker run -ti --rm -v "$(pwd)/build:/build" minifi-cpp-xenial-build 84
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #84: MINIFI-274 Use external project with existing sou...

2017-05-01 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/84
  
Ubuntu 16.04 64 bit (latest LTS release of Ubuntu) I'll craft a dockerfile 
for easier testing/validation.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #84: MINIFI-274 Use external project with existing sou...

2017-05-01 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/84
  
```
TestSiteToSiteVerifySend

---

/home/bryan/Github/nifi-minifi-cpp/libminifi/test/unit/Site2SiteTests.cpp:102

...


/home/bryan/Github/nifi-minifi-cpp/libminifi/test/unit/Site2SiteTests.cpp:102: 
FAILED:
due to a fatal error condition:
  SIGSEGV - Segmentation violation signal
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #84: MINIFI-274 Use external project with existing sou...

2017-05-01 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/84
  
definitely better but I still seem to be getting a segfault on the s2s test


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #84: MINIFI-274 Use external project with existing sou...

2017-05-01 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/84
  
@apiri I'll take a look, thanks!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1719: NIFI-1833 Updates to Azure Storage Processor PR to ...

2017-05-01 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1719#discussion_r114169894
  
--- Diff: 
nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/PutAzureBlobStorage.java
 ---
@@ -0,0 +1,116 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.azure.storage;
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URISyntaxException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processors.azure.AbstractAzureBlobProcessor;
+import org.apache.nifi.processors.azure.AzureConstants;
+
+import com.microsoft.azure.storage.CloudStorageAccount;
+import com.microsoft.azure.storage.StorageException;
+import com.microsoft.azure.storage.blob.BlobProperties;
+import com.microsoft.azure.storage.blob.CloudBlob;
+import com.microsoft.azure.storage.blob.CloudBlobClient;
+import com.microsoft.azure.storage.blob.CloudBlobContainer;
+
+@Tags({ "azure", "microsoft", "cloud", "storage", "blob" })
+@SeeAlso({ ListAzureBlobStorage.class, FetchAzureBlobStorage.class })
+@CapabilityDescription("Puts content into an Azure Storage Blob")
+@InputRequirement(Requirement.INPUT_REQUIRED)
+@WritesAttributes({ @WritesAttribute(attribute = "azure.container", 
description = "The name of the Azure container"),
+@WritesAttribute(attribute = "azure.blobname", description = "The 
name of the Azure blob"),
+@WritesAttribute(attribute = "azure.primaryUri", description = 
"Primary location for blob content"),
+@WritesAttribute(attribute = "azure.etag", description = "Etag for 
the Azure blob"),
+@WritesAttribute(attribute = "azure.length", description = "Length 
of the blob"),
+@WritesAttribute(attribute = "azure.timestamp", description = "The 
timestamp in Azure for the blob")})
+public class PutAzureBlobStorage extends AbstractAzureBlobProcessor {
+
+public void onTrigger(final ProcessContext context, final 
ProcessSession session) throws ProcessException {
+FlowFile flowFile = session.get();
+if (flowFile == null) {
+return;
+}
+
+final long startNanos = System.nanoTime();
+
+String containerName = 
context.getProperty(AzureConstants.CONTAINER).evaluateAttributeExpressions(flowFile).getValue();
+
+String blobPath = 
context.getProperty(BLOB).evaluateAttributeExpressions(flowFile).getValue();
+
+try {
+CloudStorageAccount storageAccount = 
createStorageConnection(context, flowFile);
+CloudBlobClient blobClient = 
storageAccount.createCloudBlobClient();
+CloudBlobContainer container = 
blobClient.getContainerReference(containerName);
+
+CloudBlob blob = container.getBlockBlobReference(blobPath);
+
+final Map<String, String> attributes = new HashMap<>();
+long length = flowFile.g

[GitHub] nifi pull request #1719: NIFI-1833 Updates to Azure Storage Processor PR to ...

2017-05-01 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1719#discussion_r114169124
  
--- Diff: 
nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/ListAzureBlobStorage.java
 ---
@@ -0,0 +1,180 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.azure.storage;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.security.InvalidKeyException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.Stateful;
+import org.apache.nifi.annotation.behavior.TriggerSerially;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.state.Scope;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.util.StandardValidators;
+import org.apache.nifi.processors.azure.AzureConstants;
+import org.apache.nifi.processors.azure.storage.utils.BlobInfo;
+import org.apache.nifi.processors.azure.storage.utils.BlobInfo.Builder;
+import org.apache.nifi.processor.util.list.AbstractListProcessor;
+
+import com.microsoft.azure.storage.CloudStorageAccount;
+import com.microsoft.azure.storage.StorageException;
+import com.microsoft.azure.storage.StorageUri;
+import com.microsoft.azure.storage.blob.BlobListingDetails;
+import com.microsoft.azure.storage.blob.BlobProperties;
+import com.microsoft.azure.storage.blob.CloudBlob;
+import com.microsoft.azure.storage.blob.CloudBlobClient;
+import com.microsoft.azure.storage.blob.CloudBlobContainer;
+import com.microsoft.azure.storage.blob.CloudBlockBlob;
+import com.microsoft.azure.storage.blob.ListBlobItem;
+
+@TriggerSerially
+@Tags({ "azure", "microsoft", "cloud", "storage", "blob" })
+@SeeAlso({ FetchAzureBlobStorage.class, PutAzureBlobStorage.class })
+@CapabilityDescription("Lists blobs in an Azure Storage container. Listing 
details are attached to an empty FlowFile for use with FetchAzureBlobStorage")
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@WritesAttributes({ @WritesAttribute(attribute = "azure.container", 
description = "The name of the Azure container"),
+@WritesAttribute(attribute = "azure.blobname", description = "The 
name of the Azure blob"),
+@WritesAttribute(attribute = "azure.primaryUri", description = 
"Primary location for blob content"),
+@WritesAttribute(attribute = "azure.secondaryUri", description = 
"Secondary location for blob content"),
+@WritesAttribute(attribute = "azure.etag", description = "Etag for 
the Azure blob"),
+@WritesAttribute(attribute = "azure.length", description = "Length 
of the blob"),
+@WritesAttribute(attribute = "azure.timestamp", description = "The 
timestamp in Azure for the blob"),
+@WritesAttribute(attribute = "mime.type", description = "MimeType 
of the content"),
+@WritesAttribute(attribute = "lang", description = "Language code 
for the content"),
+@WritesAttribute(attribute = "azure.blobtype", descripti

[GitHub] nifi pull request #1719: NIFI-1833 Updates to Azure Storage Processor PR to ...

2017-05-01 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1719#discussion_r114168730
  
--- Diff: 
nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/FetchAzureBlobStorage.java
 ---
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.azure.storage;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processors.azure.AbstractAzureBlobProcessor;
+import org.apache.nifi.processors.azure.AzureConstants;
+
+import com.microsoft.azure.storage.CloudStorageAccount;
+import com.microsoft.azure.storage.StorageException;
+import com.microsoft.azure.storage.blob.CloudBlob;
+import com.microsoft.azure.storage.blob.CloudBlobClient;
+import com.microsoft.azure.storage.blob.CloudBlobContainer;
+
+@Tags({ "azure", "microsoft", "cloud", "storage", "blob" })
+@CapabilityDescription("Retrieves contents of an Azure Storage Blob, 
writing the contents to the content of the FlowFile")
+@SeeAlso({ ListAzureBlobStorage.class, PutAzureBlobStorage.class })
+@InputRequirement(Requirement.INPUT_REQUIRED)
+@WritesAttributes({
+@WritesAttribute(attribute = "azure.length", description = "The length 
of the blob fetched")
+})
+public class FetchAzureBlobStorage extends AbstractAzureBlobProcessor {
+
+private static final List PROPERTIES = Collections
+.unmodifiableList(Arrays.asList(AzureConstants.ACCOUNT_NAME, 
AzureConstants.ACCOUNT_KEY, AzureConstants.CONTAINER, BLOB));
+
+@Override
+protected List getSupportedPropertyDescriptors() {
+return PROPERTIES;
+}
+
+@Override
+public void onTrigger(ProcessContext context, ProcessSession session) 
throws ProcessException {
+FlowFile flowFile = session.get();
+if (flowFile == null) {
+return;
+}
+
+final long startNanos = System.nanoTime();
+
+String containerName = 
context.getProperty(AzureConstants.CONTAINER).evaluateAttributeExpressions(flowFile).getValue();
+String blobPath = 
context.getProperty(BLOB).evaluateAttributeExpressions(flowFile).getValue();
+
+try {
+CloudStorageAccount storageAccount = 
createStorageConnection(context, flowFile);
+CloudBlobClient blobClient = 
storageAccount.createCloudBlobClient();
+CloudBlobContainer container = 
blobClient.getContainerReference(containerName);
+
+final Map<String, String> attributes = new HashMap<>();
+final CloudBlob blob = 
container.getBlockBlobReference(blobPath);
+
+// TODO - we may be able do fancier things with ranges and
+// distribution of download over threads, investigate
+flowFile = session.write(flowFile, os -> {

[GitHub] nifi pull request #1719: NIFI-1833 Updates to Azure Storage Processor PR to ...

2017-05-01 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1719#discussion_r114136630
  
--- Diff: 
nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/storage/ListAzureBlobStorage.java
 ---
@@ -0,0 +1,180 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.azure.storage;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.security.InvalidKeyException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.Stateful;
+import org.apache.nifi.annotation.behavior.TriggerSerially;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.state.Scope;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.util.StandardValidators;
+import org.apache.nifi.processors.azure.AzureConstants;
+import org.apache.nifi.processors.azure.storage.utils.BlobInfo;
+import org.apache.nifi.processors.azure.storage.utils.BlobInfo.Builder;
+import org.apache.nifi.processor.util.list.AbstractListProcessor;
+
+import com.microsoft.azure.storage.CloudStorageAccount;
+import com.microsoft.azure.storage.StorageException;
+import com.microsoft.azure.storage.StorageUri;
+import com.microsoft.azure.storage.blob.BlobListingDetails;
+import com.microsoft.azure.storage.blob.BlobProperties;
+import com.microsoft.azure.storage.blob.CloudBlob;
+import com.microsoft.azure.storage.blob.CloudBlobClient;
+import com.microsoft.azure.storage.blob.CloudBlobContainer;
+import com.microsoft.azure.storage.blob.CloudBlockBlob;
+import com.microsoft.azure.storage.blob.ListBlobItem;
+
+@TriggerSerially
+@Tags({ "azure", "microsoft", "cloud", "storage", "blob" })
+@SeeAlso({ FetchAzureBlobStorage.class, PutAzureBlobStorage.class })
+@CapabilityDescription("Lists blobs in an Azure Storage container. Listing 
details are attached to an empty FlowFile for use with FetchAzureBlobStorage")
+@InputRequirement(Requirement.INPUT_FORBIDDEN)
+@WritesAttributes({ @WritesAttribute(attribute = "azure.container", 
description = "The name of the Azure container"),
+@WritesAttribute(attribute = "azure.blobname", description = "The 
name of the Azure blob"),
+@WritesAttribute(attribute = "azure.primaryUri", description = 
"Primary location for blob content"),
+@WritesAttribute(attribute = "azure.secondaryUri", description = 
"Secondary location for blob content"),
+@WritesAttribute(attribute = "azure.etag", description = "Etag for 
the Azure blob"),
+@WritesAttribute(attribute = "azure.length", description = "Length 
of the blob"),
+@WritesAttribute(attribute = "azure.timestamp", description = "The 
timestamp in Azure for the blob"),
+@WritesAttribute(attribute = "mime.type", description = "MimeType 
of the content"),
+@WritesAttribute(attribute = "lang", description = "Language code 
for the content"),
+@WritesAttribute(attribute = "azure.blobtype", descripti

[GitHub] nifi pull request #1719: NIFI-1833 Updates to Azure Storage Processor PR to ...

2017-05-01 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1719#discussion_r114135508
  
--- Diff: 
nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/src/main/java/org/apache/nifi/processors/azure/AbstractAzureBlobProcessor.java
 ---
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.azure;
+
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.processor.util.StandardValidators;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+public abstract class AbstractAzureBlobProcessor extends 
AbstractAzureProcessor {
+
+public static final PropertyDescriptor BLOB = new 
PropertyDescriptor.Builder().name("Blob").description("The filename of the 
blob").addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
--- End diff --

displayName missing


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1719: NIFI-1833 Updates to Azure Storage Processor PR to ...

2017-05-01 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1719#discussion_r114135293
  
--- Diff: nifi-nar-bundles/nifi-azure-bundle/nifi-azure-processors/pom.xml 
---
@@ -32,11 +32,35 @@ language governing permissions and limitations under 
the License. -->
 nifi-utils
 
 
+org.apache.nifi
+nifi-ssl-context-service-api
+provided
+
+
+org.apache.avro
+avro
+
+
 com.microsoft.azure
 azure-eventhubs
 0.9.0
 
 
+com.fasterxml.jackson.core
+jackson-core
+2.8.6
+
+

[GitHub] nifi-minifi-cpp issue #84: MINIFI-274 Use external project with existing sou...

2017-04-28 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/84
  
+1 merging


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #84: MINIFI-274 Use external project with existing sou...

2017-04-28 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/84
  
Reviewing


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #82: MINIFI-273 Update README to include doxygen depen...

2017-04-28 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/82
  
+1 merging


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #83: MINIFI-281 - Using RemoteProcessGroupSchemaV2

2017-04-28 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi-minifi/pull/83

MINIFI-281 - Using RemoteProcessGroupSchemaV2

Thank you for submitting a contribution to Apache NiFi - MiNiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with MINIFI- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi-minifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under minifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under minifi-assembly?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi-minifi MINIFI-281

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi-minifi/pull/83.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #83


commit 3d6a9fea23c1de8dab0730a3b5de2ff34b7695c2
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-04-28T14:48:31Z

MINIFI-281 - Using RemoteProcessGroupSchemaV2




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #80: MINIFI-277: Write variable registry property t...

2017-04-28 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi/pull/80#discussion_r113939300
  
--- Diff: 
minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/v2/CorePropertiesSchemaV2.java
 ---
@@ -0,0 +1,95 @@
+/*
+ * 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.minifi.commons.schema.v2;
+
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.CORE_PROPS_KEY;
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.MAX_CONCURRENT_THREADS_KEY;
+
+import java.util.Map;
+
+import org.apache.nifi.minifi.commons.schema.common.BaseSchema;
+import org.apache.nifi.minifi.commons.schema.common.WritableSchema;
+
+/**
+ *
+ */
+public class CorePropertiesSchemaV2 extends BaseSchema implements 
WritableSchema {
+
+public static final String FLOW_CONTROLLER_SHUTDOWN_PERIOD_KEY = "flow 
controller graceful shutdown period";
+public static final String FLOW_SERVICE_WRITE_DELAY_INTERVAL_KEY = 
"flow service write delay interval";
+public static final String ADMINISTRATIVE_YIELD_DURATION_KEY = 
"administrative yield duration";
+public static final String BORED_YIELD_DURATION_KEY = "bored yield 
duration";
+
+public static final String 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD = "10 sec";
+public static final String DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL = 
"500 ms";
+public static final String DEFAULT_ADMINISTRATIVE_YIELD_DURATION = "30 
sec";
+public static final String DEFAULT_BORED_YIELD_DURATION = "10 millis";
+public static final int DEFAULT_MAX_CONCURRENT_THREADS = 1;
+
+private String flowControllerGracefulShutdownPeriod = 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD;
+private String flowServiceWriteDelayInterval = 
DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL;
+private String administrativeYieldDuration = 
DEFAULT_ADMINISTRATIVE_YIELD_DURATION;
+private String boredYieldDuration = DEFAULT_BORED_YIELD_DURATION;
+private Number maxConcurrentThreads = DEFAULT_MAX_CONCURRENT_THREADS;
+
+public CorePropertiesSchemaV2() {
+}
+
+public CorePropertiesSchemaV2(Map map) {
+flowControllerGracefulShutdownPeriod = getOptionalKeyAsType(map, 
FLOW_CONTROLLER_SHUTDOWN_PERIOD_KEY, String.class,
+CORE_PROPS_KEY, 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD);
+flowServiceWriteDelayInterval = getOptionalKeyAsType(map, 
FLOW_SERVICE_WRITE_DELAY_INTERVAL_KEY, String.class,
+CORE_PROPS_KEY, DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL);
+administrativeYieldDuration = getOptionalKeyAsType(map, 
ADMINISTRATIVE_YIELD_DURATION_KEY, String.class,
+CORE_PROPS_KEY, DEFAULT_ADMINISTRATIVE_YIELD_DURATION);
+boredYieldDuration = getOptionalKeyAsType(map, 
BORED_YIELD_DURATION_KEY, String.class, CORE_PROPS_KEY, 
DEFAULT_BORED_YIELD_DURATION);
+maxConcurrentThreads = getOptionalKeyAsType(map, 
MAX_CONCURRENT_THREADS_KEY, Number.class,
+CORE_PROPS_KEY, DEFAULT_MAX_CONCURRENT_THREADS);
+}
+
+@Override
+public Map<String, Object> toMap() {
--- End diff --

Then in ConfigSchemaV2, you'd want something like 
```
putIfNotNull(result, CORE_PROPS_KEY, coreProperties.convert());
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #80: MINIFI-277: Write variable registry property t...

2017-04-28 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi/pull/80#discussion_r113938266
  
--- Diff: 
minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/v2/CorePropertiesSchemaV2.java
 ---
@@ -0,0 +1,95 @@
+/*
+ * 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.minifi.commons.schema.v2;
+
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.CORE_PROPS_KEY;
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.MAX_CONCURRENT_THREADS_KEY;
+
+import java.util.Map;
+
+import org.apache.nifi.minifi.commons.schema.common.BaseSchema;
+import org.apache.nifi.minifi.commons.schema.common.WritableSchema;
+
+/**
+ *
+ */
+public class CorePropertiesSchemaV2 extends BaseSchema implements 
WritableSchema {
+
+public static final String FLOW_CONTROLLER_SHUTDOWN_PERIOD_KEY = "flow 
controller graceful shutdown period";
+public static final String FLOW_SERVICE_WRITE_DELAY_INTERVAL_KEY = 
"flow service write delay interval";
+public static final String ADMINISTRATIVE_YIELD_DURATION_KEY = 
"administrative yield duration";
+public static final String BORED_YIELD_DURATION_KEY = "bored yield 
duration";
+
+public static final String 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD = "10 sec";
+public static final String DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL = 
"500 ms";
+public static final String DEFAULT_ADMINISTRATIVE_YIELD_DURATION = "30 
sec";
+public static final String DEFAULT_BORED_YIELD_DURATION = "10 millis";
+public static final int DEFAULT_MAX_CONCURRENT_THREADS = 1;
+
+private String flowControllerGracefulShutdownPeriod = 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD;
+private String flowServiceWriteDelayInterval = 
DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL;
+private String administrativeYieldDuration = 
DEFAULT_ADMINISTRATIVE_YIELD_DURATION;
+private String boredYieldDuration = DEFAULT_BORED_YIELD_DURATION;
+private Number maxConcurrentThreads = DEFAULT_MAX_CONCURRENT_THREADS;
+
+public CorePropertiesSchemaV2() {
+}
+
+public CorePropertiesSchemaV2(Map map) {
+flowControllerGracefulShutdownPeriod = getOptionalKeyAsType(map, 
FLOW_CONTROLLER_SHUTDOWN_PERIOD_KEY, String.class,
+CORE_PROPS_KEY, 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD);
+flowServiceWriteDelayInterval = getOptionalKeyAsType(map, 
FLOW_SERVICE_WRITE_DELAY_INTERVAL_KEY, String.class,
+CORE_PROPS_KEY, DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL);
+administrativeYieldDuration = getOptionalKeyAsType(map, 
ADMINISTRATIVE_YIELD_DURATION_KEY, String.class,
+CORE_PROPS_KEY, DEFAULT_ADMINISTRATIVE_YIELD_DURATION);
+boredYieldDuration = getOptionalKeyAsType(map, 
BORED_YIELD_DURATION_KEY, String.class, CORE_PROPS_KEY, 
DEFAULT_BORED_YIELD_DURATION);
+maxConcurrentThreads = getOptionalKeyAsType(map, 
MAX_CONCURRENT_THREADS_KEY, Number.class,
+CORE_PROPS_KEY, DEFAULT_MAX_CONCURRENT_THREADS);
+}
+
+@Override
+public Map<String, Object> toMap() {
--- End diff --

When changing WritableSchema -> ConvertableSchema, this method should be 
able to be turned into the convert() method (much like 
[RemoteProcessGroupSchemaV2](https://github.com/apache/nifi-minifi/blob/master/minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/v2/RemoteProcessGroupSchemaV2.java#L75))


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #80: MINIFI-277: Write variable registry property t...

2017-04-28 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi/pull/80#discussion_r113937684
  
--- Diff: 
minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/v2/CorePropertiesSchemaV2.java
 ---
@@ -0,0 +1,95 @@
+/*
+ * 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.minifi.commons.schema.v2;
+
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.CORE_PROPS_KEY;
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.MAX_CONCURRENT_THREADS_KEY;
+
+import java.util.Map;
+
+import org.apache.nifi.minifi.commons.schema.common.BaseSchema;
+import org.apache.nifi.minifi.commons.schema.common.WritableSchema;
+
+/**
+ *
+ */
+public class CorePropertiesSchemaV2 extends BaseSchema implements 
WritableSchema {
+
+public static final String FLOW_CONTROLLER_SHUTDOWN_PERIOD_KEY = "flow 
controller graceful shutdown period";
+public static final String FLOW_SERVICE_WRITE_DELAY_INTERVAL_KEY = 
"flow service write delay interval";
+public static final String ADMINISTRATIVE_YIELD_DURATION_KEY = 
"administrative yield duration";
+public static final String BORED_YIELD_DURATION_KEY = "bored yield 
duration";
+
+public static final String 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD = "10 sec";
+public static final String DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL = 
"500 ms";
+public static final String DEFAULT_ADMINISTRATIVE_YIELD_DURATION = "30 
sec";
+public static final String DEFAULT_BORED_YIELD_DURATION = "10 millis";
+public static final int DEFAULT_MAX_CONCURRENT_THREADS = 1;
+
+private String flowControllerGracefulShutdownPeriod = 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD;
+private String flowServiceWriteDelayInterval = 
DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL;
+private String administrativeYieldDuration = 
DEFAULT_ADMINISTRATIVE_YIELD_DURATION;
+private String boredYieldDuration = DEFAULT_BORED_YIELD_DURATION;
+private Number maxConcurrentThreads = DEFAULT_MAX_CONCURRENT_THREADS;
+
+public CorePropertiesSchemaV2() {
+}
+
+public CorePropertiesSchemaV2(Map map) {
+flowControllerGracefulShutdownPeriod = getOptionalKeyAsType(map, 
FLOW_CONTROLLER_SHUTDOWN_PERIOD_KEY, String.class,
+CORE_PROPS_KEY, 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD);
+flowServiceWriteDelayInterval = getOptionalKeyAsType(map, 
FLOW_SERVICE_WRITE_DELAY_INTERVAL_KEY, String.class,
+CORE_PROPS_KEY, DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL);
+administrativeYieldDuration = getOptionalKeyAsType(map, 
ADMINISTRATIVE_YIELD_DURATION_KEY, String.class,
+CORE_PROPS_KEY, DEFAULT_ADMINISTRATIVE_YIELD_DURATION);
+boredYieldDuration = getOptionalKeyAsType(map, 
BORED_YIELD_DURATION_KEY, String.class, CORE_PROPS_KEY, 
DEFAULT_BORED_YIELD_DURATION);
+maxConcurrentThreads = getOptionalKeyAsType(map, 
MAX_CONCURRENT_THREADS_KEY, Number.class,
+CORE_PROPS_KEY, DEFAULT_MAX_CONCURRENT_THREADS);
+}
+
+@Override
+public Map<String, Object> toMap() {
+Map<String, Object> result = mapSupplier.get();
+result.put(FLOW_CONTROLLER_SHUTDOWN_PERIOD_KEY, 
flowControllerGracefulShutdownPeriod);
+result.put(FLOW_SERVICE_WRITE_DELAY_INTERVAL_KEY, 
flowServiceWriteDelayInterval);
+result.put(ADMINISTRATIVE_YIELD_DURATION_KEY, 
administrativeYieldDuration);
+result.put(BORED_YIELD_DURATION_KEY, boredYieldDuration);
+result.put(MAX_CONCURRENT_THREADS_KEY, maxConcurrentThreads);
+return result;
+}
+
+public String getFlowControllerGracefulShutdownPeriod() {
--- End diff --

The gett

[GitHub] nifi-minifi pull request #80: MINIFI-277: Write variable registry property t...

2017-04-28 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi/pull/80#discussion_r113937508
  
--- Diff: 
minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/v2/CorePropertiesSchemaV2.java
 ---
@@ -0,0 +1,95 @@
+/*
+ * 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.minifi.commons.schema.v2;
+
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.CORE_PROPS_KEY;
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.MAX_CONCURRENT_THREADS_KEY;
+
+import java.util.Map;
+
+import org.apache.nifi.minifi.commons.schema.common.BaseSchema;
+import org.apache.nifi.minifi.commons.schema.common.WritableSchema;
+
+/**
+ *
+ */
+public class CorePropertiesSchemaV2 extends BaseSchema implements 
WritableSchema {
+
+public static final String FLOW_CONTROLLER_SHUTDOWN_PERIOD_KEY = "flow 
controller graceful shutdown period";
+public static final String FLOW_SERVICE_WRITE_DELAY_INTERVAL_KEY = 
"flow service write delay interval";
+public static final String ADMINISTRATIVE_YIELD_DURATION_KEY = 
"administrative yield duration";
+public static final String BORED_YIELD_DURATION_KEY = "bored yield 
duration";
+
+public static final String 
DEFAULT_FLOW_CONTROLLER_GRACEFUL_SHUTDOWN_PERIOD = "10 sec";
+public static final String DEFAULT_FLOW_SERVICE_WRITE_DELAY_INTERVAL = 
"500 ms";
+public static final String DEFAULT_ADMINISTRATIVE_YIELD_DURATION = "30 
sec";
+public static final String DEFAULT_BORED_YIELD_DURATION = "10 millis";
+public static final int DEFAULT_MAX_CONCURRENT_THREADS = 1;
--- End diff --

The above constants can probably be deleted and statically imported from 
CorePropertiesSchema


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #80: MINIFI-277: Write variable registry property t...

2017-04-28 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi/pull/80#discussion_r113937276
  
--- Diff: 
minifi-commons/minifi-commons-schema/src/main/java/org/apache/nifi/minifi/commons/schema/v2/CorePropertiesSchemaV2.java
 ---
@@ -0,0 +1,95 @@
+/*
+ * 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.minifi.commons.schema.v2;
+
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.CORE_PROPS_KEY;
+import static 
org.apache.nifi.minifi.commons.schema.common.CommonPropertyKeys.MAX_CONCURRENT_THREADS_KEY;
+
+import java.util.Map;
+
+import org.apache.nifi.minifi.commons.schema.common.BaseSchema;
+import org.apache.nifi.minifi.commons.schema.common.WritableSchema;
+
+/**
+ *
+ */
+public class CorePropertiesSchemaV2 extends BaseSchema implements 
WritableSchema {
--- End diff --

Can this implement ConvertableSchema instead of 
WritableSchema?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1711: NIFI-3755 - Restoring Hive exception handling behav...

2017-04-27 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi/pull/1711

NIFI-3755 - Restoring Hive exception handling behavior

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under nifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under nifi-assembly?
- [X] - N/A - If adding new Properties, have you added .displayName in 
addition to .name (programmatic access) for each of the new properties?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi NIFI-3755

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1711.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1711


commit db9f7dbedff812ae5fd692f7c6b8050aac339a22
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-04-27T19:37:27Z

NIFI-3755 - Restoring Hive exception handling behavior




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1697: NIFI-3695 - added proxy dn flag to support providing autho...

2017-04-27 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1697
  
+1 looks good to me, thoughts @mcgilman ?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1698: NIFI-3744 - PutHiveStreaming cleanup null fixes

2017-04-26 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi/pull/1698

NIFI-3744 - PutHiveStreaming cleanup null fixes

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under nifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under nifi-assembly?
- [X] - N/A - If adding new Properties, have you added .displayName in 
addition to .name (programmatic access) for each of the new properties?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi NIFI-3744

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1698.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1698


commit 29b37d78c199679d4bd0eb8b879bd1d53e0285e1
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-04-26T14:56:40Z

NIFI-3744 - PutHiveStreaming cleanup null fixes




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1693: NIFI-3737 - Ran optipng on all png files

2017-04-25 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1693
  
@andrewmlim those images work fine for me on OSx Sierra (10.12.4) and on 
Ubuntu Linux.  I asked @mattyb149 to try them and he said they worked for him 
on Sierra and not El Capitan.

I think we may have found an already resolved bug in the OSx png rendering 
functionality.  Still backed images out so that we don't cause confusion or 
problems for El Capitan users.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1693: NIFI-3737 - Ran optipng on all png files

2017-04-25 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi/pull/1693

NIFI-3737 - Ran optipng on all png files

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [X] - N/A - Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under nifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under nifi-assembly?
- [X] - N/A - If adding new Properties, have you added .displayName in 
addition to .name (programmatic access) for each of the new properties?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi NIFI-3737

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1693.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1693


commit 599a25015cb9287b3e79852c44e4759702a4c52c
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-04-25T05:03:22Z

NIFI-3737 - Ran optipng on all png files




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1669: NIFI-3695 - created the nifi admin toolkit which includes ...

2017-04-24 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1669
  
+1 looks good to me, seems to be working, @alopresto did @YolandaMDavis 
resolve your concerns?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #79: MINIFI-272 - Delegating C2 Provider, Caching C...

2017-04-20 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi-minifi/pull/79

MINIFI-272 - Delegating C2 Provider, Caching ConfigService, Tests

Thank you for submitting a contribution to Apache NiFi - MiNiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with MINIFI- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi-minifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under minifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under minifi-assembly?

### For documentation related changes:
- [X] 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi-minifi MINIFI-272

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi-minifi/pull/79.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #79


commit ebd0a8ee06cfdec0330d1ee07bc248ae8d71f1fa
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-04-18T19:25:08Z

MINIFI-272 - Delegating C2 Provider, Caching ConfigService, Tests




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1669: NIFI-3695 - created the nifi admin toolkit which includes ...

2017-04-17 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1669
  
Hey @YolandaMDavis this looks like a really good addition to the nifi 
toolkit!  Being able to send bulletins and manage nodes via the command line 
will likely be a really nice-to-have feature for admins.

Put feedback above.  Please let me know if you need more info.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1669: NIFI-3695 - created the nifi admin toolkit which includes ...

2017-04-17 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1669
  
We may want to add some usage information to the documentation as well.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1669: NIFI-3695 - created the nifi admin toolkit which includes ...

2017-04-17 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1669
  
Would it be difficult to create the other binary resources in test setup?  
If not it might be preferable to having zips and tars in source control.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1669: NIFI-3695 - created the nifi admin toolkit which includes ...

2017-04-17 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1669
  
For the keystore, truststores in test resources, is it possible we could 
use the tls-toolkit to generate those on demand?


https://github.com/apache/nifi-minifi/blob/master/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/AbstractTestSecure.java#L71

That should keep them from expiring or needing to be changed later.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1669: NIFI-3695 - created the nifi admin toolkit which in...

2017-04-17 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1669#discussion_r111808071
  
--- Diff: 
nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientUtil.groovy
 ---
@@ -0,0 +1,156 @@
+/*
+ * 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.toolkit.admin.client
+
+import com.google.common.collect.Lists
+import com.sun.jersey.api.client.Client
+import com.sun.jersey.api.client.ClientResponse
+import com.sun.jersey.api.client.WebResource
+import org.apache.nifi.util.NiFiProperties
+import org.apache.nifi.util.StringUtils
+import org.apache.nifi.web.api.dto.NodeDTO
+import org.apache.nifi.web.api.entity.ClusterEntity
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+
+public class NiFiClientUtil {
+
+private static final Logger logger = 
LoggerFactory.getLogger(NiFiClientUtil.class)
+private final static String GET_CLUSTER_ENDPOINT 
="/nifi-api/controller/cluster"
+
+public static Boolean isCluster(final NiFiProperties niFiProperties){
+String clusterNode = 
niFiProperties.getProperty(NiFiProperties.CLUSTER_IS_NODE)
+return Boolean.valueOf(clusterNode)
+}
+
+public static String getUrl(NiFiProperties niFiProperties, String 
endpoint){
+
+final StringBuilder urlBuilder = new StringBuilder();
+
+
if(!StringUtils.isEmpty(niFiProperties.getProperty(NiFiProperties.WEB_HTTPS_PORT))){
+urlBuilder.append("https://;)
+
urlBuilder.append(StringUtils.isEmpty(niFiProperties.getProperty(NiFiProperties.WEB_HTTPS_HOST))
 ? "localhost": niFiProperties.getProperty(NiFiProperties.WEB_HTTPS_HOST))
+urlBuilder.append(":")
+
urlBuilder.append(StringUtils.isEmpty(niFiProperties.getProperty(NiFiProperties.WEB_HTTPS_PORT))
 ? "8081" : niFiProperties.getProperty(NiFiProperties.WEB_HTTPS_PORT))
+}else{
+urlBuilder.append("http://;)
+
urlBuilder.append(StringUtils.isEmpty(niFiProperties.getProperty(NiFiProperties.WEB_HTTP_HOST))
 ? "localhost": niFiProperties.getProperty(NiFiProperties.WEB_HTTP_HOST))
+urlBuilder.append(":")
+
urlBuilder.append(StringUtils.isEmpty(niFiProperties.getProperty(NiFiProperties.WEB_HTTPS_PORT))
 ? "8080": niFiProperties.getProperty(NiFiProperties.WEB_HTTPS_PORT))
+}
+
+if(!StringUtils.isEmpty(endpoint)) {
+urlBuilder.append(endpoint)
+}
+
+urlBuilder.toString()
+}
+
+public static String getUrl(NiFiProperties niFiProperties, NodeDTO 
nodeDTO, String endpoint){
+
+final StringBuilder urlBuilder = new StringBuilder();
+
if(!StringUtils.isEmpty(niFiProperties.getProperty(NiFiProperties.WEB_HTTPS_PORT))){
+urlBuilder.append("https://;)
+
+}else{
+urlBuilder.append("http://;)
+}
+urlBuilder.append(nodeDTO.address)
+urlBuilder.append(":")
+urlBuilder.append(nodeDTO.apiPort)
+
+if(!StringUtils.isEmpty(endpoint)) {
+urlBuilder.append(endpoint)
+}
+
+urlBuilder.toString()
+}
+
+public static ClusterEntity getCluster(final Client client, 
NiFiProperties niFiProperties, List activeUrls){
+
+if(activeUrls.isEmpty()){
+final String url = getUrl(niFiProperties,null)
+activeUrls.add(url)
+}
+
+for(String activeUrl: activeUrls) {
+
+try {
+
+String url = activeUrl + GET_CLUSTER_ENDPOINT
+final WebResource webResource = client.resource(url)
+final ClientResponse response = 
webResource.type("application/json"

[GitHub] nifi pull request #1669: NIFI-3695 - created the nifi admin toolkit which in...

2017-04-17 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1669#discussion_r111807253
  
--- Diff: nifi-toolkit/nifi-toolkit-admin/pom.xml ---
@@ -0,0 +1,189 @@
+
+
+http://maven.apache.org/POM/4.0.0;
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd;>
+
+org.apache.nifi
+nifi-toolkit
+1.2.0-SNAPSHOT
+
+
+4.0.0
+
+nifi-toolkit-admin
+
+
+
+commons-cli
+commons-cli
+
+
+com.google.guava
+guava
+
+
+org.apache.nifi
+nifi-toolkit-tls
+
+
+com.sun.jersey
+jersey-client
+
+
+com.fasterxml.jackson.core
+jackson-databind
+
+
+org.apache.nifi
+nifi-client-dto
+1.2.0-SNAPSHOT
+
+
+org.apache.nifi
+nifi-properties
+
+
+org.apache.nifi
+nifi-properties-loader
+
+
+ch.qos.logback
+logback-classic
+
+
+
+
+org.codehaus.jackson
+jackson-mapper-asl
+
+
+com.fasterxml.jackson.jaxrs
+jackson-jaxrs-json-provider
+RELEASE
+
+
+com.sun.jersey
+jersey-bundle
+RELEASE
+
+
+com.sun.jersey
+jersey-json
+RELEASE
+
+
+org.apache.commons
+commons-compress
+
+
+
+com.github.stefanbirkner
+system-rules
+1.16.0
+test
+
+
+org.spockframework
+spock-core
+test
+
+
+cglib
+cglib-nodep
+test
+
+
+
+
+
+
+org.apache.maven.plugins
+maven-compiler-plugin
+
+
+
+compile
+testCompile
+
+
+
groovy-eclipse-compiler
+
+
+
+
+1.8
+1.8
+
+
+
+org.codehaus.groovy
+groovy-eclipse-compiler
+2.9.2-01
+
+
+org.codehaus.groovy
+groovy-eclipse-batch
+2.4.3-01
+
+
+
+
+org.codehaus.mojo
+build-helper-maven-plugin
+1.5
+
+
+add-source
+generate-sources
+
+add-source
+
+
+
+src/main/groovy
+
+
+
+
+add-test-source
+generate-test-sources
+
+add-test-source
+
+
+
+src/test/groovy
+
+
+
+
+
+
+org.apache.rat
+apache-rat-plugin
+
+
+
src/test/resources/conf/nifi.properties
--- End diff --

Not a huge deal, but the properties and xml files could have the license 
headers so they wouldn't have to be i

[GitHub] nifi pull request #1669: NIFI-3695 - created the nifi admin toolkit which in...

2017-04-17 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1669#discussion_r111807027
  
--- Diff: nifi-toolkit/nifi-toolkit-admin/pom.xml ---
@@ -0,0 +1,189 @@
+
+
+http://maven.apache.org/POM/4.0.0;
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd;>
+
+org.apache.nifi
+nifi-toolkit
+1.2.0-SNAPSHOT
+
+
+4.0.0
+
+nifi-toolkit-admin
+
+
+
+commons-cli
+commons-cli
+
+
+com.google.guava
+guava
+
+
+org.apache.nifi
+nifi-toolkit-tls
+
+
+com.sun.jersey
+jersey-client
+
+
+com.fasterxml.jackson.core
+jackson-databind
+
+
+org.apache.nifi
+nifi-client-dto
+1.2.0-SNAPSHOT
--- End diff --

can we move the version info up into parent pom for nifi-client-dto?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1669: NIFI-3695 - created the nifi admin toolkit which in...

2017-04-17 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1669#discussion_r111806902
  
--- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/groovy/org/apache/nifi/web/StandardNiFiServiceFacadeSpec.groovy
 ---
@@ -49,6 +53,7 @@ class StandardNiFiServiceFacadeSpec extends Specification 
{
 SecurityContextHolder.getContext().setAuthentication(null);
 }
 
--- End diff --

Is there an issue with these ignored tests?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1669: NIFI-3695 - created the nifi admin toolkit which in...

2017-04-17 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1669#discussion_r111806379
  
--- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/manager/BulletinMerger.java
 ---
@@ -71,7 +74,12 @@ public int compare(BulletinEntity o1, BulletinEntity o2) 
{
 }
 }
 
-Collections.sort(bulletinEntities, (BulletinEntity o1, 
BulletinEntity o2) -> {
+final List entities = Lists.newArrayList();
+
+final Map<String,List> groupingEntities = 
bulletinEntities.stream().collect(Collectors.groupingBy(b -> 
b.getBulletin().getMessage()));
+groupingEntities.keySet().stream().forEach(m -> 
entities.add(groupingEntities.get(m).get(0)));
--- End diff --

Would streaming values make this operation a little easier?
Something like:
```
groupingEntities.values().stream().map(e -> 
e.get(0)).forEach(entities::add);
```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1641: NIFI-3666 - TlsToolkit using .equals() comparison f...

2017-03-31 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi/pull/1641

NIFI-3666 - TlsToolkit using .equals() comparison for parent and root

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under nifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under nifi-assembly?
- [X] - N/A - If adding new Properties, have you added .displayName in 
addition to .name (programmatic access) for each of the new properties?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi NIFI-3666-tls-toolkit

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1641.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1641


commit 862e8034353cd5453b15f8cf578c4463da9c2526
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-03-31T17:16:57Z

NIFI-3666 - TlsToolkit using .equals() comparison for parent and root




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #78: MINIFI-251 - Added explicit Java runtime argum...

2017-03-27 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi/pull/78#discussion_r108285965
  
--- Diff: 
minifi-nar-bundles/minifi-framework-bundle/minifi-framework/minifi-resources/src/main/resources/conf/bootstrap.conf
 ---
@@ -85,9 +85,13 @@ java.arg.4=-Djava.net.preferIPv4Stack=true
 java.arg.5=-Dsun.net.http.allowRestrictedHeaders=true
 java.arg.6=-Djava.protocol.handler.pkgs=sun.net.www.protocol
 
+# Sets the provider of SecureRandom to /dev/urandom to prevent blocking on 
VMs
+java.arg.7=-Djava.security.egd=file:/dev/urandom
--- End diff --

@trixpan have you tested that this works in Java 8?

I've used a slightly modified version found [on stack 
overflow](http://stackoverflow.com/questions/137212/how-to-solve-performance-problem-with-java-securerandom#answer-2325109):
```
-Djava.security.egd=file:/dev/./urandom
```



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #76: MINIFI-242 - Initial integration tests focused...

2017-03-21 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi-minifi/pull/76

MINIFI-242 - Initial integration tests focused around backwards compa…

…tibility

Thank you for submitting a contribution to Apache NiFi - MiNiFi.

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 MINIFI- 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:
- [ ] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi-minifi folder?
- [ ] Have you written or updated unit tests to verify your 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, including the main 
LICENSE file under minifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under minifi-assembly?

### 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi-minifi MINIFI-242

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi-minifi/pull/76.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #76


commit 3893d61255837fb93ec9eadca376ac5c480a5b99
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-03-21T16:37:05Z

MINIFI-242 - Initial integration tests focused around backwards 
compatibility




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #74: MINIFI-240 - Docker image for MiNiFi Java

2017-03-20 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi/pull/74#discussion_r106938593
  
--- Diff: minifi-docker/dockerhub/Dockerfile ---
@@ -0,0 +1,46 @@
+# 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.
+#
+
+FROM openjdk:8
+MAINTAINER Apache MiNiFi <d...@nifi.apache.org>
+
+ARG UID=1000
+ARG GID=50
+ARG MINIFI_VERSION=0.2.0
+
+ENV MINIFI_BASE_DIR /opt/minifi
+ENV MINIFI_HOME $MINIFI_BASE_DIR/minifi-$MINIFI_VERSION
+ENV MINIFI_BINARY_URL 
https://archive.apache.org/dist/minifi/$MINIFI_VERSION/minifi-$MINIFI_VERSION-bin.tar.gz
--- End diff --

Need to fix this url path be https://archive.apache.org/dist/nifi/minifi/


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #75: MINIFI-238 - MiNiFi Initial Command and Contro...

2017-03-17 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi-minifi/pull/75

MINIFI-238 - MiNiFi Initial Command and Control Server Implementation

Thank you for submitting a contribution to Apache NiFi - MiNiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with MINIFI- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi-minifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] 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)? 
- [X] If applicable, have you updated the LICENSE file, including the main 
LICENSE file under minifi-assembly?
- [X] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under minifi-assembly?

### For documentation related changes:
- [X] 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi-minifi MINIFI-238

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi-minifi/pull/75.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #75


commit f1d2c21070321bf9abbb97f9885344a20b546d8b
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-03-01T22:06:11Z

MINIFI-238 - MiNiFi Initial Command and Control Server Implementation




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #74: MINIFI-240 - Docker image for MiNiFi Java

2017-03-15 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi-minifi/pull/74

MINIFI-240 - Docker image for MiNiFi Java

Thank you for submitting a contribution to Apache NiFi - MiNiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with MINIFI- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi-minifi folder?
- [X] - N/A - Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under minifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under minifi-assembly?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi-minifi MINIFI-240

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi-minifi/pull/74.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #74


commit efc5c669702b930bca49bf07da6e679f95adc990
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-03-15T17:21:58Z

MINIFI-240 - Docker image for MiNiFi Java




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi-cpp issue #63: MINIFI-217: Implement namespaces.

2017-03-13 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi-minifi-cpp/pull/63
  
@phrocker 

From a Java dev perspective, the namespaces look a little shallower than 
the Java package names.  I think that's probably justifiable though to prevent 
a ton of boilerplate, given that the number of classes is much lower in 
cpp-land.

Big fan of namespacing to avoid name clashes and just generally keep 
different ideas separate from each other.  Think this looks like a great step 
forward :smile: 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1578: NIFI-3574 - PutHiveStreaming UGI fixes

2017-03-10 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1578#discussion_r105418460
  
--- Diff: 
nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/util/hive/HiveConfigurator.java
 ---
@@ -74,7 +74,8 @@ public HiveConf getConfigurationFromFiles(final String 
configFiles) {
 
 public void preload(Configuration configuration) {
 try {
-FileSystem.get(configuration);
+FileSystem.get(configuration).close();
--- End diff --

Hey @mattyb149 

The two clusters I was testing against (secure and unsecure) were both 
configured for HA so I did test preloading with HA inadvertently :smile:


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1578: NIFI-3574 - PutHiveStreaming UGI fixes

2017-03-09 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1578
  
contrib-check build working on linux, from root nifi folder, on OSX I've 
been having issues with kafka tests so I just ran the changed modules and those 
are checking out


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1578: NIFI-3574 - PutHiveStreaming UGI fixes

2017-03-08 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi/pull/1578

NIFI-3574 - PutHiveStreaming UGI fixes

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### 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?
- [X] Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under nifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under nifi-assembly?
- [X] - N/A - If adding new Properties, have you added .displayName in 
addition to .name (programmatic access) for each of the new properties?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi NIFI-3574

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1578.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1578


commit 095a235075d2676d870b63dcba5b35507d9f45e7
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-03-08T22:41:59Z

NIFI-3574 - PutHiveStreaming UGI fixes




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1530: NIFI-3490 added SAN option for TLS toolkit in standalone m...

2017-02-27 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1530
  
I agree that changing flags is likely to cause confusion although since we 
haven't had a release yet, I would hope it would be minimal impact. Consistency 
across modes of operation will help reduce surprise which is always a good 
thing.

Do we expect this to be something most users specify or is it a more 
advanced usecase?  If it's more advanced and less common then a short version 
of the argument may not be necessary.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1544: NIFI-3530 - Ensuring configuration and ugi informat...

2017-02-24 Thread brosander
GitHub user brosander reopened a pull request:

https://github.com/apache/nifi/pull/1544

NIFI-3530 - Ensuring configuration and ugi information is passed down…

… to Hive in PutHiveStreaming

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under nifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under nifi-assembly?
- [X] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi NIFI-3530

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1544.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1544


commit e476c43a5bde14e15f317b6e5eb371206c22ce06
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-02-24T21:09:42Z

NIFI-3530 - Ensuring configuration and ugi information is passed down to 
Hive in PutHiveStreaming




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1544: NIFI-3530 - Ensuring configuration and ugi informat...

2017-02-24 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi/pull/1544

NIFI-3530 - Ensuring configuration and ugi information is passed down…

… to Hive in PutHiveStreaming

Thank you for submitting a contribution to Apache NiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with NIFI- where  is the JIRA number 
you are trying to resolve? Pay particular attention to the hyphen "-" character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under nifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under nifi-assembly?
- [X] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [X] - N/A - 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi NIFI-3530

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi/pull/1544.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1544


commit e476c43a5bde14e15f317b6e5eb371206c22ce06
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-02-24T21:09:42Z

NIFI-3530 - Ensuring configuration and ugi information is passed down to 
Hive in PutHiveStreaming




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1544: NIFI-3530 - Ensuring configuration and ugi informat...

2017-02-24 Thread brosander
Github user brosander closed the pull request at:

https://github.com/apache/nifi/pull/1544


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #72: MINIFI-216 - Allowing override of nifi.propert...

2017-02-21 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi-minifi/pull/72#discussion_r102292357
  
--- Diff: 
minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/util/ConfigTransformer.java
 ---
@@ -704,7 +691,7 @@ protected static void addTextElement(final Element 
element, final String name, f
 }
 
 public static final String PROPERTIES_FILE_APACHE_2_0_LICENSE =
-"# Licensed to the Apache Software Foundation (ASF) under one 
or more\n" +
+" Licensed to the Apache Software Foundation (ASF) under one 
or more\n" +
--- End diff --

@phrocker due to the change in the way the props file is written out.

[The store 
method](https://github.com/apache/nifi-minifi/pull/72/files#diff-a022622bcf128ab992d247f2a8694a0eR263)
 will prepend a # to the comment string.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi-minifi pull request #72: MINIFI-216 - Allowing override of nifi.propert...

2017-02-21 Thread brosander
GitHub user brosander opened a pull request:

https://github.com/apache/nifi-minifi/pull/72

MINIFI-216 - Allowing override of nifi.properties values

Thank you for submitting a contribution to Apache NiFi - MiNiFi.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

### For all changes:
- [X] Is there a JIRA ticket associated with this PR? Is it referenced 
 in the commit message?

- [X] Does your PR title start with MINIFI- where  is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.

- [X] Has your PR been rebased against the latest commit within the target 
branch (typically master)?

- [X] Is your initial contribution a single, squashed commit?

### For code changes:
- [X] Have you ensured that the full suite of tests is executed via mvn 
-Pcontrib-check clean install at the root nifi-minifi folder?
- [X] Have you written or updated unit tests to verify your changes?
- [X] - N/A - 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)? 
- [X] - N/A - If applicable, have you updated the LICENSE file, including 
the main LICENSE file under minifi-assembly?
- [X] - N/A - If applicable, have you updated the NOTICE file, including 
the main NOTICE file found under minifi-assembly?

### For documentation related changes:
- [X] 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.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/brosander/nifi-minifi MINIFI-216

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/nifi-minifi/pull/72.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #72


commit 397d52f99ae3e7ef0b252336c11e164bfd66ec71
Author: Bryan Rosander <brosan...@apache.org>
Date:   2017-02-21T16:15:09Z

MINIFI-216 - Allowing override of nifi.properties values




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1508: NIFI-3355 Allows NiFi to bind to specific network interfac...

2017-02-15 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1508
  
+1 merging


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1508: NIFI-3355 Allows NiFi to bind to specific network interfac...

2017-02-15 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1508
  
Reviewing


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1364: NIFI-1856 ExecuteStreamCommand Needs to Consume Sta...

2017-02-15 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1364#discussion_r101328875
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteStreamCommand.java
 ---
@@ -342,16 +393,45 @@ public void onTrigger(ProcessContext context, final 
ProcessSession session) thro
 final InputStream pis = process.getInputStream();
 final InputStream pes = process.getErrorStream();
 final BufferedInputStream bis = new 
BufferedInputStream(pis);
+final BufferedInputStream bes = new 
BufferedInputStream(pes);
 final BufferedReader bufferedReader = new 
BufferedReader(new InputStreamReader(pes))) {
 int exitCode = -1;
 final BufferedOutputStream bos = new BufferedOutputStream(pos);
+final StringBuilder strBldr = new StringBuilder();
 FlowFile outputFlowFile = putToAttribute ? inputFlowFile : 
session.create(inputFlowFile);
+FlowFile errorFlowFile=null;
+FlowWriterThread flowWriter = null;
+if (REDIRECT_ERROR_ERROR_STREAM.equals(redirectErrorStream)) {
+ errorFlowFile = session.create(inputFlowFile);
+flowWriter = new FlowWriterThread(errorFlowFile, session, 
bes);
+this.executor.submit(flowWriter);
+}
+//if redirect error stream is set to log, then write the error 
to nifi component log.
+if (REDIRECT_ERROR_LOG.equals(redirectErrorStream)) {
+this.executor.submit(new Runnable() {
+@Override
+public void run() {
+   try (final BufferedReader reader = new 
BufferedReader(new InputStreamReader(pes))) {
+String line;
+while ((line = bufferedReader.readLine()) != 
null) {
+ logger.warn("ExecuteStreamCommand 
:"+line);
+ strBldr.append(line).append("\n");
--- End diff --

I think this probably warrants its own jira as it was existing behavior, 
I'm going to write it up separately


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1364: NIFI-1856 ExecuteStreamCommand Needs to Consume Sta...

2017-02-14 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1364#discussion_r101160112
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteStreamCommand.java
 ---
@@ -342,16 +393,45 @@ public void onTrigger(ProcessContext context, final 
ProcessSession session) thro
 final InputStream pis = process.getInputStream();
 final InputStream pes = process.getErrorStream();
 final BufferedInputStream bis = new 
BufferedInputStream(pis);
+final BufferedInputStream bes = new 
BufferedInputStream(pes);
 final BufferedReader bufferedReader = new 
BufferedReader(new InputStreamReader(pes))) {
 int exitCode = -1;
 final BufferedOutputStream bos = new BufferedOutputStream(pos);
+final StringBuilder strBldr = new StringBuilder();
 FlowFile outputFlowFile = putToAttribute ? inputFlowFile : 
session.create(inputFlowFile);
+FlowFile errorFlowFile=null;
+FlowWriterThread flowWriter = null;
+if (REDIRECT_ERROR_ERROR_STREAM.equals(redirectErrorStream)) {
+ errorFlowFile = session.create(inputFlowFile);
+flowWriter = new FlowWriterThread(errorFlowFile, session, 
bes);
+this.executor.submit(flowWriter);
+}
+//if redirect error stream is set to log, then write the error 
to nifi component log.
+if (REDIRECT_ERROR_LOG.equals(redirectErrorStream)) {
+this.executor.submit(new Runnable() {
+@Override
+public void run() {
+   try (final BufferedReader reader = new 
BufferedReader(new InputStreamReader(pes))) {
+String line;
+while ((line = bufferedReader.readLine()) != 
null) {
+ logger.warn("ExecuteStreamCommand 
:"+line);
+ strBldr.append(line).append("\n");
--- End diff --

It looks like we're only going to use the first 4000 characters of strBldr, 
we might want to preemptively throw away anything before that so we don't have 
to store all the output in memory


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1364: NIFI-1856 ExecuteStreamCommand Needs to Consume Standard E...

2017-02-14 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1364
  
Reviewing


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #1364: NIFI-1856 ExecuteStreamCommand Needs to Consume Sta...

2017-02-14 Thread brosander
Github user brosander commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1364#discussion_r101158900
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteStreamCommand.java
 ---
@@ -287,6 +311,32 @@ protected PropertyDescriptor 
getSupportedDynamicPropertyDescriptor(final String
 .build();
 }
 
+@OnScheduled
+public void setupExecutor(final ProcessContext context) {
+executor = 
Executors.newFixedThreadPool(context.getMaxConcurrentTasks() * 2, new 
ThreadFactory() {
+private final ThreadFactory defaultFactory = 
Executors.defaultThreadFactory();
+
+@Override
+public Thread newThread(final Runnable r) {
+final Thread t = defaultFactory.newThread(r);
+t.setName("ExecuteStreamCommand " + getIdentifier() + " 
Task");
+return t;
+}
+});
+}
+
+@OnUnscheduled
--- End diff --

@rkarthik29 

OnUnscheduled runs before all the executing threads are complete, I think 
it would be safer to use OnStopped to shutdown the executor


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1199: NIFI-3017: Exclude org.json dependency from Hive bundle

2017-02-14 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1199
  
+1, merged


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #972: NIFI-2711 - Making top-level nifi-assemblies directory with...

2017-02-14 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/972
  
Seems like lack of demand for this change, probably should raise visibility 
on impact via a discuss thread before messing with assemblies anyway


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi pull request #972: NIFI-2711 - Making top-level nifi-assemblies directo...

2017-02-14 Thread brosander
Github user brosander closed the pull request at:

https://github.com/apache/nifi/pull/972


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1199: NIFI-3017: Exclude org.json dependency from Hive bundle

2017-02-14 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1199
  
Reviewing...


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] nifi issue #1446: NIFI-3389 - Using long string type for attribute name and ...

2017-02-14 Thread brosander
Github user brosander commented on the issue:

https://github.com/apache/nifi/pull/1446
  
@markap14 I was thinking this might be a time when verbosity makes it less 
likely that someone would inadvertently change old behavior

I can pull the logic out into methods but anyone wanting to further change 
the v2 schema would have to be careful not to also impact the v1 schema.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


  1   2   3   >