[GitHub] nifi pull request #3078: NIFI-4805 Allow Delayed Transfer

2018-10-15 Thread patricker
GitHub user patricker opened a pull request:

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

NIFI-4805 Allow Delayed Transfer

Went looking for this processor, found a work around, and found that others 
had already discussed building one throughout 2018 (see ticket/email thread 
from today, October 15th).

Happy to make changes, feedback welcome.

### 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?
- [ ] 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 nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in 
which it is rendered?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


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

$ git pull https://github.com/patricker/nifi NIFI-4805

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

https://github.com/apache/nifi/pull/3078.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 #3078


commit badfe8651651e5cefe1d2447458ff43be7ba0cdc
Author: patricker 
Date:   2018-10-16T02:55:20Z

NIFI-4805 Allow Delayed Transfer




---


[jira] [Commented] (NIFI-4805) allow delayed transfer

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-4805:
--

GitHub user patricker opened a pull request:

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

NIFI-4805 Allow Delayed Transfer

Went looking for this processor, found a work around, and found that others 
had already discussed building one throughout 2018 (see ticket/email thread 
from today, October 15th).

Happy to make changes, feedback welcome.

### 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?
- [ ] 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 nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in 
which it is rendered?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


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

$ git pull https://github.com/patricker/nifi NIFI-4805

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

https://github.com/apache/nifi/pull/3078.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 #3078


commit badfe8651651e5cefe1d2447458ff43be7ba0cdc
Author: patricker 
Date:   2018-10-16T02:55:20Z

NIFI-4805 Allow Delayed Transfer




> allow delayed transfer
> --
>
> Key: NIFI-4805
> URL: https://issues.apache.org/jira/browse/NIFI-4805
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Reporter: Martin Mucha
>Assignee: Peter Wicks
>Priority: Minor
> Attachments: retry.xml
>
>
> Nifi has concept of penalization, but this penalization has fixed delay, and 
> there isn't way how to change it dynamically. 
> If we want to implement retry flow, where FlowFile flows in loop, we can 
> either lower performance of Processor via yielding it, or we can do active 
> waiting. And this is actually recommended as a correct way how to do that.
> It seems, that we can easily implement better RetryProcessor, all we missing 
> is `session.penalize` which accepts `penalizationPeriod`. Processor then can 
> gradually prolong waiting time after each failure.
>  
> Would it be possible to make such method visible?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (NIFI-4805) allow delayed transfer

2018-10-15 Thread Peter Wicks (JIRA)


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

Peter Wicks reassigned NIFI-4805:
-

Assignee: Peter Wicks

> allow delayed transfer
> --
>
> Key: NIFI-4805
> URL: https://issues.apache.org/jira/browse/NIFI-4805
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Reporter: Martin Mucha
>Assignee: Peter Wicks
>Priority: Minor
> Attachments: retry.xml
>
>
> Nifi has concept of penalization, but this penalization has fixed delay, and 
> there isn't way how to change it dynamically. 
> If we want to implement retry flow, where FlowFile flows in loop, we can 
> either lower performance of Processor via yielding it, or we can do active 
> waiting. And this is actually recommended as a correct way how to do that.
> It seems, that we can easily implement better RetryProcessor, all we missing 
> is `session.penalize` which accepts `penalizationPeriod`. Processor then can 
> gradually prolong waiting time after each failure.
>  
> Would it be possible to make such method visible?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5704) TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5704:
--

GitHub user patricker opened a pull request:

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

NIFI-5704 TestStandardProcessSession testBatchQueuedHaveSameQueuedTim…

…e is a brittle test



### 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?
- [ ] 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 nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in 
which it is rendered?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


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

$ git pull https://github.com/patricker/nifi NIFI-5704

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

https://github.com/apache/nifi/pull/3077.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 #3077


commit 6c7e38ebcedd5de518ca27c1a356ef5c06bc39b3
Author: Peter Wicks 
Date:   2018-10-16T02:34:10Z

NIFI-5704 TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a 
brittle test




> TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test
> --
>
> Key: NIFI-5704
> URL: https://issues.apache.org/jira/browse/NIFI-5704
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
>Reporter: Joseph Witt
>Assignee: Peter Wicks
>Priority: Major
>
> [ERROR] Failures: 
> [ERROR]   TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime:1691 
> Queued times should not be equal.. Actual: 1539636497790
> [ERROR] Tests run: 59, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 
> 0.102 s <<< FAILURE! - in 
> org.apache.nifi.controller.repository.TestStandardProcessSession
> [ERROR] 
> testBatchQueuedHaveSameQueuedTime(org.apache.nifi.controller.repository.TestStandardProcessSession)
>   Time elapsed: 0.008 s  <<< FAILURE!
> java.lang.AssertionError: Queued times should not be equal.. Actual: 
> 1539636497790
>   at 
> org.apache.nifi.controller.repository.TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime(TestStandardProcessSession.java:1691)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #3077: NIFI-5704 TestStandardProcessSession testBatchQueue...

2018-10-15 Thread patricker
GitHub user patricker opened a pull request:

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

NIFI-5704 TestStandardProcessSession testBatchQueuedHaveSameQueuedTim…

…e is a brittle test



### 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?
- [ ] 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 nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in 
which it is rendered?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


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

$ git pull https://github.com/patricker/nifi NIFI-5704

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

https://github.com/apache/nifi/pull/3077.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 #3077


commit 6c7e38ebcedd5de518ca27c1a356ef5c06bc39b3
Author: Peter Wicks 
Date:   2018-10-16T02:34:10Z

NIFI-5704 TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a 
brittle test




---


[jira] [Assigned] (NIFI-5704) TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test

2018-10-15 Thread Peter Wicks (JIRA)


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

Peter Wicks reassigned NIFI-5704:
-

Assignee: Peter Wicks

> TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test
> --
>
> Key: NIFI-5704
> URL: https://issues.apache.org/jira/browse/NIFI-5704
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
>Reporter: Joseph Witt
>Assignee: Peter Wicks
>Priority: Major
>
> [ERROR] Failures: 
> [ERROR]   TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime:1691 
> Queued times should not be equal.. Actual: 1539636497790
> [ERROR] Tests run: 59, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 
> 0.102 s <<< FAILURE! - in 
> org.apache.nifi.controller.repository.TestStandardProcessSession
> [ERROR] 
> testBatchQueuedHaveSameQueuedTime(org.apache.nifi.controller.repository.TestStandardProcessSession)
>   Time elapsed: 0.008 s  <<< FAILURE!
> java.lang.AssertionError: Queued times should not be equal.. Actual: 
> 1539636497790
>   at 
> org.apache.nifi.controller.repository.TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime(TestStandardProcessSession.java:1691)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5704) TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test

2018-10-15 Thread Peter Wicks (JIRA)


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

Peter Wicks commented on NIFI-5704:
---

The test adds files to a queue, and expects because they are added via a loop 
that the queue times will be slightly different between the first and the last 
files. However, apparently on your very fast system this fails sometimes, and 
all FlowFile's actually get the same queue time... I guess there is nothing 
wrong with this, it's a legitimate possibility. I'm adding in a 0.5 second 
delay when the last FlowFile is queued in the test to ensure the timestamps are 
different. Will PR.

> TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test
> --
>
> Key: NIFI-5704
> URL: https://issues.apache.org/jira/browse/NIFI-5704
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
>Reporter: Joseph Witt
>Priority: Major
>
> [ERROR] Failures: 
> [ERROR]   TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime:1691 
> Queued times should not be equal.. Actual: 1539636497790
> [ERROR] Tests run: 59, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 
> 0.102 s <<< FAILURE! - in 
> org.apache.nifi.controller.repository.TestStandardProcessSession
> [ERROR] 
> testBatchQueuedHaveSameQueuedTime(org.apache.nifi.controller.repository.TestStandardProcessSession)
>   Time elapsed: 0.008 s  <<< FAILURE!
> java.lang.AssertionError: Queued times should not be equal.. Actual: 
> 1539636497790
>   at 
> org.apache.nifi.controller.repository.TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime(TestStandardProcessSession.java:1691)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5704) TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test

2018-10-15 Thread Peter Wicks (JIRA)


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

Peter Wicks commented on NIFI-5704:
---

I wrote it up, I'm checking it out.

> TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test
> --
>
> Key: NIFI-5704
> URL: https://issues.apache.org/jira/browse/NIFI-5704
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
>Reporter: Joseph Witt
>Priority: Major
>
> [ERROR] Failures: 
> [ERROR]   TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime:1691 
> Queued times should not be equal.. Actual: 1539636497790
> [ERROR] Tests run: 59, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 
> 0.102 s <<< FAILURE! - in 
> org.apache.nifi.controller.repository.TestStandardProcessSession
> [ERROR] 
> testBatchQueuedHaveSameQueuedTime(org.apache.nifi.controller.repository.TestStandardProcessSession)
>   Time elapsed: 0.008 s  <<< FAILURE!
> java.lang.AssertionError: Queued times should not be equal.. Actual: 
> 1539636497790
>   at 
> org.apache.nifi.controller.repository.TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime(TestStandardProcessSession.java:1691)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5705) Add Hive 3 attribution to assembly and top-level NOTICEs

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5705:
--

GitHub user mattyb149 opened a pull request:

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

NIFI-5705: Added Hive 3 attribution to nifi-assembly and top-level NOTICEs

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?
- [ ] 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 nifi-assembly?
- [x] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in 
which it is rendered?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


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

$ git pull https://github.com/mattyb149/nifi NIFI-5705

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

https://github.com/apache/nifi/pull/3076.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 #3076


commit e4c1fc0d8e6bbe6ca4b07f7556f248567721a268
Author: Matthew Burgess 
Date:   2018-10-15T23:34:05Z

NIFI-5705: Added Hive 3 attribution to nifi-assembly and top-level NOTICEs




> Add Hive 3 attribution to assembly and top-level NOTICEs
> 
>
> Key: NIFI-5705
> URL: https://issues.apache.org/jira/browse/NIFI-5705
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Documentation  Website
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
> Fix For: 1.8.0
>
>
> NiFiRecordSerDe in the Hive 3 NAR derives from JsonSerDe in the Hive 3 
> codebase. The attribution was added to the Hive 3 NAR's NOTICE, but at the 
> time it wasn't associated with a release (as the release hadn't happened), 
> and it wasn't added to the nifi-assembly and top-level NOTICEs.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-5705) Add Hive 3 attribution to assembly and top-level NOTICEs

2018-10-15 Thread Matt Burgess (JIRA)


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

Matt Burgess updated NIFI-5705:
---
Status: Patch Available  (was: In Progress)

> Add Hive 3 attribution to assembly and top-level NOTICEs
> 
>
> Key: NIFI-5705
> URL: https://issues.apache.org/jira/browse/NIFI-5705
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Documentation  Website
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
> Fix For: 1.8.0
>
>
> NiFiRecordSerDe in the Hive 3 NAR derives from JsonSerDe in the Hive 3 
> codebase. The attribution was added to the Hive 3 NAR's NOTICE, but at the 
> time it wasn't associated with a release (as the release hadn't happened), 
> and it wasn't added to the nifi-assembly and top-level NOTICEs.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (NIFI-5705) Add Hive 3 attribution to assembly and top-level NOTICEs

2018-10-15 Thread Matt Burgess (JIRA)


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

Matt Burgess reassigned NIFI-5705:
--

Assignee: Matt Burgess

> Add Hive 3 attribution to assembly and top-level NOTICEs
> 
>
> Key: NIFI-5705
> URL: https://issues.apache.org/jira/browse/NIFI-5705
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Documentation  Website
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
> Fix For: 1.8.0
>
>
> NiFiRecordSerDe in the Hive 3 NAR derives from JsonSerDe in the Hive 3 
> codebase. The attribution was added to the Hive 3 NAR's NOTICE, but at the 
> time it wasn't associated with a release (as the release hadn't happened), 
> and it wasn't added to the nifi-assembly and top-level NOTICEs.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #3076: NIFI-5705: Added Hive 3 attribution to nifi-assembl...

2018-10-15 Thread mattyb149
GitHub user mattyb149 opened a pull request:

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

NIFI-5705: Added Hive 3 attribution to nifi-assembly and top-level NOTICEs

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?
- [ ] 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 nifi-assembly?
- [x] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [ ] Have you ensured that format looks appropriate for the output in 
which it is rendered?

### Note:
Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


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

$ git pull https://github.com/mattyb149/nifi NIFI-5705

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

https://github.com/apache/nifi/pull/3076.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 #3076


commit e4c1fc0d8e6bbe6ca4b07f7556f248567721a268
Author: Matthew Burgess 
Date:   2018-10-15T23:34:05Z

NIFI-5705: Added Hive 3 attribution to nifi-assembly and top-level NOTICEs




---


[jira] [Created] (NIFI-5705) Add Hive 3 attribution to assembly and top-level NOTICEs

2018-10-15 Thread Matt Burgess (JIRA)
Matt Burgess created NIFI-5705:
--

 Summary: Add Hive 3 attribution to assembly and top-level NOTICEs
 Key: NIFI-5705
 URL: https://issues.apache.org/jira/browse/NIFI-5705
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Documentation  Website
Reporter: Matt Burgess
 Fix For: 1.8.0


NiFiRecordSerDe in the Hive 3 NAR derives from JsonSerDe in the Hive 3 
codebase. The attribution was added to the Hive 3 NAR's NOTICE, but at the time 
it wasn't associated with a release (as the release hadn't happened), and it 
wasn't added to the nifi-assembly and top-level NOTICEs.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (NIFI-5659) Add documentation for Offloading Nodes functionality and new Node related CLI commands

2018-10-15 Thread Jeff Storck (JIRA)


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

Jeff Storck resolved NIFI-5659.
---
Resolution: Done

> Add documentation for Offloading Nodes functionality and new Node related CLI 
> commands
> --
>
> Key: NIFI-5659
> URL: https://issues.apache.org/jira/browse/NIFI-5659
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Documentation  Website
>Reporter: Andrew Lim
>Assignee: Andrew Lim
>Priority: Minor
> Fix For: 1.8.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5659) Add documentation for Offloading Nodes functionality and new Node related CLI commands

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5659:
--

Github user asfgit closed the pull request at:

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


> Add documentation for Offloading Nodes functionality and new Node related CLI 
> commands
> --
>
> Key: NIFI-5659
> URL: https://issues.apache.org/jira/browse/NIFI-5659
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Documentation  Website
>Reporter: Andrew Lim
>Assignee: Andrew Lim
>Priority: Minor
> Fix For: 1.8.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5659) Add documentation for Offloading Nodes functionality and new Node related CLI commands

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit fd5eccc593b97ec3c836d870adde079cd78b374c in nifi's branch 
refs/heads/master from [~andrewmlim]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=fd5eccc ]

NIFI-5659 Add documentation for Offloading Nodes functionality and new Node 
related CLI commands

This closes #3056


> Add documentation for Offloading Nodes functionality and new Node related CLI 
> commands
> --
>
> Key: NIFI-5659
> URL: https://issues.apache.org/jira/browse/NIFI-5659
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Documentation  Website
>Reporter: Andrew Lim
>Assignee: Andrew Lim
>Priority: Minor
> Fix For: 1.8.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #3056: NIFI-5659 Add documentation for Offloading Nodes fu...

2018-10-15 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[jira] [Updated] (NIFI-5659) Add documentation for Offloading Nodes functionality and new Node related CLI commands

2018-10-15 Thread Jeff Storck (JIRA)


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

Jeff Storck updated NIFI-5659:
--
Fix Version/s: 1.8.0

> Add documentation for Offloading Nodes functionality and new Node related CLI 
> commands
> --
>
> Key: NIFI-5659
> URL: https://issues.apache.org/jira/browse/NIFI-5659
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Documentation  Website
>Reporter: Andrew Lim
>Assignee: Andrew Lim
>Priority: Minor
> Fix For: 1.8.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5704) TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test

2018-10-15 Thread Joseph Witt (JIRA)


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

Joseph Witt commented on NIFI-5704:
---

[~patricker] [~mikerthomsen] can you look into the above test?  It appears to 
not be written in such a way to work reliably on different systems.  I've not 
looked in detail but it fails sometimes on one of my higher power build systems.

> TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test
> --
>
> Key: NIFI-5704
> URL: https://issues.apache.org/jira/browse/NIFI-5704
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
>Reporter: Joseph Witt
>Priority: Major
>
> [ERROR] Failures: 
> [ERROR]   TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime:1691 
> Queued times should not be equal.. Actual: 1539636497790
> [ERROR] Tests run: 59, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 
> 0.102 s <<< FAILURE! - in 
> org.apache.nifi.controller.repository.TestStandardProcessSession
> [ERROR] 
> testBatchQueuedHaveSameQueuedTime(org.apache.nifi.controller.repository.TestStandardProcessSession)
>   Time elapsed: 0.008 s  <<< FAILURE!
> java.lang.AssertionError: Queued times should not be equal.. Actual: 
> 1539636497790
>   at 
> org.apache.nifi.controller.repository.TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime(TestStandardProcessSession.java:1691)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFI-5704) TestStandardProcessSession testBatchQueuedHaveSameQueuedTime is a brittle test

2018-10-15 Thread Joseph Witt (JIRA)
Joseph Witt created NIFI-5704:
-

 Summary: TestStandardProcessSession 
testBatchQueuedHaveSameQueuedTime is a brittle test
 Key: NIFI-5704
 URL: https://issues.apache.org/jira/browse/NIFI-5704
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework
Affects Versions: 1.8.0
Reporter: Joseph Witt


[ERROR] Failures: 
[ERROR]   TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime:1691 
Queued times should not be equal.. Actual: 1539636497790


[ERROR] Tests run: 59, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 0.102 
s <<< FAILURE! - in 
org.apache.nifi.controller.repository.TestStandardProcessSession
[ERROR] 
testBatchQueuedHaveSameQueuedTime(org.apache.nifi.controller.repository.TestStandardProcessSession)
  Time elapsed: 0.008 s  <<< FAILURE!
java.lang.AssertionError: Queued times should not be equal.. Actual: 
1539636497790
at 
org.apache.nifi.controller.repository.TestStandardProcessSession.testBatchQueuedHaveSameQueuedTime(TestStandardProcessSession.java:1691)





--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (NIFI-4811) Use a newer version of spring-data-redis

2018-10-15 Thread Joseph Witt (JIRA)


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

Joseph Witt resolved NIFI-4811.
---
Resolution: Fixed

> Use a newer version of spring-data-redis
> 
>
> Key: NIFI-4811
> URL: https://issues.apache.org/jira/browse/NIFI-4811
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Johan Oceanstorm
>Assignee: Mike Thomsen
>Priority: Major
> Fix For: 1.8.0
>
> Attachments: NIFI-4811-fixuplandn.patch
>
>
> NiFi uses version 1.8.3 of spring-data-redis (as you can see 
> [here|[https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-redis-bundle/pom.xml#L31].]
> This version is an old version. The newer stable version is 2.0.2.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4811) Use a newer version of spring-data-redis

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-4811:
--

Github user asfgit closed the pull request at:

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


> Use a newer version of spring-data-redis
> 
>
> Key: NIFI-4811
> URL: https://issues.apache.org/jira/browse/NIFI-4811
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Johan Oceanstorm
>Assignee: Mike Thomsen
>Priority: Major
> Fix For: 1.8.0
>
> Attachments: NIFI-4811-fixuplandn.patch
>
>
> NiFi uses version 1.8.3 of spring-data-redis (as you can see 
> [here|[https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-redis-bundle/pom.xml#L31].]
> This version is an old version. The newer stable version is 2.0.2.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #2856: NIFI-4811 Added two missing entries to the nifi-red...

2018-10-15 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[jira] [Commented] (NIFI-4811) Use a newer version of spring-data-redis

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit 11afb0115e0dac3092a02e9c5fb3997e79704113 in nifi's branch 
refs/heads/master from [~mike.thomsen]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=11afb01 ]

NIFI-4811 This closes #2856. Removed no longer necessary license and updated 
NOTICE

Signed-off-by: joewitt 


> Use a newer version of spring-data-redis
> 
>
> Key: NIFI-4811
> URL: https://issues.apache.org/jira/browse/NIFI-4811
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Johan Oceanstorm
>Assignee: Mike Thomsen
>Priority: Major
> Fix For: 1.8.0
>
> Attachments: NIFI-4811-fixuplandn.patch
>
>
> NiFi uses version 1.8.3 of spring-data-redis (as you can see 
> [here|[https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-redis-bundle/pom.xml#L31].]
> This version is an old version. The newer stable version is 2.0.2.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-4811) Use a newer version of spring-data-redis

2018-10-15 Thread Joseph Witt (JIRA)


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

Joseph Witt updated NIFI-4811:
--
Attachment: NIFI-4811-fixuplandn.patch

> Use a newer version of spring-data-redis
> 
>
> Key: NIFI-4811
> URL: https://issues.apache.org/jira/browse/NIFI-4811
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Johan Oceanstorm
>Assignee: Mike Thomsen
>Priority: Major
> Fix For: 1.8.0
>
> Attachments: NIFI-4811-fixuplandn.patch
>
>
> NiFi uses version 1.8.3 of spring-data-redis (as you can see 
> [here|[https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-redis-bundle/pom.xml#L31].]
> This version is an old version. The newer stable version is 2.0.2.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5604) Allow GenerateTableFetch to send empty flow files when no rows would be fetched

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5604:
--

GitHub user mattyb149 opened a pull request:

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

NIFI-5604: Added property to allow empty FlowFile when no SQL generated by 
GenerateTableFetch

Note that this should work with NIFI-5601 (#3074) such that the fragment 
attributes would be written to the empty flow file as well. Depending on which 
gets merged first, the other probably needs to be updated.

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?
- [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
- [ ] If applicable, have you updated the LICENSE file, including the main 
LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [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/mattyb149/nifi NIFI-5604

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

https://github.com/apache/nifi/pull/3075.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 #3075


commit 43bfe9531a0aa2a64179d27b4196a6062f60ebbe
Author: Matthew Burgess 
Date:   2018-10-15T20:27:38Z

NIFI-5604: Added property to allow empty FlowFile when no SQL generated by 
GenerateTableFetch




> Allow GenerateTableFetch to send empty flow files when no rows would be 
> fetched
> ---
>
> Key: NIFI-5604
> URL: https://issues.apache.org/jira/browse/NIFI-5604
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
>
> Currently, GenerateTableFetch will not output a flow file if there are no 
> rows to be fetched. However, it may be desired (especially with incoming flow 
> files) that a flow file be sent out even if GTF does not generate any SQL. 
> This capability, along with the fragment attributes from NIFI-5601, would 
> allow the user to handle this downstream.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-5604) Allow GenerateTableFetch to send empty flow files when no rows would be fetched

2018-10-15 Thread Matt Burgess (JIRA)


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

Matt Burgess updated NIFI-5604:
---
Status: Patch Available  (was: In Progress)

> Allow GenerateTableFetch to send empty flow files when no rows would be 
> fetched
> ---
>
> Key: NIFI-5604
> URL: https://issues.apache.org/jira/browse/NIFI-5604
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
>
> Currently, GenerateTableFetch will not output a flow file if there are no 
> rows to be fetched. However, it may be desired (especially with incoming flow 
> files) that a flow file be sent out even if GTF does not generate any SQL. 
> This capability, along with the fragment attributes from NIFI-5601, would 
> allow the user to handle this downstream.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #3075: NIFI-5604: Added property to allow empty FlowFile w...

2018-10-15 Thread mattyb149
GitHub user mattyb149 opened a pull request:

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

NIFI-5604: Added property to allow empty FlowFile when no SQL generated by 
GenerateTableFetch

Note that this should work with NIFI-5601 (#3074) such that the fragment 
attributes would be written to the empty flow file as well. Depending on which 
gets merged first, the other probably needs to be updated.

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?
- [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
- [ ] If applicable, have you updated the LICENSE file, including the main 
LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [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/mattyb149/nifi NIFI-5604

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

https://github.com/apache/nifi/pull/3075.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 #3075


commit 43bfe9531a0aa2a64179d27b4196a6062f60ebbe
Author: Matthew Burgess 
Date:   2018-10-15T20:27:38Z

NIFI-5604: Added property to allow empty FlowFile when no SQL generated by 
GenerateTableFetch




---


[jira] [Assigned] (NIFI-5604) Allow GenerateTableFetch to send empty flow files when no rows would be fetched

2018-10-15 Thread Matt Burgess (JIRA)


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

Matt Burgess reassigned NIFI-5604:
--

Assignee: Matt Burgess

> Allow GenerateTableFetch to send empty flow files when no rows would be 
> fetched
> ---
>
> Key: NIFI-5604
> URL: https://issues.apache.org/jira/browse/NIFI-5604
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
>
> Currently, GenerateTableFetch will not output a flow file if there are no 
> rows to be fetched. However, it may be desired (especially with incoming flow 
> files) that a flow file be sent out even if GTF does not generate any SQL. 
> This capability, along with the fragment attributes from NIFI-5601, would 
> allow the user to handle this downstream.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-5601) Add fragment.* attributes to GenerateTableFetch

2018-10-15 Thread Matt Burgess (JIRA)


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

Matt Burgess updated NIFI-5601:
---
Status: Patch Available  (was: In Progress)

> Add fragment.* attributes to GenerateTableFetch
> ---
>
> Key: NIFI-5601
> URL: https://issues.apache.org/jira/browse/NIFI-5601
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
>
> GenerateTableFetch will generate SQL statements in multiple flow files 
> corresponding to "pages" of data for a single execution of the processor. 
> QueryDatabaseTable does something similar, although it also does the fetching 
> of the rows and adds fragment.* attributes to the outgoing flow files, in 
> case a merge or other correlation needs to be done later.
> GenerateTableFetch (although it doesn't produce source data per se) is 
> usually used in conjunction with ExecuteSQL to fetch the actual pages of 
> rows, and sometimes these would need to be merged/correlated. To that end, 
> this Jira proposes to add the same fragment.* attributes to the outgoing GTF 
> flow files for use downstream.
> Note that if the SQL statements are distributed among a cluster (for parallel 
> execution by ExecuteSQL), they will not be able to be merged, as different 
> nodes may get different fragments and often no single node will get all the 
> fragments.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5601) Add fragment.* attributes to GenerateTableFetch

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5601:
--

GitHub user mattyb149 opened a pull request:

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

NIFI-5601: Add fragment.* attributes to GenerateTableFetch

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?
- [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
- [ ] If applicable, have you updated the LICENSE file, including the main 
LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [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/mattyb149/nifi NIFI-5601

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

https://github.com/apache/nifi/pull/3074.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 #3074


commit bd6ce6d8c74b65a222fb2a842465e5aae2d40272
Author: Matthew Burgess 
Date:   2018-10-15T20:07:13Z

NIFI-5601: Add fragment.* attributes to GenerateTableFetch




> Add fragment.* attributes to GenerateTableFetch
> ---
>
> Key: NIFI-5601
> URL: https://issues.apache.org/jira/browse/NIFI-5601
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
>
> GenerateTableFetch will generate SQL statements in multiple flow files 
> corresponding to "pages" of data for a single execution of the processor. 
> QueryDatabaseTable does something similar, although it also does the fetching 
> of the rows and adds fragment.* attributes to the outgoing flow files, in 
> case a merge or other correlation needs to be done later.
> GenerateTableFetch (although it doesn't produce source data per se) is 
> usually used in conjunction with ExecuteSQL to fetch the actual pages of 
> rows, and sometimes these would need to be merged/correlated. To that end, 
> this Jira proposes to add the same fragment.* attributes to the outgoing GTF 
> flow files for use downstream.
> Note that if the SQL statements are distributed among a cluster (for parallel 
> execution by ExecuteSQL), they will not be able to be merged, as different 
> nodes may get different fragments and often no single node will get all the 
> fragments.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #3074: NIFI-5601: Add fragment.* attributes to GenerateTab...

2018-10-15 Thread mattyb149
GitHub user mattyb149 opened a pull request:

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

NIFI-5601: Add fragment.* attributes to GenerateTableFetch

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?
- [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)? 
- [ ] If applicable, have you updated the LICENSE file, including the main 
LICENSE file under nifi-assembly?
- [ ] If applicable, have you updated the NOTICE file, including the main 
NOTICE file found under nifi-assembly?
- [ ] If adding new Properties, have you added .displayName in addition to 
.name (programmatic access) for each of the new properties?

### For documentation related changes:
- [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/mattyb149/nifi NIFI-5601

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

https://github.com/apache/nifi/pull/3074.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 #3074


commit bd6ce6d8c74b65a222fb2a842465e5aae2d40272
Author: Matthew Burgess 
Date:   2018-10-15T20:07:13Z

NIFI-5601: Add fragment.* attributes to GenerateTableFetch




---


[jira] [Assigned] (NIFI-5601) Add fragment.* attributes to GenerateTableFetch

2018-10-15 Thread Matt Burgess (JIRA)


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

Matt Burgess reassigned NIFI-5601:
--

Assignee: Matt Burgess

> Add fragment.* attributes to GenerateTableFetch
> ---
>
> Key: NIFI-5601
> URL: https://issues.apache.org/jira/browse/NIFI-5601
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
>
> GenerateTableFetch will generate SQL statements in multiple flow files 
> corresponding to "pages" of data for a single execution of the processor. 
> QueryDatabaseTable does something similar, although it also does the fetching 
> of the rows and adds fragment.* attributes to the outgoing flow files, in 
> case a merge or other correlation needs to be done later.
> GenerateTableFetch (although it doesn't produce source data per se) is 
> usually used in conjunction with ExecuteSQL to fetch the actual pages of 
> rows, and sometimes these would need to be merged/correlated. To that end, 
> this Jira proposes to add the same fragment.* attributes to the outgoing GTF 
> flow files for use downstream.
> Note that if the SQL statements are distributed among a cluster (for parallel 
> execution by ExecuteSQL), they will not be able to be merged, as different 
> nodes may get different fragments and often no single node will get all the 
> fragments.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5686) Test failure in TestStandardProcessScheduler

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit 32db43b3069b3c982b9c96576c11b447c229b360 in nifi's branch 
refs/heads/master from [~markap14]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=32db43b ]

NIFI-5686: Updated StandardProcessScheduler so that if it fails to schedule a 
Reporting Task, it re-schedules the @OnScheduled task instead of looping and 
calling Thread.sleep. As it was, the single-threaded Process Scheduler was, 
when calling ProcessScheduler.unschedule(), the unschedule task was not 
executing because the schedule task was using the only thread. But switching 
the logic to schedule the task for later and return, instead of calling 
Thread.sleep and looping, we are able to avoid blocking the one thread in the 
thread pool. Also, performed some trivial code cleanup and updated erroneous 
links in Java-docs.

NIFI-5686: Fixed unit test in TestSocketLoadBalancedFlowFileQueue; renamed 
TestProcessorLifecycle to ProcessorLifecycleIT as it is testing integration 
between many components and largely focuses on high numbers of concurrent tasks 
to see if it can trigger any threading bugs that may get introduced

NIFI-5686: Extended unit test timeouts
Signed-off-by: Matthew Burgess 

This closes #3062


> Test failure in TestStandardProcessScheduler
> 
>
> Key: NIFI-5686
> URL: https://issues.apache.org/jira/browse/NIFI-5686
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Tools and Build
>Reporter: Mark Payne
>Assignee: Mark Payne
>Priority: Major
> Fix For: 1.8.0
>
>
> The {{testReportingTaskDoesntKeepRunningAfterStop}} test in 
> {{TestStandardProcessScheduler}} now fails. This was \{{@Ignore}} d in 
> NIFI-5666 but should be addressed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #3062: NIFI-5686: Updated StandardProcessScheduler so that...

2018-10-15 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[jira] [Commented] (NIFI-5686) Test failure in TestStandardProcessScheduler

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit 32db43b3069b3c982b9c96576c11b447c229b360 in nifi's branch 
refs/heads/master from [~markap14]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=32db43b ]

NIFI-5686: Updated StandardProcessScheduler so that if it fails to schedule a 
Reporting Task, it re-schedules the @OnScheduled task instead of looping and 
calling Thread.sleep. As it was, the single-threaded Process Scheduler was, 
when calling ProcessScheduler.unschedule(), the unschedule task was not 
executing because the schedule task was using the only thread. But switching 
the logic to schedule the task for later and return, instead of calling 
Thread.sleep and looping, we are able to avoid blocking the one thread in the 
thread pool. Also, performed some trivial code cleanup and updated erroneous 
links in Java-docs.

NIFI-5686: Fixed unit test in TestSocketLoadBalancedFlowFileQueue; renamed 
TestProcessorLifecycle to ProcessorLifecycleIT as it is testing integration 
between many components and largely focuses on high numbers of concurrent tasks 
to see if it can trigger any threading bugs that may get introduced

NIFI-5686: Extended unit test timeouts
Signed-off-by: Matthew Burgess 

This closes #3062


> Test failure in TestStandardProcessScheduler
> 
>
> Key: NIFI-5686
> URL: https://issues.apache.org/jira/browse/NIFI-5686
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Tools and Build
>Reporter: Mark Payne
>Assignee: Mark Payne
>Priority: Major
> Fix For: 1.8.0
>
>
> The {{testReportingTaskDoesntKeepRunningAfterStop}} test in 
> {{TestStandardProcessScheduler}} now fails. This was \{{@Ignore}} d in 
> NIFI-5666 but should be addressed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5686) Test failure in TestStandardProcessScheduler

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5686:
--

Github user mattyb149 commented on the issue:

https://github.com/apache/nifi/pull/3062
  
+1 LGTM, ran full build with unit tests, tried on a live instance with 
reporting tasks and various other flows. Thanks for the improvement! Merging to 
master


> Test failure in TestStandardProcessScheduler
> 
>
> Key: NIFI-5686
> URL: https://issues.apache.org/jira/browse/NIFI-5686
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Tools and Build
>Reporter: Mark Payne
>Assignee: Mark Payne
>Priority: Major
> Fix For: 1.8.0
>
>
> The {{testReportingTaskDoesntKeepRunningAfterStop}} test in 
> {{TestStandardProcessScheduler}} now fails. This was \{{@Ignore}} d in 
> NIFI-5666 but should be addressed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5686) Test failure in TestStandardProcessScheduler

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5686:
--

Github user asfgit closed the pull request at:

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


> Test failure in TestStandardProcessScheduler
> 
>
> Key: NIFI-5686
> URL: https://issues.apache.org/jira/browse/NIFI-5686
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Tools and Build
>Reporter: Mark Payne
>Assignee: Mark Payne
>Priority: Major
> Fix For: 1.8.0
>
>
> The {{testReportingTaskDoesntKeepRunningAfterStop}} test in 
> {{TestStandardProcessScheduler}} now fails. This was \{{@Ignore}} d in 
> NIFI-5666 but should be addressed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5686) Test failure in TestStandardProcessScheduler

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit 32db43b3069b3c982b9c96576c11b447c229b360 in nifi's branch 
refs/heads/master from [~markap14]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=32db43b ]

NIFI-5686: Updated StandardProcessScheduler so that if it fails to schedule a 
Reporting Task, it re-schedules the @OnScheduled task instead of looping and 
calling Thread.sleep. As it was, the single-threaded Process Scheduler was, 
when calling ProcessScheduler.unschedule(), the unschedule task was not 
executing because the schedule task was using the only thread. But switching 
the logic to schedule the task for later and return, instead of calling 
Thread.sleep and looping, we are able to avoid blocking the one thread in the 
thread pool. Also, performed some trivial code cleanup and updated erroneous 
links in Java-docs.

NIFI-5686: Fixed unit test in TestSocketLoadBalancedFlowFileQueue; renamed 
TestProcessorLifecycle to ProcessorLifecycleIT as it is testing integration 
between many components and largely focuses on high numbers of concurrent tasks 
to see if it can trigger any threading bugs that may get introduced

NIFI-5686: Extended unit test timeouts
Signed-off-by: Matthew Burgess 

This closes #3062


> Test failure in TestStandardProcessScheduler
> 
>
> Key: NIFI-5686
> URL: https://issues.apache.org/jira/browse/NIFI-5686
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Tools and Build
>Reporter: Mark Payne
>Assignee: Mark Payne
>Priority: Major
> Fix For: 1.8.0
>
>
> The {{testReportingTaskDoesntKeepRunningAfterStop}} test in 
> {{TestStandardProcessScheduler}} now fails. This was \{{@Ignore}} d in 
> NIFI-5666 but should be addressed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-5686) Test failure in TestStandardProcessScheduler

2018-10-15 Thread Matt Burgess (JIRA)


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

Matt Burgess updated NIFI-5686:
---
Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Test failure in TestStandardProcessScheduler
> 
>
> Key: NIFI-5686
> URL: https://issues.apache.org/jira/browse/NIFI-5686
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Tools and Build
>Reporter: Mark Payne
>Assignee: Mark Payne
>Priority: Major
> Fix For: 1.8.0
>
>
> The {{testReportingTaskDoesntKeepRunningAfterStop}} test in 
> {{TestStandardProcessScheduler}} now fails. This was \{{@Ignore}} d in 
> NIFI-5666 but should be addressed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi issue #3062: NIFI-5686: Updated StandardProcessScheduler so that if it ...

2018-10-15 Thread mattyb149
Github user mattyb149 commented on the issue:

https://github.com/apache/nifi/pull/3062
  
+1 LGTM, ran full build with unit tests, tried on a live instance with 
reporting tasks and various other flows. Thanks for the improvement! Merging to 
master


---


[jira] [Updated] (NIFI-5678) ValidateRecord does not handle Map type correctly

2018-10-15 Thread Mark Payne (JIRA)


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

Mark Payne updated NIFI-5678:
-
   Resolution: Fixed
Fix Version/s: 1.8.0
   Status: Resolved  (was: Patch Available)

> ValidateRecord does not handle Map type correctly
> -
>
> Key: NIFI-5678
> URL: https://issues.apache.org/jira/browse/NIFI-5678
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
> Fix For: 1.8.0
>
>
> Consider the following Avro Schema:
> {code}
> {
> "name" : "test",
> "type" : "record",
> "fields" : [ {
> "name" : "field1",
> "type" : {
> "type" : "map",
> "values" : "string"
> }
> } ]
> }
> {code}
> and corresponding JSON data adhering to the schema:
> {code}
> [{
> "field1": {
> "toto" : "v1",
> "titi" : "v2"
> }
> }]
> {code}
> ValidateRecord marks the record as invalid though it should be valid. The 
> message in the provenance event is "Record #1 is invalid due to:
> MapRecord[{toto=v1, titi=v2}] is not a valid value for /field1: Value is of 
> type org.apache.nifi.serialization.record.MapRecord but was expected to be of 
> type MAP[STRING]".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5669) Color on current thread count

2018-10-15 Thread Pierre Villard (JIRA)


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

Pierre Villard commented on NIFI-5669:
--

Good point [~patricker]. I'd say that coloring should happen as soon as a 
single node is maxed out on threads - usually the primary node would use more 
threads than the other nodes. We have the details when going in the 'Cluster' 
view but the idea here would be to indicate to users that there could be 
something to tune / look at.

> Color on current thread count
> -
>
> Key: NIFI-5669
> URL: https://issues.apache.org/jira/browse/NIFI-5669
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core UI
>Reporter: Pierre Villard
>Priority: Minor
>
> It'd be very useful to change the color (or have another kind of visual 
> indicator) of the current threads count in the upper menu bar when the number 
> is reaching the maximum number of available threads defined by the thread 
> pool size.
> Note - It could a bit tricky with the two thread pools (timer driven / event 
> driven) but that would be a very useful indicator as this is, quite often, 
> something users do not know about.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5678) ValidateRecord does not handle Map type correctly

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5678:
--

Github user markap14 commented on the issue:

https://github.com/apache/nifi/pull/3060
  
Thanks @mattyb149 all looks good to me, was able to verify that the unit 
test performs as expected and manual testing (including the example from the 
dev@ mailing list, where I think this JIRA originated from) passes my tests. +1 
merged to master.


> ValidateRecord does not handle Map type correctly
> -
>
> Key: NIFI-5678
> URL: https://issues.apache.org/jira/browse/NIFI-5678
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
>
> Consider the following Avro Schema:
> {code}
> {
> "name" : "test",
> "type" : "record",
> "fields" : [ {
> "name" : "field1",
> "type" : {
> "type" : "map",
> "values" : "string"
> }
> } ]
> }
> {code}
> and corresponding JSON data adhering to the schema:
> {code}
> [{
> "field1": {
> "toto" : "v1",
> "titi" : "v2"
> }
> }]
> {code}
> ValidateRecord marks the record as invalid though it should be valid. The 
> message in the provenance event is "Record #1 is invalid due to:
> MapRecord[{toto=v1, titi=v2}] is not a valid value for /field1: Value is of 
> type org.apache.nifi.serialization.record.MapRecord but was expected to be of 
> type MAP[STRING]".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5678) ValidateRecord does not handle Map type correctly

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5678:
--

Github user asfgit closed the pull request at:

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


> ValidateRecord does not handle Map type correctly
> -
>
> Key: NIFI-5678
> URL: https://issues.apache.org/jira/browse/NIFI-5678
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
>
> Consider the following Avro Schema:
> {code}
> {
> "name" : "test",
> "type" : "record",
> "fields" : [ {
> "name" : "field1",
> "type" : {
> "type" : "map",
> "values" : "string"
> }
> } ]
> }
> {code}
> and corresponding JSON data adhering to the schema:
> {code}
> [{
> "field1": {
> "toto" : "v1",
> "titi" : "v2"
> }
> }]
> {code}
> ValidateRecord marks the record as invalid though it should be valid. The 
> message in the provenance event is "Record #1 is invalid due to:
> MapRecord[{toto=v1, titi=v2}] is not a valid value for /field1: Value is of 
> type org.apache.nifi.serialization.record.MapRecord but was expected to be of 
> type MAP[STRING]".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi issue #3060: NIFI-5678: Fixed MAP type support of MapRecord objects in ...

2018-10-15 Thread markap14
Github user markap14 commented on the issue:

https://github.com/apache/nifi/pull/3060
  
Thanks @mattyb149 all looks good to me, was able to verify that the unit 
test performs as expected and manual testing (including the example from the 
dev@ mailing list, where I think this JIRA originated from) passes my tests. +1 
merged to master.


---


[GitHub] nifi pull request #3060: NIFI-5678: Fixed MAP type support of MapRecord obje...

2018-10-15 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[jira] [Commented] (NIFI-5678) ValidateRecord does not handle Map type correctly

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit 218063a0b57c609cbc30276907c0c254d88c699c in nifi's branch 
refs/heads/master from [~ca9mbu]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=218063a ]

NIFI-5678: Fixed MAP type support of MapRecord objects in 
StandardSchemaValidator

This closes #3060.

Signed-off-by: Mark Payne 


> ValidateRecord does not handle Map type correctly
> -
>
> Key: NIFI-5678
> URL: https://issues.apache.org/jira/browse/NIFI-5678
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Reporter: Matt Burgess
>Assignee: Matt Burgess
>Priority: Major
>
> Consider the following Avro Schema:
> {code}
> {
> "name" : "test",
> "type" : "record",
> "fields" : [ {
> "name" : "field1",
> "type" : {
> "type" : "map",
> "values" : "string"
> }
> } ]
> }
> {code}
> and corresponding JSON data adhering to the schema:
> {code}
> [{
> "field1": {
> "toto" : "v1",
> "titi" : "v2"
> }
> }]
> {code}
> ValidateRecord marks the record as invalid though it should be valid. The 
> message in the provenance event is "Record #1 is invalid due to:
> MapRecord[{toto=v1, titi=v2}] is not a valid value for /field1: Value is of 
> type org.apache.nifi.serialization.record.MapRecord but was expected to be of 
> type MAP[STRING]".



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4806) Upgrade to Tika/Tika-Parsers 1.19 to resolve TIKA-2535 and CVEs reported against all releases prior to 1.19

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-4806:
--

Github user asfgit closed the pull request at:

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


> Upgrade to Tika/Tika-Parsers 1.19 to resolve TIKA-2535 and CVEs reported 
> against all releases prior to 1.19
> ---
>
> Key: NIFI-4806
> URL: https://issues.apache.org/jira/browse/NIFI-4806
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.5.0
>Reporter: Joseph Witt
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.8.0
>
>
> The nifi-media-processors depend on Tika-Parsers 1.16 as of now.  They need 
> to be upgraded to at least Tika-Parsers 1.18 to resolve the licensing problem 
> identified to the Tika team and which they resolved in 
> https://issues.apache.org/jira/browse/TIKA-2535
>  
> We aren't susceptible to the licensing problem at this time because when we 
> did the last update for Tika-Parsers this was flagged and excluded though we 
> could be exposing bugs for certain datayptes we'd do mime detection on 
> (maybe).  I have a comment about this in our pom.
>  
> This Jira is to upgrade, ensure no invalid libs are used, and clean up the 
> comments and move on.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-4806) Upgrade to Tika/Tika-Parsers 1.19 to resolve TIKA-2535 and CVEs reported against all releases prior to 1.19

2018-10-15 Thread Matt Gilman (JIRA)


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

Matt Gilman updated NIFI-4806:
--
Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Upgrade to Tika/Tika-Parsers 1.19 to resolve TIKA-2535 and CVEs reported 
> against all releases prior to 1.19
> ---
>
> Key: NIFI-4806
> URL: https://issues.apache.org/jira/browse/NIFI-4806
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.5.0
>Reporter: Joseph Witt
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.8.0
>
>
> The nifi-media-processors depend on Tika-Parsers 1.16 as of now.  They need 
> to be upgraded to at least Tika-Parsers 1.18 to resolve the licensing problem 
> identified to the Tika team and which they resolved in 
> https://issues.apache.org/jira/browse/TIKA-2535
>  
> We aren't susceptible to the licensing problem at this time because when we 
> did the last update for Tika-Parsers this was flagged and excluded though we 
> could be exposing bugs for certain datayptes we'd do mime detection on 
> (maybe).  I have a comment about this in our pom.
>  
> This Jira is to upgrade, ensure no invalid libs are used, and clean up the 
> comments and move on.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-4806) Upgrade to Tika/Tika-Parsers 1.19 to resolve TIKA-2535 and CVEs reported against all releases prior to 1.19

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-4806:
--

Github user mcgilman commented on the issue:

https://github.com/apache/nifi/pull/3069
  
Thanks @joewitt 


> Upgrade to Tika/Tika-Parsers 1.19 to resolve TIKA-2535 and CVEs reported 
> against all releases prior to 1.19
> ---
>
> Key: NIFI-4806
> URL: https://issues.apache.org/jira/browse/NIFI-4806
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.5.0
>Reporter: Joseph Witt
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.8.0
>
>
> The nifi-media-processors depend on Tika-Parsers 1.16 as of now.  They need 
> to be upgraded to at least Tika-Parsers 1.18 to resolve the licensing problem 
> identified to the Tika team and which they resolved in 
> https://issues.apache.org/jira/browse/TIKA-2535
>  
> We aren't susceptible to the licensing problem at this time because when we 
> did the last update for Tika-Parsers this was flagged and excluded though we 
> could be exposing bugs for certain datayptes we'd do mime detection on 
> (maybe).  I have a comment about this in our pom.
>  
> This Jira is to upgrade, ensure no invalid libs are used, and clean up the 
> comments and move on.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #3069: NIFI-4806: Bumping to tika 1.19.1

2018-10-15 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[jira] [Commented] (NIFI-4806) Upgrade to Tika/Tika-Parsers 1.19 to resolve TIKA-2535 and CVEs reported against all releases prior to 1.19

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit f55204cb69d065b8cedddaaa82c5e6e87e651c83 in nifi's branch 
refs/heads/master from [~mcgilman]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=f55204c ]

NIFI-4806:
- Bumping to tika 1.19.1.

This closes #3069


> Upgrade to Tika/Tika-Parsers 1.19 to resolve TIKA-2535 and CVEs reported 
> against all releases prior to 1.19
> ---
>
> Key: NIFI-4806
> URL: https://issues.apache.org/jira/browse/NIFI-4806
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.5.0
>Reporter: Joseph Witt
>Assignee: Matt Gilman
>Priority: Blocker
> Fix For: 1.8.0
>
>
> The nifi-media-processors depend on Tika-Parsers 1.16 as of now.  They need 
> to be upgraded to at least Tika-Parsers 1.18 to resolve the licensing problem 
> identified to the Tika team and which they resolved in 
> https://issues.apache.org/jira/browse/TIKA-2535
>  
> We aren't susceptible to the licensing problem at this time because when we 
> did the last update for Tika-Parsers this was flagged and excluded though we 
> could be exposing bugs for certain datayptes we'd do mime detection on 
> (maybe).  I have a comment about this in our pom.
>  
> This Jira is to upgrade, ensure no invalid libs are used, and clean up the 
> comments and move on.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi issue #3069: NIFI-4806: Bumping to tika 1.19.1

2018-10-15 Thread mcgilman
Github user mcgilman commented on the issue:

https://github.com/apache/nifi/pull/3069
  
Thanks @joewitt 


---


[jira] [Created] (NIFI-5703) SyslogParser regex fails to handle messages that end with Windows style new line

2018-10-15 Thread Joseph Percivall (JIRA)
Joseph Percivall created NIFI-5703:
--

 Summary:  SyslogParser regex fails to handle messages that end 
with Windows style new line
 Key: NIFI-5703
 URL: https://issues.apache.org/jira/browse/NIFI-5703
 Project: Apache NiFi
  Issue Type: Bug
Reporter: Joseph Percivall


The common SyslogParser class, which is used by ListenSyslog and ParseSyslog, 
has two different regexes to match the RFCs for syslog. Both of which end in a 
"(.*)$"[1]. There is also special handling if the last character is "\n"[2]. 
Note that "." does not match any of the newline characters[3].

The endline handling should be expanded to handle "\r\n".

[1]https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/SyslogParser.java#L49
[2] 
https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-extension-utils/nifi-syslog-utils/src/main/java/org/apache/nifi/syslog/parsers/SyslogParser.java#L128
[3] 
https://stackoverflow.com/questions/3445326/regex-in-java-how-to-deal-with-newline



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (NIFI-3469) Add multipart request support to HandleHttpRequest Processor

2018-10-15 Thread Mark Payne (JIRA)


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

Mark Payne resolved NIFI-3469.
--
Resolution: Fixed

> Add multipart request support to HandleHttpRequest Processor
> 
>
> Key: NIFI-3469
> URL: https://issues.apache.org/jira/browse/NIFI-3469
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Koji Kawamura
>Assignee: Endre Kovacs
>Priority: Major
>
> Currently, HandleHttpRequest outputs a single FlowFile containing all 
> multipart values as following:
> {code}
> --ef07e8bf36c274d3
> Content-Disposition: form-data; name="p1"
> v1
> --ef07e8bf36c274d3
> Content-Disposition: form-data; name="p2"
> v2
> --ef07e8bf36c274d3--
> {code}
> Many users requested adding upload files support to NiFi.
> In order for HandleHttpRequest to support multipart data we need to add 
> followings (this is based on a brief researching and can be more complex or 
> simple):
> We need to use HttpServletRequest#getParts() as written in this stackoverflow 
> thread:
> http://stackoverflow.com/questions/3337056/convenient-way-to-parse-incoming-multipart-form-data-parameters-in-a-servlet
> Also, we probably need a custom MultiPartInputStreamParser implementation. 
> Because Jetty's default implementation writes input data to temporary 
> directory on file system, instead, we'd like NiFi to write those into output 
> FlowFiles content in streaming fashion.
> And we need request size validation checks, threshold for those validation 
> should be passed via javax.servlet.MultipartConfigElement.
> Finally, we have to do something with HandleHttpResponse processor.
> Once HandleHttpRequest processor start splitting incoming request into 
> multiple output FlowFiles, we need to wait for every fragment to be 
> processed, then execute HandleHttpRequest.
> I think Wait/Notify processors (available from next version) will be helpful 
> here.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-3469) Add multipart request support to HandleHttpRequest Processor

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-3469:
--

Github user asfgit closed the pull request at:

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


> Add multipart request support to HandleHttpRequest Processor
> 
>
> Key: NIFI-3469
> URL: https://issues.apache.org/jira/browse/NIFI-3469
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Koji Kawamura
>Assignee: Endre Kovacs
>Priority: Major
>
> Currently, HandleHttpRequest outputs a single FlowFile containing all 
> multipart values as following:
> {code}
> --ef07e8bf36c274d3
> Content-Disposition: form-data; name="p1"
> v1
> --ef07e8bf36c274d3
> Content-Disposition: form-data; name="p2"
> v2
> --ef07e8bf36c274d3--
> {code}
> Many users requested adding upload files support to NiFi.
> In order for HandleHttpRequest to support multipart data we need to add 
> followings (this is based on a brief researching and can be more complex or 
> simple):
> We need to use HttpServletRequest#getParts() as written in this stackoverflow 
> thread:
> http://stackoverflow.com/questions/3337056/convenient-way-to-parse-incoming-multipart-form-data-parameters-in-a-servlet
> Also, we probably need a custom MultiPartInputStreamParser implementation. 
> Because Jetty's default implementation writes input data to temporary 
> directory on file system, instead, we'd like NiFi to write those into output 
> FlowFiles content in streaming fashion.
> And we need request size validation checks, threshold for those validation 
> should be passed via javax.servlet.MultipartConfigElement.
> Finally, we have to do something with HandleHttpResponse processor.
> Once HandleHttpRequest processor start splitting incoming request into 
> multiple output FlowFiles, we need to wait for every fragment to be 
> processed, then execute HandleHttpRequest.
> I think Wait/Notify processors (available from next version) will be helpful 
> here.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #2991: NIFI-3469: multipart request support added to Handl...

2018-10-15 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[jira] [Commented] (NIFI-3469) Add multipart request support to HandleHttpRequest Processor

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit d5f071b2fe5240d4face9b7c8582ba45fd668294 in nifi's branch 
refs/heads/master from Endre Zoltan Kovacs
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=d5f071b ]

NIFI-3469 multipart request support added to HandleHttpRequest
- introducing a in-memory-file-size-threashold, above which the incoming file 
is written to local disk
- using java.io.tmpdir for such file writes
- enhancing documentation
- documenting how to avoid premature HTTP response
- fix and UT for unsuccessful request registration

This closes #2991.

Signed-off-by: Mark Payne 


> Add multipart request support to HandleHttpRequest Processor
> 
>
> Key: NIFI-3469
> URL: https://issues.apache.org/jira/browse/NIFI-3469
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Koji Kawamura
>Assignee: Endre Kovacs
>Priority: Major
>
> Currently, HandleHttpRequest outputs a single FlowFile containing all 
> multipart values as following:
> {code}
> --ef07e8bf36c274d3
> Content-Disposition: form-data; name="p1"
> v1
> --ef07e8bf36c274d3
> Content-Disposition: form-data; name="p2"
> v2
> --ef07e8bf36c274d3--
> {code}
> Many users requested adding upload files support to NiFi.
> In order for HandleHttpRequest to support multipart data we need to add 
> followings (this is based on a brief researching and can be more complex or 
> simple):
> We need to use HttpServletRequest#getParts() as written in this stackoverflow 
> thread:
> http://stackoverflow.com/questions/3337056/convenient-way-to-parse-incoming-multipart-form-data-parameters-in-a-servlet
> Also, we probably need a custom MultiPartInputStreamParser implementation. 
> Because Jetty's default implementation writes input data to temporary 
> directory on file system, instead, we'd like NiFi to write those into output 
> FlowFiles content in streaming fashion.
> And we need request size validation checks, threshold for those validation 
> should be passed via javax.servlet.MultipartConfigElement.
> Finally, we have to do something with HandleHttpResponse processor.
> Once HandleHttpRequest processor start splitting incoming request into 
> multiple output FlowFiles, we need to wait for every fragment to be 
> processed, then execute HandleHttpRequest.
> I think Wait/Notify processors (available from next version) will be helpful 
> here.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-3469) Add multipart request support to HandleHttpRequest Processor

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-3469:
--

Github user markap14 commented on the issue:

https://github.com/apache/nifi/pull/2991
  
@ekovacs thanks for the improvement! It appears that Koji is happy with 
everything now, and a quick code review looks good to me as well. I was able to 
test locally and all works as expected. +1 merged to master. Thanks!


> Add multipart request support to HandleHttpRequest Processor
> 
>
> Key: NIFI-3469
> URL: https://issues.apache.org/jira/browse/NIFI-3469
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Koji Kawamura
>Assignee: Endre Kovacs
>Priority: Major
>
> Currently, HandleHttpRequest outputs a single FlowFile containing all 
> multipart values as following:
> {code}
> --ef07e8bf36c274d3
> Content-Disposition: form-data; name="p1"
> v1
> --ef07e8bf36c274d3
> Content-Disposition: form-data; name="p2"
> v2
> --ef07e8bf36c274d3--
> {code}
> Many users requested adding upload files support to NiFi.
> In order for HandleHttpRequest to support multipart data we need to add 
> followings (this is based on a brief researching and can be more complex or 
> simple):
> We need to use HttpServletRequest#getParts() as written in this stackoverflow 
> thread:
> http://stackoverflow.com/questions/3337056/convenient-way-to-parse-incoming-multipart-form-data-parameters-in-a-servlet
> Also, we probably need a custom MultiPartInputStreamParser implementation. 
> Because Jetty's default implementation writes input data to temporary 
> directory on file system, instead, we'd like NiFi to write those into output 
> FlowFiles content in streaming fashion.
> And we need request size validation checks, threshold for those validation 
> should be passed via javax.servlet.MultipartConfigElement.
> Finally, we have to do something with HandleHttpResponse processor.
> Once HandleHttpRequest processor start splitting incoming request into 
> multiple output FlowFiles, we need to wait for every fragment to be 
> processed, then execute HandleHttpRequest.
> I think Wait/Notify processors (available from next version) will be helpful 
> here.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi issue #2991: NIFI-3469: multipart request support added to HandleHttpRe...

2018-10-15 Thread markap14
Github user markap14 commented on the issue:

https://github.com/apache/nifi/pull/2991
  
@ekovacs thanks for the improvement! It appears that Koji is happy with 
everything now, and a quick code review looks good to me as well. I was able to 
test locally and all works as expected. +1 merged to master. Thanks!


---


[jira] [Created] (NIFI-5702) FlowFileRepo should not discard data (at least not by default)

2018-10-15 Thread Brandon DeVries (JIRA)
Brandon DeVries created NIFI-5702:
-

 Summary: FlowFileRepo should not discard data (at least not by 
default)
 Key: NIFI-5702
 URL: https://issues.apache.org/jira/browse/NIFI-5702
 Project: Apache NiFi
  Issue Type: Improvement
Reporter: Brandon DeVries


The WriteAheadFlowFileRepository currently discards data it cannot find a queue 
for.  Unfortunately, we have run in to issues where, when rejoining a node to a 
cluster, the flow.xml.gz can go "missing".  This results in the instance 
creating a new, empty, flow.xml.gz and then continuing on... and not finding 
queues for any of its existing data, dropping it all.  Regardless of the 
circumstances leading to an empty (or unexpectedly modified) flow.xml.gz, 
dropping data without user input seems less than ideal. 

Internally, my group has added a property 
"remove.orphaned.flowfiles.on.startup", defaulting to "false".  On startup, 
rather than silently dropping data, the repo will throw an exception preventing 
startup.  The operator can then choose to either "fix" any unexpected issues 
with the flow.xml.gz, or they can set the above property to "true" which 
restores the original behavior allowing the system to be restarted.  When set 
to "true" this property also results in a warning message indicating that in 
this configuration the repo can drop data without (advance) warning.  

 

 

[1] 
https://github.com/apache/nifi/blob/support/nifi-1.7.x/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/repository/WriteAheadFlowFileRepository.java#L596



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (NIFI-5701) Add documentation for Load Balancing connection UI

2018-10-15 Thread Andrew Lim (JIRA)


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

Andrew Lim reassigned NIFI-5701:


Assignee: Andrew Lim

> Add documentation for Load Balancing connection UI
> --
>
> Key: NIFI-5701
> URL: https://issues.apache.org/jira/browse/NIFI-5701
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Andrew Lim
>Assignee: Andrew Lim
>Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFI-5701) Add documentation for Load Balancing connection UI

2018-10-15 Thread Andrew Lim (JIRA)
Andrew Lim created NIFI-5701:


 Summary: Add documentation for Load Balancing connection UI
 Key: NIFI-5701
 URL: https://issues.apache.org/jira/browse/NIFI-5701
 Project: Apache NiFi
  Issue Type: Improvement
Reporter: Andrew Lim






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFI-5700) limit the size of nifi's flowfile repository

2018-10-15 Thread Brandon DeVries (JIRA)
Brandon DeVries created NIFI-5700:
-

 Summary: limit the size of nifi's flowfile repository
 Key: NIFI-5700
 URL: https://issues.apache.org/jira/browse/NIFI-5700
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core Framework
Affects Versions: 1.7.1
Reporter: Brandon DeVries


Creating this ticket so as not to lose the discussion from the dev list [1].  
Internally, our team has been working with the idea of setting FlowFile count 
and heap usage limits, resulting in first stalls and then stops of writes to 
the FlowFile repository.  Yes, stopping writes to the FlowFile repository isn't 
good... however, "overfilling" the FlowFile repository can potentially be bad 
to the point of being unrecoverable.  Putting this safeguard in place may mean 
requiring manual intervention to get data moving again, but it should prevent 
the system from failing entirely.

[1] 
[http://apache-nifi-developer-list.39713.n7.nabble.com/Is-there-a-configuration-to-limit-the-size-of-nifi-s-flowfile-repository-td18554.html]
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-5585) Prepare Nodes to be Offloaded

2018-10-15 Thread Jeff Storck (JIRA)


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

Jeff Storck updated NIFI-5585:
--
Resolution: Done
Status: Resolved  (was: Patch Available)

> Prepare Nodes to be Offloaded
> -
>
> Key: NIFI-5585
> URL: https://issues.apache.org/jira/browse/NIFI-5585
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Core Framework
>Affects Versions: 1.7.1
>Reporter: Jeff Storck
>Assignee: Jeff Storck
>Priority: Major
>
> Allow a node in the cluster to be offloaded, rebalancing flowfiles on that 
> node to the other active nodes.
> Only nodes that are DISCONNECTED can be transitioned to the OFFLOADING state.
> OFFLOADING nodes will transition to the OFFLOADED state once all flowfiles 
> have been rebalanced to other connected nodes in the cluster.
> OFFLOADING nodes that remain in the OFFLOADING state (due to errors 
> encountered while offloading) can be reconnected to the cluster by restarting 
> NiFi on the node.
> OFFLOADED nodes can be reconnected to the cluster by issuing a connection 
> request via the UI/CLI, or restarting NiFi on the node.
> OFFLOADED nodes can be deleted from the cluster.
> Once a node is OFFLOADED, it will behave like a DISCONNECTED node.
> OFFLOADING a node:
>  * stops all processors
>  * terminates all processors
>  * stops transmitting on all remote process groups
>  * rebalances flowfiles to other connected nodes in the cluster (via the work 
> done in NIFI-5516)
> The steps to decommission a node and remove it from the cluster are:
>  # Send request to disconnect the node
>  # Once disconnect completes, send request to offload the node.
>  # Once offload completes, send request to delete node.
>  # Once the delete request has finished, the NiFi service on the host can be 
> stopped/removed.
> When an error occurs and the node can not complete offloading, the user can:
>  # Send request to delete the node from the cluster
>  # Diagnose why the node had issues with the offload (out of memory, no 
> network connection, etc) and address the issue
>  # Restart NiFi on the node to so that it will reconnect to the cluster
>  # Go through the steps to decommission a node
> The OFFLOADING request is idempotent.
> Toolkit CLI commands for retrieving a single node, list of nodes, and 
> connecting/disconnecting/offloading/deleting nodes have been added.
> The cluster table UI has an icon to initiate the OFFLOADING of a DISCONNECTED 
> node.
> Similar to the client sending PUT request with a DISCONNECTING message to 
> cluster/nodes/\{id}, an OFFLOADING message can be sent as a PUT request to 
> the same URI to initiate an OFFLOAD for a DISCONNECTED node.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #2861: NIFI-5248 Added new Elasticsearch json and record p...

2018-10-15 Thread mattyb149
Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225216435
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchJson.java
 ---
@@ -0,0 +1,330 @@
+/*
+ * 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.elasticsearch;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.jayway.jsonpath.JsonPath;
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.ValidationContext;
+import org.apache.nifi.components.ValidationResult;
+import org.apache.nifi.components.Validator;
+import org.apache.nifi.elasticsearch.ElasticSearchClientService;
+import org.apache.nifi.elasticsearch.ElasticSearchError;
+import org.apache.nifi.elasticsearch.IndexOperationRequest;
+import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.util.StandardValidators;
+import 
org.apache.nifi.processors.elasticsearch.put.FlowFileJsonDescription;
+import org.apache.nifi.processors.elasticsearch.put.JsonProcessingError;
+import org.apache.nifi.util.StringUtils;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+@InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED)
+@Tags({"json", "elasticsearch", "elasticsearch5", "elasticsearch6", "put", 
"index"})
+@CapabilityDescription("This processor puts user-supplied JSON into 
ElasticSearch. It does not require a schema.")
+public class PutElasticsearchJson extends AbstractProcessor implements 
ElasticSearchRestProcessor {
+
+static final PropertyDescriptor ID_ATTRIBUTE = new 
PropertyDescriptor.Builder()
+.name("put-es-json-id-attribute")
+.displayName("ID Attribute")
+.description("The attribute to use for setting the document ID in 
ElasticSearch. If the payload is an array, " +
+"and this option is used for getting the ID, an exception 
will be raised.")
+.required(false)
+
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
+.addValidator(Validator.VALID)
+.build();
+static final PropertyDescriptor ID_JSON_PATH = new 
PropertyDescriptor.Builder()
+.name("put-es-json-id-json-path")
+.displayName("ID JSONPath")
+.description("If set, the document ID will be pulled from each 
json block using this JSONPath operation.")
--- End diff --

Nitpick, "json" should be "JSON" everywhere in the doc for consistency


---


[GitHub] nifi pull request #2861: NIFI-5248 Added new Elasticsearch json and record p...

2018-10-15 Thread mattyb149
Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225215375
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/pom.xml
 ---
@@ -107,6 +146,38 @@ language governing permissions and limitations under 
the License. -->
 
 
 
+
+org.apache.maven.plugins
+maven-compiler-plugin
--- End diff --

I think we talked about this before but can't find it. Does it need to be 
here? I thought we can inherit the one from the top-level parent POM?


---


[jira] [Commented] (NIFI-5248) Create new put processors that use the ElasticSearch client service

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5248:
--

Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225216435
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchJson.java
 ---
@@ -0,0 +1,330 @@
+/*
+ * 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.elasticsearch;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.jayway.jsonpath.JsonPath;
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.ValidationContext;
+import org.apache.nifi.components.ValidationResult;
+import org.apache.nifi.components.Validator;
+import org.apache.nifi.elasticsearch.ElasticSearchClientService;
+import org.apache.nifi.elasticsearch.ElasticSearchError;
+import org.apache.nifi.elasticsearch.IndexOperationRequest;
+import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.processor.util.StandardValidators;
+import 
org.apache.nifi.processors.elasticsearch.put.FlowFileJsonDescription;
+import org.apache.nifi.processors.elasticsearch.put.JsonProcessingError;
+import org.apache.nifi.util.StringUtils;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+@InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED)
+@Tags({"json", "elasticsearch", "elasticsearch5", "elasticsearch6", "put", 
"index"})
+@CapabilityDescription("This processor puts user-supplied JSON into 
ElasticSearch. It does not require a schema.")
+public class PutElasticsearchJson extends AbstractProcessor implements 
ElasticSearchRestProcessor {
+
+static final PropertyDescriptor ID_ATTRIBUTE = new 
PropertyDescriptor.Builder()
+.name("put-es-json-id-attribute")
+.displayName("ID Attribute")
+.description("The attribute to use for setting the document ID in 
ElasticSearch. If the payload is an array, " +
+"and this option is used for getting the ID, an exception 
will be raised.")
+.required(false)
+
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
+.addValidator(Validator.VALID)
+.build();
+static final PropertyDescriptor ID_JSON_PATH = new 
PropertyDescriptor.Builder()
+.name("put-es-json-id-json-path")
+.displayName("ID JSONPath")
+.description("If set, the document ID will be pulled from each 
json block using this JSONPath operation.")
--- End diff --

Nitpick, "json" should be "JSON" everywhere in the doc for consistency


> Create new put processors that use the ElasticSearch client service
> ---
>
> Key: NIFI-5248
> URL: 

[jira] [Commented] (NIFI-5248) Create new put processors that use the ElasticSearch client service

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5248:
--

Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225208197
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchRecord.java
 ---
@@ -0,0 +1,264 @@
+/*
+ * 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.elasticsearch;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.elasticsearch.ElasticSearchClientService;
+import org.apache.nifi.elasticsearch.ElasticSearchError;
+import org.apache.nifi.elasticsearch.IndexOperationRequest;
+import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.record.path.FieldValue;
+import org.apache.nifi.record.path.RecordPath;
+import org.apache.nifi.record.path.RecordPathResult;
+import org.apache.nifi.record.path.util.RecordPathCache;
+import org.apache.nifi.record.path.validation.RecordPathValidator;
+import org.apache.nifi.serialization.RecordReader;
+import org.apache.nifi.serialization.RecordReaderFactory;
+import org.apache.nifi.serialization.record.Record;
+import org.apache.nifi.serialization.record.RecordFieldType;
+import org.apache.nifi.serialization.record.util.DataTypeUtils;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+
+@InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED)
+@Tags({"json", "elasticsearch", "elasticsearch5", "elasticsearch6", "put", 
"index", "record"})
+@CapabilityDescription("A record-aware ElasticSearch put processor that 
uses the official Elastic REST client libraries.")
+public class PutElasticsearchRecord extends AbstractProcessor implements 
ElasticSearchRestProcessor {
+static final PropertyDescriptor RECORD_READER = new 
PropertyDescriptor.Builder()
+.name("put-es-record-reader")
+.displayName("Record Reader")
+.description("The record reader to use for reading incoming 
records from flowfiles.")
+.identifiesControllerService(RecordReaderFactory.class)
+.required(true)
+.build();
+
+static final PropertyDescriptor OPERATION_RECORD_PATH = new 
PropertyDescriptor.Builder()
--- End diff --

If this is specified, does the field remain in the document? What if the 
user didn't want to have that field included in the document, but needed it in 
order to specify the operation as a field?

What if the index operation were in an attribute versus a record field? 
Like if you partitioned records based on whether they were upsert vs delete 
operations (for example). Perhaps consider something like UpdateRecord's 
"Replacement Value Strategy" property, which allows you to choose whether the 
Operation field would be evaluated as a Record Path or a Literal Value. Both 
can support EL, but the latter would allow the setting of a single operation 
for all the records in the flow file.


> Create new put processors that use the 

[jira] [Commented] (NIFI-5248) Create new put processors that use the ElasticSearch client service

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5248:
--

Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225215710
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/ElasticSearchRestProcessor.java
 ---
@@ -75,6 +76,19 @@
 .required(true)
 .build();
 
+Relationship REL_FAILURE = new Relationship.Builder()
+.name("failure")
+.description("All flowfiles that fail for reasons unrelated to 
server availability go to this relationship.")
+.build();
+Relationship REL_RETRY = new Relationship.Builder()
+.name("retry")
+.description("All flowfiles that fail due to server/cluster 
availability go to this relationship.")
+.build();
+Relationship REL_SUCCESS = new Relationship.Builder()
+.name("success")
+.description("All flowfiles that succeed in being indexed into 
ElasticSearch go here.")
--- End diff --

Maybe "transmitted to ElasticSearch"? Unless "indexed" is a generic enough 
term that users would know covers upserts, deletes, and any other supported 
operation.


> Create new put processors that use the ElasticSearch client service
> ---
>
> Key: NIFI-5248
> URL: https://issues.apache.org/jira/browse/NIFI-5248
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Mike Thomsen
>Assignee: Mike Thomsen
>Priority: Major
>
> Two new processors:
>  * PutElasticsearchJson - put raw JSON.
>  * PutElasticsearchRecord - put records.
> Both of them should support the general bulk load API and be able to do 
> things like insert into multiple indexes from one payload.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5248) Create new put processors that use the ElasticSearch client service

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5248:
--

Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225208562
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchRecord.java
 ---
@@ -0,0 +1,264 @@
+/*
+ * 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.elasticsearch;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.elasticsearch.ElasticSearchClientService;
+import org.apache.nifi.elasticsearch.ElasticSearchError;
+import org.apache.nifi.elasticsearch.IndexOperationRequest;
+import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.record.path.FieldValue;
+import org.apache.nifi.record.path.RecordPath;
+import org.apache.nifi.record.path.RecordPathResult;
+import org.apache.nifi.record.path.util.RecordPathCache;
+import org.apache.nifi.record.path.validation.RecordPathValidator;
+import org.apache.nifi.serialization.RecordReader;
+import org.apache.nifi.serialization.RecordReaderFactory;
+import org.apache.nifi.serialization.record.Record;
+import org.apache.nifi.serialization.record.RecordFieldType;
+import org.apache.nifi.serialization.record.util.DataTypeUtils;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+
+@InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED)
+@Tags({"json", "elasticsearch", "elasticsearch5", "elasticsearch6", "put", 
"index", "record"})
+@CapabilityDescription("A record-aware ElasticSearch put processor that 
uses the official Elastic REST client libraries.")
+public class PutElasticsearchRecord extends AbstractProcessor implements 
ElasticSearchRestProcessor {
+static final PropertyDescriptor RECORD_READER = new 
PropertyDescriptor.Builder()
+.name("put-es-record-reader")
+.displayName("Record Reader")
+.description("The record reader to use for reading incoming 
records from flowfiles.")
+.identifiesControllerService(RecordReaderFactory.class)
+.required(true)
+.build();
+
+static final PropertyDescriptor OPERATION_RECORD_PATH = new 
PropertyDescriptor.Builder()
+.name("put-es-record-operation-path")
+.displayName("Operation Record Path")
+.description("A record path expression to retrieve index operation 
setting from each record. If left blank, " +
+"all operations will be assumed to be index operations.")
+.addValidator(new RecordPathValidator())
+.required(false)
+
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
+.build();
+
+static final PropertyDescriptor ID_RECORD_PATH = new 
PropertyDescriptor.Builder()
+.name("put-es-record-id-path")
+.displayName("ID Record Path")
+.description("A record path expression to retrieve the ID field 
for use with 

[GitHub] nifi pull request #2861: NIFI-5248 Added new Elasticsearch json and record p...

2018-10-15 Thread mattyb149
Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225215710
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/ElasticSearchRestProcessor.java
 ---
@@ -75,6 +76,19 @@
 .required(true)
 .build();
 
+Relationship REL_FAILURE = new Relationship.Builder()
+.name("failure")
+.description("All flowfiles that fail for reasons unrelated to 
server availability go to this relationship.")
+.build();
+Relationship REL_RETRY = new Relationship.Builder()
+.name("retry")
+.description("All flowfiles that fail due to server/cluster 
availability go to this relationship.")
+.build();
+Relationship REL_SUCCESS = new Relationship.Builder()
+.name("success")
+.description("All flowfiles that succeed in being indexed into 
ElasticSearch go here.")
--- End diff --

Maybe "transmitted to ElasticSearch"? Unless "indexed" is a generic enough 
term that users would know covers upserts, deletes, and any other supported 
operation.


---


[GitHub] nifi pull request #2861: NIFI-5248 Added new Elasticsearch json and record p...

2018-10-15 Thread mattyb149
Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225208197
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchRecord.java
 ---
@@ -0,0 +1,264 @@
+/*
+ * 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.elasticsearch;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.elasticsearch.ElasticSearchClientService;
+import org.apache.nifi.elasticsearch.ElasticSearchError;
+import org.apache.nifi.elasticsearch.IndexOperationRequest;
+import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.record.path.FieldValue;
+import org.apache.nifi.record.path.RecordPath;
+import org.apache.nifi.record.path.RecordPathResult;
+import org.apache.nifi.record.path.util.RecordPathCache;
+import org.apache.nifi.record.path.validation.RecordPathValidator;
+import org.apache.nifi.serialization.RecordReader;
+import org.apache.nifi.serialization.RecordReaderFactory;
+import org.apache.nifi.serialization.record.Record;
+import org.apache.nifi.serialization.record.RecordFieldType;
+import org.apache.nifi.serialization.record.util.DataTypeUtils;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+
+@InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED)
+@Tags({"json", "elasticsearch", "elasticsearch5", "elasticsearch6", "put", 
"index", "record"})
+@CapabilityDescription("A record-aware ElasticSearch put processor that 
uses the official Elastic REST client libraries.")
+public class PutElasticsearchRecord extends AbstractProcessor implements 
ElasticSearchRestProcessor {
+static final PropertyDescriptor RECORD_READER = new 
PropertyDescriptor.Builder()
+.name("put-es-record-reader")
+.displayName("Record Reader")
+.description("The record reader to use for reading incoming 
records from flowfiles.")
+.identifiesControllerService(RecordReaderFactory.class)
+.required(true)
+.build();
+
+static final PropertyDescriptor OPERATION_RECORD_PATH = new 
PropertyDescriptor.Builder()
--- End diff --

If this is specified, does the field remain in the document? What if the 
user didn't want to have that field included in the document, but needed it in 
order to specify the operation as a field?

What if the index operation were in an attribute versus a record field? 
Like if you partitioned records based on whether they were upsert vs delete 
operations (for example). Perhaps consider something like UpdateRecord's 
"Replacement Value Strategy" property, which allows you to choose whether the 
Operation field would be evaluated as a Record Path or a Literal Value. Both 
can support EL, but the latter would allow the setting of a single operation 
for all the records in the flow file.


---


[jira] [Commented] (NIFI-5248) Create new put processors that use the ElasticSearch client service

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5248:
--

Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225215375
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/pom.xml
 ---
@@ -107,6 +146,38 @@ language governing permissions and limitations under 
the License. -->
 
 
 
+
+org.apache.maven.plugins
+maven-compiler-plugin
--- End diff --

I think we talked about this before but can't find it. Does it need to be 
here? I thought we can inherit the one from the top-level parent POM?


> Create new put processors that use the ElasticSearch client service
> ---
>
> Key: NIFI-5248
> URL: https://issues.apache.org/jira/browse/NIFI-5248
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Mike Thomsen
>Assignee: Mike Thomsen
>Priority: Major
>
> Two new processors:
>  * PutElasticsearchJson - put raw JSON.
>  * PutElasticsearchRecord - put records.
> Both of them should support the general bulk load API and be able to do 
> things like insert into multiple indexes from one payload.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #2861: NIFI-5248 Added new Elasticsearch json and record p...

2018-10-15 Thread mattyb149
Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/2861#discussion_r225208562
  
--- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-restapi-processors/src/main/java/org/apache/nifi/processors/elasticsearch/PutElasticsearchRecord.java
 ---
@@ -0,0 +1,264 @@
+/*
+ * 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.elasticsearch;
+
+import org.apache.nifi.annotation.behavior.InputRequirement;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.annotation.lifecycle.OnScheduled;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.elasticsearch.ElasticSearchClientService;
+import org.apache.nifi.elasticsearch.ElasticSearchError;
+import org.apache.nifi.elasticsearch.IndexOperationRequest;
+import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.exception.ProcessException;
+import org.apache.nifi.record.path.FieldValue;
+import org.apache.nifi.record.path.RecordPath;
+import org.apache.nifi.record.path.RecordPathResult;
+import org.apache.nifi.record.path.util.RecordPathCache;
+import org.apache.nifi.record.path.validation.RecordPathValidator;
+import org.apache.nifi.serialization.RecordReader;
+import org.apache.nifi.serialization.RecordReaderFactory;
+import org.apache.nifi.serialization.record.Record;
+import org.apache.nifi.serialization.record.RecordFieldType;
+import org.apache.nifi.serialization.record.util.DataTypeUtils;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+
+@InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED)
+@Tags({"json", "elasticsearch", "elasticsearch5", "elasticsearch6", "put", 
"index", "record"})
+@CapabilityDescription("A record-aware ElasticSearch put processor that 
uses the official Elastic REST client libraries.")
+public class PutElasticsearchRecord extends AbstractProcessor implements 
ElasticSearchRestProcessor {
+static final PropertyDescriptor RECORD_READER = new 
PropertyDescriptor.Builder()
+.name("put-es-record-reader")
+.displayName("Record Reader")
+.description("The record reader to use for reading incoming 
records from flowfiles.")
+.identifiesControllerService(RecordReaderFactory.class)
+.required(true)
+.build();
+
+static final PropertyDescriptor OPERATION_RECORD_PATH = new 
PropertyDescriptor.Builder()
+.name("put-es-record-operation-path")
+.displayName("Operation Record Path")
+.description("A record path expression to retrieve index operation 
setting from each record. If left blank, " +
+"all operations will be assumed to be index operations.")
+.addValidator(new RecordPathValidator())
+.required(false)
+
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
+.build();
+
+static final PropertyDescriptor ID_RECORD_PATH = new 
PropertyDescriptor.Builder()
+.name("put-es-record-id-path")
+.displayName("ID Record Path")
+.description("A record path expression to retrieve the ID field 
for use with ElasticSearch. If left blank " +
+"the ID will be automatically generated by ElasticSearch.")
+.addValidator(new RecordPathValidator())
+

[jira] [Updated] (NIFI-5248) Create new put processors that use the ElasticSearch client service

2018-10-15 Thread Matt Burgess (JIRA)


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

Matt Burgess updated NIFI-5248:
---
Status: Patch Available  (was: Open)

> Create new put processors that use the ElasticSearch client service
> ---
>
> Key: NIFI-5248
> URL: https://issues.apache.org/jira/browse/NIFI-5248
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Mike Thomsen
>Assignee: Mike Thomsen
>Priority: Major
>
> Two new processors:
>  * PutElasticsearchJson - put raw JSON.
>  * PutElasticsearchRecord - put records.
> Both of them should support the general bulk load API and be able to do 
> things like insert into multiple indexes from one payload.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #3056: NIFI-5659 Add documentation for Offloading Nodes fu...

2018-10-15 Thread andrewmlim
Github user andrewmlim commented on a diff in the pull request:

https://github.com/apache/nifi/pull/3056#discussion_r225181107
  
--- Diff: nifi-docs/src/main/asciidoc/administration-guide.adoc ---
@@ -3939,8 +3976,7 @@ to the cluster. It provides an additional layer of 
security. This value is blank
 |`nifi.cluster.flow.election.max.candidates`|Specifies the number of Nodes 
required in the cluster to cause early election of Flows. This allows the Nodes 
in the cluster to avoid having to wait a
 long time before starting processing if we reach at least this number of 
nodes in the cluster.
 |`nifi.cluster.load.balance.port`|Specifies the port to listen on for 
incoming connections for load balancing data across the cluster. The default 
value is `6342`.
--- End diff --

Just noting that the default value is 6342 not 6432.


---


[jira] [Commented] (NIFI-5659) Add documentation for Offloading Nodes functionality and new Node related CLI commands

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5659:
--

Github user andrewmlim commented on a diff in the pull request:

https://github.com/apache/nifi/pull/3056#discussion_r225181107
  
--- Diff: nifi-docs/src/main/asciidoc/administration-guide.adoc ---
@@ -3939,8 +3976,7 @@ to the cluster. It provides an additional layer of 
security. This value is blank
 |`nifi.cluster.flow.election.max.candidates`|Specifies the number of Nodes 
required in the cluster to cause early election of Flows. This allows the Nodes 
in the cluster to avoid having to wait a
 long time before starting processing if we reach at least this number of 
nodes in the cluster.
 |`nifi.cluster.load.balance.port`|Specifies the port to listen on for 
incoming connections for load balancing data across the cluster. The default 
value is `6342`.
--- End diff --

Just noting that the default value is 6342 not 6432.


> Add documentation for Offloading Nodes functionality and new Node related CLI 
> commands
> --
>
> Key: NIFI-5659
> URL: https://issues.apache.org/jira/browse/NIFI-5659
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Documentation  Website
>Reporter: Andrew Lim
>Assignee: Andrew Lim
>Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (NIFI-5667) Hive3 PutOrc processors, error when using nestled Avro Record types

2018-10-15 Thread Bryan Bende (JIRA)


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

Bryan Bende updated NIFI-5667:
--
   Resolution: Fixed
Fix Version/s: 1.8.0
   Status: Resolved  (was: Patch Available)

> Hive3 PutOrc processors, error when using nestled Avro Record types
> ---
>
> Key: NIFI-5667
> URL: https://issues.apache.org/jira/browse/NIFI-5667
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
> Environment: Centos 7 and Docker Image from Hortonworks
>Reporter: Viking Karstorp
>Assignee: Matt Burgess
>Priority: Major
> Fix For: 1.8.0
>
>
> I have been testing out the new PutOrc processor that was introduced in 1.7 
> to see if I can replace the ConvertAvroToOrc processer I currently use.
> When I sent in some of the complex Avro messages in my flow I encountered the 
> following error (see full stack further down) 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type The older 
> ConvertAvroToOrc processor processed the flowfile without issues. Also to 
> note is that the PutOrc processor handles the flowfile fine if there is no 
> Avro data with only the schema present. It seems to be related to nestled 
> "Record" types.
> How to reproduce:
> Avro schema: bug.avsc
> {code}
> {
>   "name": "nifi_hive3_test",
>   "namespace": "analytics.models.test",
>   "type": "record",
>   "fields": [
>{
>   "name": "Serial",
>   "type":
>   {
> "name": "Serial",
> "namespace": "analytics.models.common.serial",
> "type": "record",
> "fields": [
>   {
> "name": "Serial",
> "type": "long"
>   }
> ]
>   }
> }
>   ]
> }
> {code}
> Small python script to create an Avro file.
> {code}
> import avro.schema
> from avro.datafile import DataFileReader, DataFileWriter
> from avro.io import DatumReader, DatumWriter
> schema = avro.schema.parse(open("bug.avsc", "rb").read())
> writer = DataFileWriter(open("bug.avro", "wb"), DatumWriter(), schema)
> writer.append({'Serial': {'Serial': 110881615L}})
> writer.close()
> #Print whats entered into the avro file
> reader1 = DataFileReader(open("bug.avro", "rb"), DatumReader())
> for user in reader1:
> print user
> {code}
> Then just load the avro file using ListFIle -> FetchFile
> Full error message:
> {code}
> 2018-10-06 15:54:10,201 ERROR [Timer-Driven Process Thread-8] 
> org.apache.nifi.processors.orc.PutORC 
> PutORC[id=8be207cb-b16e-3578-1765-1c9e0c0aa383] Failed to write due to 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct: java.lang.IllegalArgumentException: Error converting 
> object of type org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> at 
> org.apache.hadoop.hive.ql.io.orc.NiFiOrcUtils.convertToORCObject(NiFiOrcUtils.java:206)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:71)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:91)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$null$0(AbstractPutHDFSRecord.java:324)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2218)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2186)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$onTrigger$1(AbstractPutHDFSRecord.java:305)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1662)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.onTrigger(AbstractPutHDFSRecord.java:272)
> at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
> at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
> at 
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
> at 
> 

[jira] [Commented] (NIFI-5667) Hive3 PutOrc processors, error when using nestled Avro Record types

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5667:
--

Github user asfgit closed the pull request at:

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


> Hive3 PutOrc processors, error when using nestled Avro Record types
> ---
>
> Key: NIFI-5667
> URL: https://issues.apache.org/jira/browse/NIFI-5667
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
> Environment: Centos 7 and Docker Image from Hortonworks
>Reporter: Viking Karstorp
>Assignee: Matt Burgess
>Priority: Major
> Fix For: 1.8.0
>
>
> I have been testing out the new PutOrc processor that was introduced in 1.7 
> to see if I can replace the ConvertAvroToOrc processer I currently use.
> When I sent in some of the complex Avro messages in my flow I encountered the 
> following error (see full stack further down) 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type The older 
> ConvertAvroToOrc processor processed the flowfile without issues. Also to 
> note is that the PutOrc processor handles the flowfile fine if there is no 
> Avro data with only the schema present. It seems to be related to nestled 
> "Record" types.
> How to reproduce:
> Avro schema: bug.avsc
> {code}
> {
>   "name": "nifi_hive3_test",
>   "namespace": "analytics.models.test",
>   "type": "record",
>   "fields": [
>{
>   "name": "Serial",
>   "type":
>   {
> "name": "Serial",
> "namespace": "analytics.models.common.serial",
> "type": "record",
> "fields": [
>   {
> "name": "Serial",
> "type": "long"
>   }
> ]
>   }
> }
>   ]
> }
> {code}
> Small python script to create an Avro file.
> {code}
> import avro.schema
> from avro.datafile import DataFileReader, DataFileWriter
> from avro.io import DatumReader, DatumWriter
> schema = avro.schema.parse(open("bug.avsc", "rb").read())
> writer = DataFileWriter(open("bug.avro", "wb"), DatumWriter(), schema)
> writer.append({'Serial': {'Serial': 110881615L}})
> writer.close()
> #Print whats entered into the avro file
> reader1 = DataFileReader(open("bug.avro", "rb"), DatumReader())
> for user in reader1:
> print user
> {code}
> Then just load the avro file using ListFIle -> FetchFile
> Full error message:
> {code}
> 2018-10-06 15:54:10,201 ERROR [Timer-Driven Process Thread-8] 
> org.apache.nifi.processors.orc.PutORC 
> PutORC[id=8be207cb-b16e-3578-1765-1c9e0c0aa383] Failed to write due to 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct: java.lang.IllegalArgumentException: Error converting 
> object of type org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> at 
> org.apache.hadoop.hive.ql.io.orc.NiFiOrcUtils.convertToORCObject(NiFiOrcUtils.java:206)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:71)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:91)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$null$0(AbstractPutHDFSRecord.java:324)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2218)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2186)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$onTrigger$1(AbstractPutHDFSRecord.java:305)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1662)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.onTrigger(AbstractPutHDFSRecord.java:272)
> at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
> at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
> at 
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> at 
> 

[jira] [Commented] (NIFI-5667) Hive3 PutOrc processors, error when using nestled Avro Record types

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit ce25ae54196a318cbfcdb4dfe178607f4ac135c6 in nifi's branch 
refs/heads/master from [~ca9mbu]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=ce25ae5 ]

NIFI-5667: Add nested record support for PutORC

NIFI-5667: Fixed default table name

NIFI-5667: Fixed handling of binary types

NIFI-5667: Added backticks in Hive DDL generation

This closes #3057.

Signed-off-by: Bryan Bende 


> Hive3 PutOrc processors, error when using nestled Avro Record types
> ---
>
> Key: NIFI-5667
> URL: https://issues.apache.org/jira/browse/NIFI-5667
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
> Environment: Centos 7 and Docker Image from Hortonworks
>Reporter: Viking Karstorp
>Assignee: Matt Burgess
>Priority: Major
>
> I have been testing out the new PutOrc processor that was introduced in 1.7 
> to see if I can replace the ConvertAvroToOrc processer I currently use.
> When I sent in some of the complex Avro messages in my flow I encountered the 
> following error (see full stack further down) 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type The older 
> ConvertAvroToOrc processor processed the flowfile without issues. Also to 
> note is that the PutOrc processor handles the flowfile fine if there is no 
> Avro data with only the schema present. It seems to be related to nestled 
> "Record" types.
> How to reproduce:
> Avro schema: bug.avsc
> {code}
> {
>   "name": "nifi_hive3_test",
>   "namespace": "analytics.models.test",
>   "type": "record",
>   "fields": [
>{
>   "name": "Serial",
>   "type":
>   {
> "name": "Serial",
> "namespace": "analytics.models.common.serial",
> "type": "record",
> "fields": [
>   {
> "name": "Serial",
> "type": "long"
>   }
> ]
>   }
> }
>   ]
> }
> {code}
> Small python script to create an Avro file.
> {code}
> import avro.schema
> from avro.datafile import DataFileReader, DataFileWriter
> from avro.io import DatumReader, DatumWriter
> schema = avro.schema.parse(open("bug.avsc", "rb").read())
> writer = DataFileWriter(open("bug.avro", "wb"), DatumWriter(), schema)
> writer.append({'Serial': {'Serial': 110881615L}})
> writer.close()
> #Print whats entered into the avro file
> reader1 = DataFileReader(open("bug.avro", "rb"), DatumReader())
> for user in reader1:
> print user
> {code}
> Then just load the avro file using ListFIle -> FetchFile
> Full error message:
> {code}
> 2018-10-06 15:54:10,201 ERROR [Timer-Driven Process Thread-8] 
> org.apache.nifi.processors.orc.PutORC 
> PutORC[id=8be207cb-b16e-3578-1765-1c9e0c0aa383] Failed to write due to 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct: java.lang.IllegalArgumentException: Error converting 
> object of type org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> at 
> org.apache.hadoop.hive.ql.io.orc.NiFiOrcUtils.convertToORCObject(NiFiOrcUtils.java:206)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:71)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:91)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$null$0(AbstractPutHDFSRecord.java:324)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2218)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2186)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$onTrigger$1(AbstractPutHDFSRecord.java:305)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1662)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.onTrigger(AbstractPutHDFSRecord.java:272)
> at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
> at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
> at 
> 

[jira] [Commented] (NIFI-5667) Hive3 PutOrc processors, error when using nestled Avro Record types

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit ce25ae54196a318cbfcdb4dfe178607f4ac135c6 in nifi's branch 
refs/heads/master from [~ca9mbu]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=ce25ae5 ]

NIFI-5667: Add nested record support for PutORC

NIFI-5667: Fixed default table name

NIFI-5667: Fixed handling of binary types

NIFI-5667: Added backticks in Hive DDL generation

This closes #3057.

Signed-off-by: Bryan Bende 


> Hive3 PutOrc processors, error when using nestled Avro Record types
> ---
>
> Key: NIFI-5667
> URL: https://issues.apache.org/jira/browse/NIFI-5667
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
> Environment: Centos 7 and Docker Image from Hortonworks
>Reporter: Viking Karstorp
>Assignee: Matt Burgess
>Priority: Major
>
> I have been testing out the new PutOrc processor that was introduced in 1.7 
> to see if I can replace the ConvertAvroToOrc processer I currently use.
> When I sent in some of the complex Avro messages in my flow I encountered the 
> following error (see full stack further down) 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type The older 
> ConvertAvroToOrc processor processed the flowfile without issues. Also to 
> note is that the PutOrc processor handles the flowfile fine if there is no 
> Avro data with only the schema present. It seems to be related to nestled 
> "Record" types.
> How to reproduce:
> Avro schema: bug.avsc
> {code}
> {
>   "name": "nifi_hive3_test",
>   "namespace": "analytics.models.test",
>   "type": "record",
>   "fields": [
>{
>   "name": "Serial",
>   "type":
>   {
> "name": "Serial",
> "namespace": "analytics.models.common.serial",
> "type": "record",
> "fields": [
>   {
> "name": "Serial",
> "type": "long"
>   }
> ]
>   }
> }
>   ]
> }
> {code}
> Small python script to create an Avro file.
> {code}
> import avro.schema
> from avro.datafile import DataFileReader, DataFileWriter
> from avro.io import DatumReader, DatumWriter
> schema = avro.schema.parse(open("bug.avsc", "rb").read())
> writer = DataFileWriter(open("bug.avro", "wb"), DatumWriter(), schema)
> writer.append({'Serial': {'Serial': 110881615L}})
> writer.close()
> #Print whats entered into the avro file
> reader1 = DataFileReader(open("bug.avro", "rb"), DatumReader())
> for user in reader1:
> print user
> {code}
> Then just load the avro file using ListFIle -> FetchFile
> Full error message:
> {code}
> 2018-10-06 15:54:10,201 ERROR [Timer-Driven Process Thread-8] 
> org.apache.nifi.processors.orc.PutORC 
> PutORC[id=8be207cb-b16e-3578-1765-1c9e0c0aa383] Failed to write due to 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct: java.lang.IllegalArgumentException: Error converting 
> object of type org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> at 
> org.apache.hadoop.hive.ql.io.orc.NiFiOrcUtils.convertToORCObject(NiFiOrcUtils.java:206)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:71)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:91)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$null$0(AbstractPutHDFSRecord.java:324)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2218)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2186)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$onTrigger$1(AbstractPutHDFSRecord.java:305)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1662)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.onTrigger(AbstractPutHDFSRecord.java:272)
> at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
> at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
> at 
> 

[jira] [Commented] (NIFI-5667) Hive3 PutOrc processors, error when using nestled Avro Record types

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit ce25ae54196a318cbfcdb4dfe178607f4ac135c6 in nifi's branch 
refs/heads/master from [~ca9mbu]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=ce25ae5 ]

NIFI-5667: Add nested record support for PutORC

NIFI-5667: Fixed default table name

NIFI-5667: Fixed handling of binary types

NIFI-5667: Added backticks in Hive DDL generation

This closes #3057.

Signed-off-by: Bryan Bende 


> Hive3 PutOrc processors, error when using nestled Avro Record types
> ---
>
> Key: NIFI-5667
> URL: https://issues.apache.org/jira/browse/NIFI-5667
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
> Environment: Centos 7 and Docker Image from Hortonworks
>Reporter: Viking Karstorp
>Assignee: Matt Burgess
>Priority: Major
>
> I have been testing out the new PutOrc processor that was introduced in 1.7 
> to see if I can replace the ConvertAvroToOrc processer I currently use.
> When I sent in some of the complex Avro messages in my flow I encountered the 
> following error (see full stack further down) 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type The older 
> ConvertAvroToOrc processor processed the flowfile without issues. Also to 
> note is that the PutOrc processor handles the flowfile fine if there is no 
> Avro data with only the schema present. It seems to be related to nestled 
> "Record" types.
> How to reproduce:
> Avro schema: bug.avsc
> {code}
> {
>   "name": "nifi_hive3_test",
>   "namespace": "analytics.models.test",
>   "type": "record",
>   "fields": [
>{
>   "name": "Serial",
>   "type":
>   {
> "name": "Serial",
> "namespace": "analytics.models.common.serial",
> "type": "record",
> "fields": [
>   {
> "name": "Serial",
> "type": "long"
>   }
> ]
>   }
> }
>   ]
> }
> {code}
> Small python script to create an Avro file.
> {code}
> import avro.schema
> from avro.datafile import DataFileReader, DataFileWriter
> from avro.io import DatumReader, DatumWriter
> schema = avro.schema.parse(open("bug.avsc", "rb").read())
> writer = DataFileWriter(open("bug.avro", "wb"), DatumWriter(), schema)
> writer.append({'Serial': {'Serial': 110881615L}})
> writer.close()
> #Print whats entered into the avro file
> reader1 = DataFileReader(open("bug.avro", "rb"), DatumReader())
> for user in reader1:
> print user
> {code}
> Then just load the avro file using ListFIle -> FetchFile
> Full error message:
> {code}
> 2018-10-06 15:54:10,201 ERROR [Timer-Driven Process Thread-8] 
> org.apache.nifi.processors.orc.PutORC 
> PutORC[id=8be207cb-b16e-3578-1765-1c9e0c0aa383] Failed to write due to 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct: java.lang.IllegalArgumentException: Error converting 
> object of type org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> at 
> org.apache.hadoop.hive.ql.io.orc.NiFiOrcUtils.convertToORCObject(NiFiOrcUtils.java:206)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:71)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:91)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$null$0(AbstractPutHDFSRecord.java:324)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2218)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2186)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$onTrigger$1(AbstractPutHDFSRecord.java:305)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1662)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.onTrigger(AbstractPutHDFSRecord.java:272)
> at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
> at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
> at 
> 

[jira] [Commented] (NIFI-5667) Hive3 PutOrc processors, error when using nestled Avro Record types

2018-10-15 Thread ASF subversion and git services (JIRA)


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

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

Commit ce25ae54196a318cbfcdb4dfe178607f4ac135c6 in nifi's branch 
refs/heads/master from [~ca9mbu]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=ce25ae5 ]

NIFI-5667: Add nested record support for PutORC

NIFI-5667: Fixed default table name

NIFI-5667: Fixed handling of binary types

NIFI-5667: Added backticks in Hive DDL generation

This closes #3057.

Signed-off-by: Bryan Bende 


> Hive3 PutOrc processors, error when using nestled Avro Record types
> ---
>
> Key: NIFI-5667
> URL: https://issues.apache.org/jira/browse/NIFI-5667
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
> Environment: Centos 7 and Docker Image from Hortonworks
>Reporter: Viking Karstorp
>Assignee: Matt Burgess
>Priority: Major
>
> I have been testing out the new PutOrc processor that was introduced in 1.7 
> to see if I can replace the ConvertAvroToOrc processer I currently use.
> When I sent in some of the complex Avro messages in my flow I encountered the 
> following error (see full stack further down) 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type The older 
> ConvertAvroToOrc processor processed the flowfile without issues. Also to 
> note is that the PutOrc processor handles the flowfile fine if there is no 
> Avro data with only the schema present. It seems to be related to nestled 
> "Record" types.
> How to reproduce:
> Avro schema: bug.avsc
> {code}
> {
>   "name": "nifi_hive3_test",
>   "namespace": "analytics.models.test",
>   "type": "record",
>   "fields": [
>{
>   "name": "Serial",
>   "type":
>   {
> "name": "Serial",
> "namespace": "analytics.models.common.serial",
> "type": "record",
> "fields": [
>   {
> "name": "Serial",
> "type": "long"
>   }
> ]
>   }
> }
>   ]
> }
> {code}
> Small python script to create an Avro file.
> {code}
> import avro.schema
> from avro.datafile import DataFileReader, DataFileWriter
> from avro.io import DatumReader, DatumWriter
> schema = avro.schema.parse(open("bug.avsc", "rb").read())
> writer = DataFileWriter(open("bug.avro", "wb"), DatumWriter(), schema)
> writer.append({'Serial': {'Serial': 110881615L}})
> writer.close()
> #Print whats entered into the avro file
> reader1 = DataFileReader(open("bug.avro", "rb"), DatumReader())
> for user in reader1:
> print user
> {code}
> Then just load the avro file using ListFIle -> FetchFile
> Full error message:
> {code}
> 2018-10-06 15:54:10,201 ERROR [Timer-Driven Process Thread-8] 
> org.apache.nifi.processors.orc.PutORC 
> PutORC[id=8be207cb-b16e-3578-1765-1c9e0c0aa383] Failed to write due to 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct: java.lang.IllegalArgumentException: Error converting 
> object of type org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> at 
> org.apache.hadoop.hive.ql.io.orc.NiFiOrcUtils.convertToORCObject(NiFiOrcUtils.java:206)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:71)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:91)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$null$0(AbstractPutHDFSRecord.java:324)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2218)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2186)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$onTrigger$1(AbstractPutHDFSRecord.java:305)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1662)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.onTrigger(AbstractPutHDFSRecord.java:272)
> at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
> at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
> at 
> 

[GitHub] nifi pull request #3057: NIFI-5667: Add nested record support for PutORC

2018-10-15 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[jira] [Commented] (NIFI-5667) Hive3 PutOrc processors, error when using nestled Avro Record types

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5667:
--

Github user bbende commented on the issue:

https://github.com/apache/nifi/pull/3057
  
Looks good to me, was able to verify the functionality, going to merge


> Hive3 PutOrc processors, error when using nestled Avro Record types
> ---
>
> Key: NIFI-5667
> URL: https://issues.apache.org/jira/browse/NIFI-5667
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
> Environment: Centos 7 and Docker Image from Hortonworks
>Reporter: Viking Karstorp
>Assignee: Matt Burgess
>Priority: Major
>
> I have been testing out the new PutOrc processor that was introduced in 1.7 
> to see if I can replace the ConvertAvroToOrc processer I currently use.
> When I sent in some of the complex Avro messages in my flow I encountered the 
> following error (see full stack further down) 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type The older 
> ConvertAvroToOrc processor processed the flowfile without issues. Also to 
> note is that the PutOrc processor handles the flowfile fine if there is no 
> Avro data with only the schema present. It seems to be related to nestled 
> "Record" types.
> How to reproduce:
> Avro schema: bug.avsc
> {code}
> {
>   "name": "nifi_hive3_test",
>   "namespace": "analytics.models.test",
>   "type": "record",
>   "fields": [
>{
>   "name": "Serial",
>   "type":
>   {
> "name": "Serial",
> "namespace": "analytics.models.common.serial",
> "type": "record",
> "fields": [
>   {
> "name": "Serial",
> "type": "long"
>   }
> ]
>   }
> }
>   ]
> }
> {code}
> Small python script to create an Avro file.
> {code}
> import avro.schema
> from avro.datafile import DataFileReader, DataFileWriter
> from avro.io import DatumReader, DatumWriter
> schema = avro.schema.parse(open("bug.avsc", "rb").read())
> writer = DataFileWriter(open("bug.avro", "wb"), DatumWriter(), schema)
> writer.append({'Serial': {'Serial': 110881615L}})
> writer.close()
> #Print whats entered into the avro file
> reader1 = DataFileReader(open("bug.avro", "rb"), DatumReader())
> for user in reader1:
> print user
> {code}
> Then just load the avro file using ListFIle -> FetchFile
> Full error message:
> {code}
> 2018-10-06 15:54:10,201 ERROR [Timer-Driven Process Thread-8] 
> org.apache.nifi.processors.orc.PutORC 
> PutORC[id=8be207cb-b16e-3578-1765-1c9e0c0aa383] Failed to write due to 
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct: java.lang.IllegalArgumentException: Error converting 
> object of type org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> java.lang.IllegalArgumentException: Error converting object of type 
> org.apache.nifi.serialization.record.MapRecord to ORC type 
> struct
> at 
> org.apache.hadoop.hive.ql.io.orc.NiFiOrcUtils.convertToORCObject(NiFiOrcUtils.java:206)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:71)
> at 
> org.apache.nifi.processors.orc.record.ORCHDFSRecordWriter.write(ORCHDFSRecordWriter.java:91)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$null$0(AbstractPutHDFSRecord.java:324)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2218)
> at 
> org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:2186)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.lambda$onTrigger$1(AbstractPutHDFSRecord.java:305)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:360)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1662)
> at 
> org.apache.nifi.processors.hadoop.AbstractPutHDFSRecord.onTrigger(AbstractPutHDFSRecord.java:272)
> at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
> at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
> at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
> at 
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
> at 
> 

[GitHub] nifi issue #3057: NIFI-5667: Add nested record support for PutORC

2018-10-15 Thread bbende
Github user bbende commented on the issue:

https://github.com/apache/nifi/pull/3057
  
Looks good to me, was able to verify the functionality, going to merge


---


[jira] [Created] (MINIFICPP-641) C API: add support to register failure callback

2018-10-15 Thread Arpad Boda (JIRA)
Arpad Boda created MINIFICPP-641:


 Summary: C API: add support to register failure callback
 Key: MINIFICPP-641
 URL: https://issues.apache.org/jira/browse/MINIFICPP-641
 Project: NiFi MiNiFi C++
  Issue Type: New Feature
Reporter: Arpad Boda
Assignee: Arpad Boda
 Fix For: 0.6.0


Current implementation of C API provide no option to handle failure 
relationships of processors. 

Simply adding relationships one-by-one would make it unreasonably complicated 
in user's perspective. User should be able to add a simple callback, which - in 
the background - creates a processor and connects that all processors in the 
given flow with failure relationship. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5248) Create new put processors that use the ElasticSearch client service

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5248:
--

Github user MikeThomsen commented on the issue:

https://github.com/apache/nifi/pull/2861
  
@mattyb149 anything?


> Create new put processors that use the ElasticSearch client service
> ---
>
> Key: NIFI-5248
> URL: https://issues.apache.org/jira/browse/NIFI-5248
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Mike Thomsen
>Assignee: Mike Thomsen
>Priority: Major
>
> Two new processors:
>  * PutElasticsearchJson - put raw JSON.
>  * PutElasticsearchRecord - put records.
> Both of them should support the general bulk load API and be able to do 
> things like insert into multiple indexes from one payload.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi issue #2861: NIFI-5248 Added new Elasticsearch json and record processo...

2018-10-15 Thread MikeThomsen
Github user MikeThomsen commented on the issue:

https://github.com/apache/nifi/pull/2861
  
@mattyb149 anything?


---


[jira] [Commented] (NIFI-5605) Create Cassandra update/delete processor

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5605:
--

Github user MikeThomsen commented on the issue:

https://github.com/apache/nifi/pull/3025
  
Going to close this because I think the consensus is that it should be 
folded into an existing processor.


> Create Cassandra update/delete processor
> 
>
> Key: NIFI-5605
> URL: https://issues.apache.org/jira/browse/NIFI-5605
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Mike Thomsen
>Assignee: Mike Thomsen
>Priority: Major
>
> There should be a processor that can update and delete from Cassandra tables. 
> Where QueryCassandra is geared toward reading data, this should be geared 
> toward data mutations.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (NIFI-5699) Make the property descriptors accessible to the subclasses of AbstractRecordProcessor

2018-10-15 Thread Alex Savitsky (JIRA)
Alex Savitsky created NIFI-5699:
---

 Summary: Make the property descriptors accessible to the 
subclasses of AbstractRecordProcessor
 Key: NIFI-5699
 URL: https://issues.apache.org/jira/browse/NIFI-5699
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Core Framework
Affects Versions: 1.7.1
Reporter: Alex Savitsky


Currently, RECORD_READER and RECORD_WRITER are declared with default 
visibility, but the class is abstract. I don't think it's reasonable to expect 
all subclasses to reside in org.apache.nifi.processors.standard to be able to 
access the property descriptors (e.g. for testing). Please make them public, 
they're final anyway.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5605) Create Cassandra update/delete processor

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5605:
--

Github user MikeThomsen closed the pull request at:

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


> Create Cassandra update/delete processor
> 
>
> Key: NIFI-5605
> URL: https://issues.apache.org/jira/browse/NIFI-5605
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Mike Thomsen
>Assignee: Mike Thomsen
>Priority: Major
>
> There should be a processor that can update and delete from Cassandra tables. 
> Where QueryCassandra is geared toward reading data, this should be geared 
> toward data mutations.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi pull request #3025: NIFI-5605 Added UpdateCassandra.

2018-10-15 Thread MikeThomsen
Github user MikeThomsen closed the pull request at:

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


---


[GitHub] nifi issue #3025: NIFI-5605 Added UpdateCassandra.

2018-10-15 Thread MikeThomsen
Github user MikeThomsen commented on the issue:

https://github.com/apache/nifi/pull/3025
  
Going to close this because I think the consensus is that it should be 
folded into an existing processor.


---


[jira] [Commented] (NIFI-5698) DeleteAzureBlob fails to delete

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5698:
--

Github user zenfenan commented on the issue:

https://github.com/apache/nifi/pull/3073
  
> 
> 
> Confirmed that the reported issue happened before applying fix. And 
resolved with this fix. +1, merging. Thanks again @zenfenan! Sorry for 
introducing this terrible bug..

@ijokarumawak No issues. Thanks for reviewing and merging. Appreciate the 
quick turnaround. :)


> DeleteAzureBlob fails to delete
> ---
>
> Key: NIFI-5698
> URL: https://issues.apache.org/jira/browse/NIFI-5698
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 1.7.0, 1.7.1
>Reporter: Sivaprasanna Sethuraman
>Assignee: Sivaprasanna Sethuraman
>Priority: Blocker
> Fix For: 1.8.0
>
> Attachments: NIFI-5698-Fixed-DeleteAzureBlobStorage-bug.patch
>
>
> With NIFI-4199, proxy support has been added to Azure Storage processors. 
> However, that made way for a critical bug to sneak into the 
> DeleteAzureBlobStorage processor which effectively renders the processor 
> unusable.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] nifi issue #3073: NIFI-5698: Fixed DeleteAzureBlobStorage bug

2018-10-15 Thread zenfenan
Github user zenfenan commented on the issue:

https://github.com/apache/nifi/pull/3073
  
> 
> 
> Confirmed that the reported issue happened before applying fix. And 
resolved with this fix. +1, merging. Thanks again @zenfenan! Sorry for 
introducing this terrible bug..

@ijokarumawak No issues. Thanks for reviewing and merging. Appreciate the 
quick turnaround. :)


---


[jira] [Updated] (NIFI-5492) UDF in Expression Language

2018-10-15 Thread Ed Berezitsky (JIRA)


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

Ed Berezitsky updated NIFI-5492:

Issue Type: New Feature  (was: Wish)

> UDF in Expression Language
> --
>
> Key: NIFI-5492
> URL: https://issues.apache.org/jira/browse/NIFI-5492
> Project: Apache NiFi
>  Issue Type: New Feature
>  Components: Core Framework
>Affects Versions: 1.5.0, 1.6.0, 1.7.0, 1.7.1
>Reporter: Ed Berezitsky
>Assignee: Ed Berezitsky
>Priority: Major
>  Labels: features, patch
> Attachments: 0001-NIFI-5492_EXEC-Adding-UDF-to-EL.patch
>
>
> Set of functions available to use in expression language is limited by 
> predefined ones.
> This request is to provide an ability to plug in custom/user defined 
> functions.
> For example:
> ${*exec*('com.example.MyUDF', 'param1', 'param2')}
> Should be able to support:
>  # Multiple, not limited number of parameters (including zero params)
>  # Param data types should  support all EL data types (dates, whole numbers, 
> decimals, strings, booleans)
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (NIFI-5629) GetFile becomes slow listing vast directories

2018-10-15 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5629:
--

Github user adyoun2 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/3033#discussion_r225123174
  
--- Diff: 
nifi-commons/nifi-properties/src/main/java/org/apache/nifi/util/NiFiProperties.java
 ---
@@ -1422,10 +1424,15 @@ public String 
getDefaultBackPressureDataSizeThreshold() {
 public static NiFiProperties createBasicNiFiProperties(final String 
propertiesFilePath, final Map additionalProperties) {
 final Map addProps = (additionalProperties == 
null) ? Collections.EMPTY_MAP : additionalProperties;
 final Properties properties = new Properties();
-final String nfPropertiesFilePath = (propertiesFilePath == null)
+String nfPropertiesFilePath = (propertiesFilePath == null)
 ? System.getProperty(NiFiProperties.PROPERTIES_FILE_PATH)
 : propertiesFilePath;
 if (nfPropertiesFilePath != null) {
+try {
--- End diff --

it was relevant, to get it working in my local environment, where someone 
had put spaces in the path, %20 in resource paths needed converting back to ' '


> GetFile becomes slow listing vast directories
> -
>
> Key: NIFI-5629
> URL: https://issues.apache.org/jira/browse/NIFI-5629
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.6.0
>Reporter: Adam
>Priority: Minor
>
> GetFile repeatedly lists entire directories before applying batching, meaning 
> for vast directories it spends a long time listing directories.
>  
> Pull request to follow.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


  1   2   >