[jira] [Updated] (NIFI-5815) PutORC processor "Restricted" still requires access to restricted components regardless of restriction

2018-11-13 Thread Koji Kawamura (JIRA)


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

Koji Kawamura updated NIFI-5815:

   Resolution: Fixed
Fix Version/s: 1.9.0
   Status: Resolved  (was: Patch Available)

> PutORC processor "Restricted" still requires access to restricted components 
> regardless of restriction
> --
>
> Key: NIFI-5815
> URL: https://issues.apache.org/jira/browse/NIFI-5815
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 1.6.0, 1.7.0, 1.8.0, 1.7.1
>Reporter: Matthew Clarke
>Assignee: Pierre Villard
>Priority: Major
> Fix For: 1.9.0
>
>
> When the new more granular policies were introduced for the "Access 
> Restricted Components" access policy, the PutORC processor was missed.  It 
> still requires that users have full access to all restricted components in 
> order to use this processor.  This has side affect of any user who needs to 
> use this components having access to all components in every sub policy of 
> restricted-components.



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


[jira] [Commented] (NIFI-5815) PutORC processor "Restricted" still requires access to restricted components regardless of restriction

2018-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5815:
--

Github user ijokarumawak commented on the issue:

https://github.com/apache/nifi/pull/3169
  
LGTM +1, merging. Thanks @pvillard31!


> PutORC processor "Restricted" still requires access to restricted components 
> regardless of restriction
> --
>
> Key: NIFI-5815
> URL: https://issues.apache.org/jira/browse/NIFI-5815
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 1.6.0, 1.7.0, 1.8.0, 1.7.1
>Reporter: Matthew Clarke
>Assignee: Pierre Villard
>Priority: Major
>
> When the new more granular policies were introduced for the "Access 
> Restricted Components" access policy, the PutORC processor was missed.  It 
> still requires that users have full access to all restricted components in 
> order to use this processor.  This has side affect of any user who needs to 
> use this components having access to all components in every sub policy of 
> restricted-components.



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


[jira] [Commented] (NIFI-5815) PutORC processor "Restricted" still requires access to restricted components regardless of restriction

2018-11-13 Thread ASF subversion and git services (JIRA)


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

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

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

NIFI-5815 - PutORC processor 'Restricted' still requires access to restricted 
components regardless of restriction

This closes #3169.

Signed-off-by: Koji Kawamura 


> PutORC processor "Restricted" still requires access to restricted components 
> regardless of restriction
> --
>
> Key: NIFI-5815
> URL: https://issues.apache.org/jira/browse/NIFI-5815
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 1.6.0, 1.7.0, 1.8.0, 1.7.1
>Reporter: Matthew Clarke
>Assignee: Pierre Villard
>Priority: Major
>
> When the new more granular policies were introduced for the "Access 
> Restricted Components" access policy, the PutORC processor was missed.  It 
> still requires that users have full access to all restricted components in 
> order to use this processor.  This has side affect of any user who needs to 
> use this components having access to all components in every sub policy of 
> restricted-components.



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


[jira] [Commented] (NIFI-5815) PutORC processor "Restricted" still requires access to restricted components regardless of restriction

2018-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5815:
--

Github user asfgit closed the pull request at:

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


> PutORC processor "Restricted" still requires access to restricted components 
> regardless of restriction
> --
>
> Key: NIFI-5815
> URL: https://issues.apache.org/jira/browse/NIFI-5815
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 1.6.0, 1.7.0, 1.8.0, 1.7.1
>Reporter: Matthew Clarke
>Assignee: Pierre Villard
>Priority: Major
>
> When the new more granular policies were introduced for the "Access 
> Restricted Components" access policy, the PutORC processor was missed.  It 
> still requires that users have full access to all restricted components in 
> order to use this processor.  This has side affect of any user who needs to 
> use this components having access to all components in every sub policy of 
> restricted-components.



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


[GitHub] nifi pull request #3169: NIFI-5815 - PutORC processor 'Restricted' still req...

2018-11-13 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[GitHub] nifi issue #3169: NIFI-5815 - PutORC processor 'Restricted' still requires a...

2018-11-13 Thread ijokarumawak
Github user ijokarumawak commented on the issue:

https://github.com/apache/nifi/pull/3169
  
LGTM +1, merging. Thanks @pvillard31!


---


[jira] [Resolved] (MINIFICPP-654) C API: failure callback improvements

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault resolved MINIFICPP-654.
--
Resolution: Fixed

> C API: failure callback improvements
> 
>
> Key: MINIFICPP-654
> URL: https://issues.apache.org/jira/browse/MINIFICPP-654
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Arpad Boda
>Assignee: Arpad Boda
>Priority: Minor
> Fix For: 0.6.0
>
>
> Improvements and further discussion of failure callbacks. 



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


[jira] [Updated] (MINIFICPP-670) Move away from Processor linkages in favor of UT hash linked list

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-670:
-
Labels: nanofi  (was: )

> Move away from Processor linkages in favor of UT hash linked list
> -
>
> Key: MINIFICPP-670
> URL: https://issues.apache.org/jira/browse/MINIFICPP-670
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Mr TheSegfault
>Priority: Major
>  Labels: nanofi
>




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


[jira] [Updated] (MINIFICPP-629) Investigate removing exceptions in CAPI and improving response code handling

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-629:
-
Labels: nanofi  (was: )

> Investigate removing exceptions in CAPI and improving response code handling
> 
>
> Key: MINIFICPP-629
> URL: https://issues.apache.org/jira/browse/MINIFICPP-629
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Mr TheSegfault
>Priority: Major
>  Labels: nanofi
>
> Investigate removing exceptions in CAPI and improving response code handling 
> – maybe start by calling set_terminate to set a termination handler function 
> and move to the eventual goal of returning meaningful response codes. 



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


[jira] [Updated] (MINIFICPP-667) Create Structural definitions for moving away from C++ classes

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-667:
-
Affects Version/s: nanofi

> Create Structural definitions for moving away from C++ classes
> --
>
> Key: MINIFICPP-667
> URL: https://issues.apache.org/jira/browse/MINIFICPP-667
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Affects Versions: nanofi
>Reporter: Mr TheSegfault
>Assignee: Mr TheSegfault
>Priority: Major
> Fix For: 0.6.0
>
>
> Create Structural definitions for moving away from C++ classes



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


[jira] [Assigned] (MINIFICPP-666) NanoFi should be c file not Cpp file

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault reassigned MINIFICPP-666:


Assignee: (was: Mr TheSegfault)

> NanoFi should be c file not Cpp file
> 
>
> Key: MINIFICPP-666
> URL: https://issues.apache.org/jira/browse/MINIFICPP-666
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Mr TheSegfault
>Priority: Major
>
> This should be the eventual goal of moving the cpp file to C as we move from 
> C to C++



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


[jira] [Updated] (MINIFICPP-658) Port Site to Site to C

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-658:
-
Labels: nanofi  (was: )

> Port Site to Site to C
> --
>
> Key: MINIFICPP-658
> URL: https://issues.apache.org/jira/browse/MINIFICPP-658
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Mr TheSegfault
>Assignee: Mr TheSegfault
>Priority: Major
>  Labels: nanofi
>
> Most code is already written in C, so there's no reason this should be a 
> tough task. 



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


[jira] [Updated] (MINIFICPP-671) Create determinate call chain to current set of C++ processors as we transition away from Instance

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-671:
-
Labels: nanofi  (was: )

> Create determinate call chain to current set of C++ processors as we 
> transition away from Instance
> --
>
> Key: MINIFICPP-671
> URL: https://issues.apache.org/jira/browse/MINIFICPP-671
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Mr TheSegfault
>Priority: Major
>  Labels: nanofi
>




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


[jira] [Created] (MINIFICPP-671) Create determinate call chain to current set of C++ processors as we transition away from Instance

2018-11-13 Thread Mr TheSegfault (JIRA)
Mr TheSegfault created MINIFICPP-671:


 Summary: Create determinate call chain to current set of C++ 
processors as we transition away from Instance
 Key: MINIFICPP-671
 URL: https://issues.apache.org/jira/browse/MINIFICPP-671
 Project: NiFi MiNiFi C++
  Issue Type: Improvement
Reporter: Mr TheSegfault






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


[jira] [Created] (MINIFICPP-670) Move away from Processor linkages in favor of UT hash linked list

2018-11-13 Thread Mr TheSegfault (JIRA)
Mr TheSegfault created MINIFICPP-670:


 Summary: Move away from Processor linkages in favor of UT hash 
linked list
 Key: MINIFICPP-670
 URL: https://issues.apache.org/jira/browse/MINIFICPP-670
 Project: NiFi MiNiFi C++
  Issue Type: Improvement
Reporter: Mr TheSegfault






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


[jira] [Updated] (MINIFICPP-657) Begin removing Instance class in favor of a C based design.

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-657:
-
Epic Name: nanofi  (was: NanoFi)

> Begin removing Instance class in favor of a C based design. 
> 
>
> Key: MINIFICPP-657
> URL: https://issues.apache.org/jira/browse/MINIFICPP-657
> Project: NiFi MiNiFi C++
>  Issue Type: Epic
>Reporter: Mr TheSegfault
>Priority: Critical
>
> We currently use an execution plan as instance variables in the C code. We 
> should begin porting these constructs to C or eliminate the need for them 
> altogether. This will mean that sub components should be slowly ported. Could 
> also use this as a way to begin integrating C functionality into integration 
> tests



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


[jira] [Updated] (MINIFICPP-645) Move from new to malloc in CAPI to facilitate eventual change from C++ to C

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-645:
-
Description: 
As gradually move to C we should move out of libminifi and remove the linter. 

Nothing that is returned via the API that is not an opaque pointer should use 
new

  was:As gradually move to C we should move out of libminifi and remove the 
linter. 


> Move from new to malloc in CAPI to facilitate eventual change from C++ to C
> ---
>
> Key: MINIFICPP-645
> URL: https://issues.apache.org/jira/browse/MINIFICPP-645
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Mr TheSegfault
>Priority: Blocker
>  Labels: CAPI, nanofi
> Fix For: 0.6.0
>
>
> As gradually move to C we should move out of libminifi and remove the linter. 
> Nothing that is returned via the API that is not an opaque pointer should use 
> new



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


[jira] [Updated] (MINIFICPP-645) Move from new to malloc in CAPI to facilitate eventual change from C++ to C

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-645:
-
Labels: CAPI nanofi  (was: CAPI)

> Move from new to malloc in CAPI to facilitate eventual change from C++ to C
> ---
>
> Key: MINIFICPP-645
> URL: https://issues.apache.org/jira/browse/MINIFICPP-645
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Mr TheSegfault
>Priority: Blocker
>  Labels: CAPI, nanofi
> Fix For: 0.6.0
>
>
> As gradually move to C we should move out of libminifi and remove the linter. 



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


[jira] [Resolved] (MINIFICPP-648) add processor and add processor with linkage nomenclature is confusing

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault resolved MINIFICPP-648.
--
Resolution: Fixed

> add processor and add processor with linkage nomenclature is confusing
> --
>
> Key: MINIFICPP-648
> URL: https://issues.apache.org/jira/browse/MINIFICPP-648
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Mr TheSegfault
>Assignee: Arpad Boda
>Priority: Blocker
>  Labels: CAPI
> Fix For: 0.6.0
>
>
> add_processor should be changed to always add a processor with linkage 
> without compelling documentation as why this exists.. As a result we will 
> need to add a create_processor function to create one without adding it to 
> the flow ( certain use cases where a flow isn't needed such as invokehttp or 
> listenhttp ) this can be moved to 0.7.0 if we tag before recent commits. 



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


[jira] [Updated] (MINIFICPP-633) Create docker tests for site to site in capi

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-633:
-
Labels: nanofi test  (was: test)

> Create docker tests for site to site in capi
> 
>
> Key: MINIFICPP-633
> URL: https://issues.apache.org/jira/browse/MINIFICPP-633
> Project: NiFi MiNiFi C++
>  Issue Type: Sub-task
>Reporter: Mr TheSegfault
>Priority: Major
>  Labels: nanofi, test
>
> +Create python integration tests.+ 



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


[jira] [Assigned] (MINIFICPP-633) Create docker tests for site to site in capi

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault reassigned MINIFICPP-633:


Assignee: (was: Mr TheSegfault)

> Create docker tests for site to site in capi
> 
>
> Key: MINIFICPP-633
> URL: https://issues.apache.org/jira/browse/MINIFICPP-633
> Project: NiFi MiNiFi C++
>  Issue Type: Sub-task
>Reporter: Mr TheSegfault
>Priority: Major
>  Labels: nanofi, test
>
> +Create python integration tests.+ 



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


[jira] [Updated] (MINIFICPP-639) Improve error handling of CAPI return failures

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-639:
-
Labels: nanofi  (was: )

> Improve error handling of CAPI return failures
> --
>
> Key: MINIFICPP-639
> URL: https://issues.apache.org/jira/browse/MINIFICPP-639
> Project: NiFi MiNiFi C++
>  Issue Type: Bug
>Reporter: Mr TheSegfault
>Priority: Critical
>  Labels: nanofi
>
> Errors like not returning a class name as expected should return a meaningful 
> error throughout the API



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


[jira] [Updated] (MINIFICPP-622) Transmit binary information for CAPI implementations in heartbeat

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-622:
-
Labels: CAPI nanofi  (was: CAPI)

> Transmit binary information for CAPI implementations in heartbeat
> -
>
> Key: MINIFICPP-622
> URL: https://issues.apache.org/jira/browse/MINIFICPP-622
> Project: NiFi MiNiFi C++
>  Issue Type: New Feature
>Reporter: Mr TheSegfault
>Priority: Major
>  Labels: CAPI, nanofi
>
> Heartbeats transmit a great deal of information as per our defined spec: 
> [https://cwiki.apache.org/confluence/display/MINIFI/C2+Design+Proposal]
> This ticket will be responsible for figuring out what can and cannot be sent 
> via these binaries created using the CAPI
>  
> For CAPI : probably need the AgentBuild information, but also potentially 
> information from a consumer's program – is there a way to capture information 
> about THEIR binary information
>  
> May include information like python version, GCC version, etc that's NOT 
> about our library ( and not captured in AgentBuild) – but rather about 
> theirs. 



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


[jira] [Updated] (MINIFICPP-621) Crate log aggregator example for CAPI

2018-11-13 Thread Mr TheSegfault (JIRA)


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

Mr TheSegfault updated MINIFICPP-621:
-
Labels: CAPI nanofi  (was: CAPI)

> Crate log aggregator example for CAPI 
> --
>
> Key: MINIFICPP-621
> URL: https://issues.apache.org/jira/browse/MINIFICPP-621
> Project: NiFi MiNiFi C++
>  Issue Type: New Feature
>Reporter: Mr TheSegfault
>Priority: Major
>  Labels: CAPI, nanofi
>
> Create examples that can tail log files ( perhaps using TailFile ) that works 
> in windows and *nix



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


[jira] [Created] (MINIFICPP-669) Begin moving flow file record struct record away from using an opaque pointer

2018-11-13 Thread Mr TheSegfault (JIRA)
Mr TheSegfault created MINIFICPP-669:


 Summary: Begin moving flow file record struct record away from 
using an opaque pointer
 Key: MINIFICPP-669
 URL: https://issues.apache.org/jira/browse/MINIFICPP-669
 Project: NiFi MiNiFi C++
  Issue Type: Improvement
Reporter: Mr TheSegfault






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


[jira] [Comment Edited] (NIFI-5817) QueryRecord processor exception when using JsonPath expression language

2018-11-13 Thread Mandeep Gill (JIRA)


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

Mandeep Gill edited comment on NIFI-5817 at 11/13/18 6:36 PM:
--

Following email discussion with Mark Payne, appears to be an issue with 
QueryRecord and can be worked around in the meantime by adding a 
`replaceNull('{}')` within the expression function chain to handle the case 
where the variable may be a flowfile attribute.


was (Author: mandeepg):
Following email discussion, appears to be an issue with QueryRecord and can be 
worked around in the meantime by adding a `replaceNull('{}')` within the 
expression function chain to handle the case where the variable may be a 
flowfile attribute.

> QueryRecord processor exception when using JsonPath expression language 
> 
>
> Key: NIFI-5817
> URL: https://issues.apache.org/jira/browse/NIFI-5817
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
> Environment: Linux x64 (Fedora 29) with OpenJDK 8 (openjdk version 
> "1.8.0_191")
>Reporter: Mandeep Gill
>Priority: Major
> Attachments: QueryRecord_JsonPath_Issue.xml
>
>
> (From email to the users list)
>  
>  I'm hitting an issue using the "jsonPath" expression language function to 
> extract a query to use with the QueryRecord processor. The processor works 
> fine if the expression language subject is contained within the process group 
> variable registry, but fails upon starting with an 
> `AttributeExpressionLanguageException` if the subject was expected to to 
> exist within a flowfile attribute [1]
>   
>  I've attached a template generated on NiFi 1.8.0 demonstrating the problem - 
> it only appears to be an issue with dynamic outputs from the QueryRecord 
> processor, as the same expression language statement works fine when used as 
> part of UpdateAttribute processor with the subject in a flowfile attribute as 
> per the template. I've dug into the codebase and can trace the error to the 
> `evaluate` function within the `JsonPathEvaluator` class, which throws the 
> exception if the variable can not be referenced. I have a local fix at 
> [https://github.com/apache/nifi/compare/master...nstack:fix/jsonpath] that 
> returns `StringQueryResult("")` if the subject is empty instead of throwing 
> the exception and this appears to work.
>   
>  However I'm not sure if this is the correct fix as UpdateAttribute works, 
> perhaps the problem is instead in QueryRecord eagerly evaluating the queries 
> thus triggering the `evaluate` function.
>   
> [1] 2018-11-13 14:46:24,899 ERROR [Timer-Driven Process Thread-1] 
> o.a.nifi.processors.standard.QueryRecord 
> QueryRecord[id=0d5684e2-0167-1000-74c1-eb29a1401981] Failed to properly 
> initialize Processor. If still scheduled to run, NiFi will attempt to 
> initialize and run the Processor again after the 'Administrative Yield 
> Duration' has elapsed. Failure is due to 
> java.lang.reflect.InvocationTargetException: 
> java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException: null
> at sun.reflect.GeneratedMethodAccessor916.invoke(Unknown Source)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:142)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:130)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:75)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:52)
> at 
> org.apache.nifi.controller.StandardProcessorNode.lambda$initiateStart$4(StandardProcessorNode.java:1499)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: 
> org.apache.nifi.attribute.expression.language.exception.AttributeExpressionLanguageException:
>  Subject is empty
> at 
> org.apache.nifi.attribute.expression.language.evaluation.functions.JsonPathEvaluator.evaluate(JsonPathEvaluator.java:66)
> at 
> org.apache.nifi.attribute.expression.language.Query.evaluate(Query.java:315)
> at 
> 

[jira] [Commented] (NIFI-5817) QueryRecord processor exception when using JsonPath expression language

2018-11-13 Thread Mandeep Gill (JIRA)


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

Mandeep Gill commented on NIFI-5817:


Following email discussion, appears to be an issue with QueryRecord and can be 
worked around in the meantime by adding a `replaceNull('{}')` within the 
expression function chain to handle the case where the variable may be a 
flowfile attribute.

> QueryRecord processor exception when using JsonPath expression language 
> 
>
> Key: NIFI-5817
> URL: https://issues.apache.org/jira/browse/NIFI-5817
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
> Environment: Linux x64 (Fedora 29) with OpenJDK 8 (openjdk version 
> "1.8.0_191")
>Reporter: Mandeep Gill
>Priority: Major
> Attachments: QueryRecord_JsonPath_Issue.xml
>
>
> (From email to the users list)
>  
>  I'm hitting an issue using the "jsonPath" expression language function to 
> extract a query to use with the QueryRecord processor. The processor works 
> fine if the expression language subject is contained within the process group 
> variable registry, but fails upon starting with an 
> `AttributeExpressionLanguageException` if the subject was expected to to 
> exist within a flowfile attribute [1]
>   
>  I've attached a template generated on NiFi 1.8.0 demonstrating the problem - 
> it only appears to be an issue with dynamic outputs from the QueryRecord 
> processor, as the same expression language statement works fine when used as 
> part of UpdateAttribute processor with the subject in a flowfile attribute as 
> per the template. I've dug into the codebase and can trace the error to the 
> `evaluate` function within the `JsonPathEvaluator` class, which throws the 
> exception if the variable can not be referenced. I have a local fix at 
> [https://github.com/apache/nifi/compare/master...nstack:fix/jsonpath] that 
> returns `StringQueryResult("")` if the subject is empty instead of throwing 
> the exception and this appears to work.
>   
>  However I'm not sure if this is the correct fix as UpdateAttribute works, 
> perhaps the problem is instead in QueryRecord eagerly evaluating the queries 
> thus triggering the `evaluate` function.
>   
> [1] 2018-11-13 14:46:24,899 ERROR [Timer-Driven Process Thread-1] 
> o.a.nifi.processors.standard.QueryRecord 
> QueryRecord[id=0d5684e2-0167-1000-74c1-eb29a1401981] Failed to properly 
> initialize Processor. If still scheduled to run, NiFi will attempt to 
> initialize and run the Processor again after the 'Administrative Yield 
> Duration' has elapsed. Failure is due to 
> java.lang.reflect.InvocationTargetException: 
> java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException: null
> at sun.reflect.GeneratedMethodAccessor916.invoke(Unknown Source)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:142)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:130)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:75)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:52)
> at 
> org.apache.nifi.controller.StandardProcessorNode.lambda$initiateStart$4(StandardProcessorNode.java:1499)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: 
> org.apache.nifi.attribute.expression.language.exception.AttributeExpressionLanguageException:
>  Subject is empty
> at 
> org.apache.nifi.attribute.expression.language.evaluation.functions.JsonPathEvaluator.evaluate(JsonPathEvaluator.java:66)
> at 
> org.apache.nifi.attribute.expression.language.Query.evaluate(Query.java:315)
> at 
> org.apache.nifi.attribute.expression.language.Query.evaluateExpression(Query.java:203)
> at 
> org.apache.nifi.attribute.expression.language.CompiledExpression.evaluate(CompiledExpression.java:58)
> at 
> org.apache.nifi.attribute.expression.language.StandardPreparedQuery.evaluateExpressions(StandardPreparedQuery.java:51)
> at 
> 

[jira] [Updated] (NIFI-5817) QueryRecord processor exception when using JsonPath expression language

2018-11-13 Thread Mandeep Gill (JIRA)


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

Mandeep Gill updated NIFI-5817:
---
Environment: Linux x64 (Fedora 29) with OpenJSDK 8 (openjdk version 
"1.8.0_191")  (was: Linux (Fedora 29) with OpenJSDK 8 (openjdk version 
"1.8.0_191"))

> QueryRecord processor exception when using JsonPath expression language 
> 
>
> Key: NIFI-5817
> URL: https://issues.apache.org/jira/browse/NIFI-5817
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
> Environment: Linux x64 (Fedora 29) with OpenJSDK 8 (openjdk version 
> "1.8.0_191")
>Reporter: Mandeep Gill
>Priority: Major
> Attachments: QueryRecord_JsonPath_Issue.xml
>
>
> (From email to the users list)
>  
>  I'm hitting an issue using the "jsonPath" expression language function to 
> extract a query to use with the QueryRecord processor. The processor works 
> fine if the expression language subject is contained within the process group 
> variable registry, but fails upon starting with an 
> `AttributeExpressionLanguageException` if the subject was expected to to 
> exist within a flowfile attribute [1]
>   
>  I've attached a template generated on NiFi 1.8.0 demonstrating the problem - 
> it only appears to be an issue with dynamic outputs from the QueryRecord 
> processor, as the same expression language statement works fine when used as 
> part of UpdateAttribute processor with the subject in a flowfile attribute as 
> per the template. I've dug into the codebase and can trace the error to the 
> `evaluate` function within the `JsonPathEvaluator` class, which throws the 
> exception if the variable can not be referenced. I have a local fix at 
> [https://github.com/apache/nifi/compare/master...nstack:fix/jsonpath] that 
> returns `StringQueryResult("")` if the subject is empty instead of throwing 
> the exception and this appears to work.
>   
>  However I'm not sure if this is the correct fix as UpdateAttribute works, 
> perhaps the problem is instead in QueryRecord eagerly evaluating the queries 
> thus triggering the `evaluate` function.
>   
> [1] 2018-11-13 14:46:24,899 ERROR [Timer-Driven Process Thread-1] 
> o.a.nifi.processors.standard.QueryRecord 
> QueryRecord[id=0d5684e2-0167-1000-74c1-eb29a1401981] Failed to properly 
> initialize Processor. If still scheduled to run, NiFi will attempt to 
> initialize and run the Processor again after the 'Administrative Yield 
> Duration' has elapsed. Failure is due to 
> java.lang.reflect.InvocationTargetException: 
> java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException: null
> at sun.reflect.GeneratedMethodAccessor916.invoke(Unknown Source)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:142)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:130)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:75)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:52)
> at 
> org.apache.nifi.controller.StandardProcessorNode.lambda$initiateStart$4(StandardProcessorNode.java:1499)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: 
> org.apache.nifi.attribute.expression.language.exception.AttributeExpressionLanguageException:
>  Subject is empty
> at 
> org.apache.nifi.attribute.expression.language.evaluation.functions.JsonPathEvaluator.evaluate(JsonPathEvaluator.java:66)
> at 
> org.apache.nifi.attribute.expression.language.Query.evaluate(Query.java:315)
> at 
> org.apache.nifi.attribute.expression.language.Query.evaluateExpression(Query.java:203)
> at 
> org.apache.nifi.attribute.expression.language.CompiledExpression.evaluate(CompiledExpression.java:58)
> at 
> org.apache.nifi.attribute.expression.language.StandardPreparedQuery.evaluateExpressions(StandardPreparedQuery.java:51)
> at 
> org.apache.nifi.attribute.expression.language.StandardPropertyValue.evaluateAttributeExpressions(StandardPropertyValue.java:160)
> at 
> 

[jira] [Updated] (NIFI-5817) QueryRecord processor exception when using JsonPath expression language

2018-11-13 Thread Mandeep Gill (JIRA)


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

Mandeep Gill updated NIFI-5817:
---
Summary: QueryRecord processor exception when using JsonPath expression 
language   (was: JsonPath expression language exception with QueryRecord 
processor)

> QueryRecord processor exception when using JsonPath expression language 
> 
>
> Key: NIFI-5817
> URL: https://issues.apache.org/jira/browse/NIFI-5817
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
> Environment: Linux (Fedora 29) with OpenJSDK 8 (openjdk version 
> "1.8.0_191")
>Reporter: Mandeep Gill
>Priority: Major
> Attachments: QueryRecord_JsonPath_Issue.xml
>
>
> (From email to the users list)
>  
>  I'm hitting an issue using the "jsonPath" expression language function to 
> extract a query to use with the QueryRecord processor. The processor works 
> fine if the expression language subject is contained within the process group 
> variable registry, but fails upon starting with an 
> `AttributeExpressionLanguageException` if the subject was expected to to 
> exist within a flowfile attribute [1]
>   
>  I've attached a template generated on NiFi 1.8.0 demonstrating the problem - 
> it only appears to be an issue with dynamic outputs from the QueryRecord 
> processor, as the same expression language statement works fine when used as 
> part of UpdateAttribute processor with the subject in a flowfile attribute as 
> per the template. I've dug into the codebase and can trace the error to the 
> `evaluate` function within the `JsonPathEvaluator` class, which throws the 
> exception if the variable can not be referenced. I have a local fix at 
> [https://github.com/apache/nifi/compare/master...nstack:fix/jsonpath] that 
> returns `StringQueryResult("")` if the subject is empty instead of throwing 
> the exception and this appears to work.
>   
>  However I'm not sure if this is the correct fix as UpdateAttribute works, 
> perhaps the problem is instead in QueryRecord eagerly evaluating the queries 
> thus triggering the `evaluate` function.
>   
> [1] 2018-11-13 14:46:24,899 ERROR [Timer-Driven Process Thread-1] 
> o.a.nifi.processors.standard.QueryRecord 
> QueryRecord[id=0d5684e2-0167-1000-74c1-eb29a1401981] Failed to properly 
> initialize Processor. If still scheduled to run, NiFi will attempt to 
> initialize and run the Processor again after the 'Administrative Yield 
> Duration' has elapsed. Failure is due to 
> java.lang.reflect.InvocationTargetException: 
> java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException: null
> at sun.reflect.GeneratedMethodAccessor916.invoke(Unknown Source)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:142)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:130)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:75)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:52)
> at 
> org.apache.nifi.controller.StandardProcessorNode.lambda$initiateStart$4(StandardProcessorNode.java:1499)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: 
> org.apache.nifi.attribute.expression.language.exception.AttributeExpressionLanguageException:
>  Subject is empty
> at 
> org.apache.nifi.attribute.expression.language.evaluation.functions.JsonPathEvaluator.evaluate(JsonPathEvaluator.java:66)
> at 
> org.apache.nifi.attribute.expression.language.Query.evaluate(Query.java:315)
> at 
> org.apache.nifi.attribute.expression.language.Query.evaluateExpression(Query.java:203)
> at 
> org.apache.nifi.attribute.expression.language.CompiledExpression.evaluate(CompiledExpression.java:58)
> at 
> org.apache.nifi.attribute.expression.language.StandardPreparedQuery.evaluateExpressions(StandardPreparedQuery.java:51)
> at 
> org.apache.nifi.attribute.expression.language.StandardPropertyValue.evaluateAttributeExpressions(StandardPropertyValue.java:160)
> at 
> 

[jira] [Updated] (NIFI-5817) JsonPath expression language exception with QueryRecord processor

2018-11-13 Thread Mandeep Gill (JIRA)


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

Mandeep Gill updated NIFI-5817:
---
Description: 
(From email to the users list)

 
 I'm hitting an issue using the "jsonPath" expression language function to 
extract a query to use with the QueryRecord processor. The processor works fine 
if the expression language subject is contained within the process group 
variable registry, but fails upon starting with an 
`AttributeExpressionLanguageException` if the subject was expected to to exist 
within a flowfile attribute [1]
  
 I've attached a template generated on NiFi 1.8.0 demonstrating the problem - 
it only appears to be an issue with dynamic outputs from the QueryRecord 
processors, as the same expression language statement works fine when used as 
part of UpdateAttribute processor with the subject in a flowfile attribute as 
per the template. I've dug into the codebase and can trace the error to the 
`evaluate` function within the `JsonPathEvaluator` class, which throws the 
exception if the variable can not be referenced. I have a local fix at 
[https://github.com/apache/nifi/compare/master...nstack:fix/jsonpath] that 
returns `StringQueryResult("")` if the subject is empty instead of throwing the 
exception and this appears to work.
  
 However I'm not sure if this is the correct fix as UpdateAttribute works, 
perhaps the problem is instead in QueryRecord eagerly evaluating the queries 
thus triggering the `evaluate` function.
  

 

 ```
[1] 2018-11-13 14:46:24,899 ERROR [Timer-Driven Process Thread-1] 
o.a.nifi.processors.standard.QueryRecord 
QueryRecord[id=0d5684e2-0167-1000-74c1-eb29a1401981] Failed to properly 
initialize Processor. If still scheduled to run, NiFi will attempt to 
initialize and run the Processor again after the 'Administrative Yield 
Duration' has elapsed. Failure is due to 
java.lang.reflect.InvocationTargetException: 
java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedMethodAccessor916.invoke(Unknown Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:142)
at 
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:130)
at 
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:75)
at 
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:52)
at 
org.apache.nifi.controller.StandardProcessorNode.lambda$initiateStart$4(StandardProcessorNode.java:1499)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: 
org.apache.nifi.attribute.expression.language.exception.AttributeExpressionLanguageException:
 Subject is empty
at 
org.apache.nifi.attribute.expression.language.evaluation.functions.JsonPathEvaluator.evaluate(JsonPathEvaluator.java:66)
at 
org.apache.nifi.attribute.expression.language.Query.evaluate(Query.java:315)
at 
org.apache.nifi.attribute.expression.language.Query.evaluateExpression(Query.java:203)
at 
org.apache.nifi.attribute.expression.language.CompiledExpression.evaluate(CompiledExpression.java:58)
at 
org.apache.nifi.attribute.expression.language.StandardPreparedQuery.evaluateExpressions(StandardPreparedQuery.java:51)
at 
org.apache.nifi.attribute.expression.language.StandardPropertyValue.evaluateAttributeExpressions(StandardPropertyValue.java:160)
at 
org.apache.nifi.attribute.expression.language.StandardPropertyValue.evaluateAttributeExpressions(StandardPropertyValue.java:148)
at 
org.apache.nifi.attribute.expression.language.StandardPropertyValue.evaluateAttributeExpressions(StandardPropertyValue.java:113)
at 
org.apache.nifi.processors.standard.QueryRecord.setupQueues(QueryRecord.java:443)
... 14 common frames omitted
```

 

  was:
(From email to the users list)

 
I'm hitting an issue using the "jsonPath" expression language function to 
extract a query to use with the QueryRecord processor. The processor works fine 
if the expression language subject is contained within the process group 
variable registry, but fails upon starting with an 

[jira] [Updated] (NIFI-5817) QueryRecord processor exception when using JsonPath expression language

2018-11-13 Thread Mandeep Gill (JIRA)


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

Mandeep Gill updated NIFI-5817:
---
Environment: Linux x64 (Fedora 29) with OpenJDK 8 (openjdk version 
"1.8.0_191")  (was: Linux x64 (Fedora 29) with OpenJSDK 8 (openjdk version 
"1.8.0_191"))

> QueryRecord processor exception when using JsonPath expression language 
> 
>
> Key: NIFI-5817
> URL: https://issues.apache.org/jira/browse/NIFI-5817
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.8.0
> Environment: Linux x64 (Fedora 29) with OpenJDK 8 (openjdk version 
> "1.8.0_191")
>Reporter: Mandeep Gill
>Priority: Major
> Attachments: QueryRecord_JsonPath_Issue.xml
>
>
> (From email to the users list)
>  
>  I'm hitting an issue using the "jsonPath" expression language function to 
> extract a query to use with the QueryRecord processor. The processor works 
> fine if the expression language subject is contained within the process group 
> variable registry, but fails upon starting with an 
> `AttributeExpressionLanguageException` if the subject was expected to to 
> exist within a flowfile attribute [1]
>   
>  I've attached a template generated on NiFi 1.8.0 demonstrating the problem - 
> it only appears to be an issue with dynamic outputs from the QueryRecord 
> processor, as the same expression language statement works fine when used as 
> part of UpdateAttribute processor with the subject in a flowfile attribute as 
> per the template. I've dug into the codebase and can trace the error to the 
> `evaluate` function within the `JsonPathEvaluator` class, which throws the 
> exception if the variable can not be referenced. I have a local fix at 
> [https://github.com/apache/nifi/compare/master...nstack:fix/jsonpath] that 
> returns `StringQueryResult("")` if the subject is empty instead of throwing 
> the exception and this appears to work.
>   
>  However I'm not sure if this is the correct fix as UpdateAttribute works, 
> perhaps the problem is instead in QueryRecord eagerly evaluating the queries 
> thus triggering the `evaluate` function.
>   
> [1] 2018-11-13 14:46:24,899 ERROR [Timer-Driven Process Thread-1] 
> o.a.nifi.processors.standard.QueryRecord 
> QueryRecord[id=0d5684e2-0167-1000-74c1-eb29a1401981] Failed to properly 
> initialize Processor. If still scheduled to run, NiFi will attempt to 
> initialize and run the Processor again after the 'Administrative Yield 
> Duration' has elapsed. Failure is due to 
> java.lang.reflect.InvocationTargetException: 
> java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException: null
> at sun.reflect.GeneratedMethodAccessor916.invoke(Unknown Source)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:142)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:130)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:75)
> at 
> org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:52)
> at 
> org.apache.nifi.controller.StandardProcessorNode.lambda$initiateStart$4(StandardProcessorNode.java:1499)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: 
> org.apache.nifi.attribute.expression.language.exception.AttributeExpressionLanguageException:
>  Subject is empty
> at 
> org.apache.nifi.attribute.expression.language.evaluation.functions.JsonPathEvaluator.evaluate(JsonPathEvaluator.java:66)
> at 
> org.apache.nifi.attribute.expression.language.Query.evaluate(Query.java:315)
> at 
> org.apache.nifi.attribute.expression.language.Query.evaluateExpression(Query.java:203)
> at 
> org.apache.nifi.attribute.expression.language.CompiledExpression.evaluate(CompiledExpression.java:58)
> at 
> org.apache.nifi.attribute.expression.language.StandardPreparedQuery.evaluateExpressions(StandardPreparedQuery.java:51)
> at 
> org.apache.nifi.attribute.expression.language.StandardPropertyValue.evaluateAttributeExpressions(StandardPropertyValue.java:160)
> at 
> 

[jira] [Updated] (NIFI-5817) JsonPath expression language exception with QueryRecord processor

2018-11-13 Thread Mandeep Gill (JIRA)


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

Mandeep Gill updated NIFI-5817:
---
Description: 
(From email to the users list)

 
 I'm hitting an issue using the "jsonPath" expression language function to 
extract a query to use with the QueryRecord processor. The processor works fine 
if the expression language subject is contained within the process group 
variable registry, but fails upon starting with an 
`AttributeExpressionLanguageException` if the subject was expected to to exist 
within a flowfile attribute [1]
  
 I've attached a template generated on NiFi 1.8.0 demonstrating the problem - 
it only appears to be an issue with dynamic outputs from the QueryRecord 
processor, as the same expression language statement works fine when used as 
part of UpdateAttribute processor with the subject in a flowfile attribute as 
per the template. I've dug into the codebase and can trace the error to the 
`evaluate` function within the `JsonPathEvaluator` class, which throws the 
exception if the variable can not be referenced. I have a local fix at 
[https://github.com/apache/nifi/compare/master...nstack:fix/jsonpath] that 
returns `StringQueryResult("")` if the subject is empty instead of throwing the 
exception and this appears to work.
  
 However I'm not sure if this is the correct fix as UpdateAttribute works, 
perhaps the problem is instead in QueryRecord eagerly evaluating the queries 
thus triggering the `evaluate` function.
  
[1] 2018-11-13 14:46:24,899 ERROR [Timer-Driven Process Thread-1] 
o.a.nifi.processors.standard.QueryRecord 
QueryRecord[id=0d5684e2-0167-1000-74c1-eb29a1401981] Failed to properly 
initialize Processor. If still scheduled to run, NiFi will attempt to 
initialize and run the Processor again after the 'Administrative Yield 
Duration' has elapsed. Failure is due to 
java.lang.reflect.InvocationTargetException: 
java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedMethodAccessor916.invoke(Unknown Source)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at 
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:142)
at 
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:130)
at 
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:75)
at 
org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:52)
at 
org.apache.nifi.controller.StandardProcessorNode.lambda$initiateStart$4(StandardProcessorNode.java:1499)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: 
org.apache.nifi.attribute.expression.language.exception.AttributeExpressionLanguageException:
 Subject is empty
at 
org.apache.nifi.attribute.expression.language.evaluation.functions.JsonPathEvaluator.evaluate(JsonPathEvaluator.java:66)
at org.apache.nifi.attribute.expression.language.Query.evaluate(Query.java:315)
at 
org.apache.nifi.attribute.expression.language.Query.evaluateExpression(Query.java:203)
at 
org.apache.nifi.attribute.expression.language.CompiledExpression.evaluate(CompiledExpression.java:58)
at 
org.apache.nifi.attribute.expression.language.StandardPreparedQuery.evaluateExpressions(StandardPreparedQuery.java:51)
at 
org.apache.nifi.attribute.expression.language.StandardPropertyValue.evaluateAttributeExpressions(StandardPropertyValue.java:160)
at 
org.apache.nifi.attribute.expression.language.StandardPropertyValue.evaluateAttributeExpressions(StandardPropertyValue.java:148)
at 
org.apache.nifi.attribute.expression.language.StandardPropertyValue.evaluateAttributeExpressions(StandardPropertyValue.java:113)
at 
org.apache.nifi.processors.standard.QueryRecord.setupQueues(QueryRecord.java:443)
... 14 common frames omitted

  was:
(From email to the users list)

 
 I'm hitting an issue using the "jsonPath" expression language function to 
extract a query to use with the QueryRecord processor. The processor works fine 
if the expression language subject is contained within the process group 
variable registry, but fails upon starting with an 
`AttributeExpressionLanguageException` if the subject was expected to to exist 
within a flowfile attribute [1]
  
 I've attached a template generated on NiFi 1.8.0 demonstrating the problem - 
it only appears to be an issue with 

[jira] [Created] (NIFI-5817) JsonPath expression language exception with QueryRecord processor

2018-11-13 Thread Mandeep Gill (JIRA)
Mandeep Gill created NIFI-5817:
--

 Summary: JsonPath expression language exception with QueryRecord 
processor
 Key: NIFI-5817
 URL: https://issues.apache.org/jira/browse/NIFI-5817
 Project: Apache NiFi
  Issue Type: Bug
  Components: Core Framework
Affects Versions: 1.8.0
 Environment: Linux (Fedora 29) with OpenJSDK 8 (openjdk version 
"1.8.0_191")
Reporter: Mandeep Gill
 Attachments: QueryRecord_JsonPath_Issue.xml

(From email to the users list)

 
I'm hitting an issue using the "jsonPath" expression language function to 
extract a query to use with the QueryRecord processor. The processor works fine 
if the expression language subject is contained within the process group 
variable registry, but fails upon starting with an 
`AttributeExpressionLanguageException` if the subject was expected to to exist 
within a flowfile attribute [1]
 
I've attached a template generated on NiFi 1.8.0 demonstrating the problem - it 
only appears to be an issue with dynamic outputs from the QueryRecord 
processors, as the same expression language statement works fine when used as 
part of UpdateAttribute processor with the subject in a flowfile attribute as 
per the template. I've dug into the codebase and can trace the error to the 
`evaluate` function within the `JsonPathEvaluator` class, which throws the 
exception if the variable can not be referenced. I have a local fix at 
[https://github.com/apache/nifi/compare/master...nstack:fix/jsonpath] that 
returns `StringQueryResult("")` if the subject is empty instead of throwing the 
exception and this appears to work.
 
However I'm not sure if this is the correct fix as UpdateAttribute works, 
perhaps the problem is instead in QueryRecord eagerly evaluating the queries 
thus triggering the `evaluate` function.
 



--
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-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5604:
--

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

https://github.com/apache/nifi/pull/3075#discussion_r233142376
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateTableFetch.java
 ---
@@ -434,48 +448,53 @@ public void onTrigger(final ProcessContext context, 
final ProcessSessionFactory
 numberOfFetches = (partitionSize == 0) ? 1 : (rowCount 
/ partitionSize) + (rowCount % partitionSize == 0 ? 0 : 1);
 }
 
-// Generate SQL statements to read "pages" of data
-Long limit = partitionSize == 0 ? null : (long) 
partitionSize;
-final String fragmentIdentifier = 
UUID.randomUUID().toString();
-for (long i = 0; i < numberOfFetches; i++) {
-// Add a right bounding for the partitioning column if 
necessary (only on last partition, meaning we don't need the limit)
-if ((i == numberOfFetches - 1) && 
useColumnValsForPaging && (maxValueClauses.isEmpty() || customWhereClause != 
null)) {
-maxValueClauses.add(columnForPartitioning + " <= " 
+ maxValueForPartitioning);
-limit = null;
-}
+// If there are no SQL statements to be generated, still 
output an empty flow file if specified by the user
+if (numberOfFetches == 0 && 
outputEmptyFlowFileOnZeroResults) {
+session.transfer((fileToProcess == null) ? 
session.create() : session.create(fileToProcess), REL_SUCCESS);
--- End diff --

Good call, will make the change.


> 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-11-13 Thread mattyb149
Github user mattyb149 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/3075#discussion_r233142376
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateTableFetch.java
 ---
@@ -434,48 +448,53 @@ public void onTrigger(final ProcessContext context, 
final ProcessSessionFactory
 numberOfFetches = (partitionSize == 0) ? 1 : (rowCount 
/ partitionSize) + (rowCount % partitionSize == 0 ? 0 : 1);
 }
 
-// Generate SQL statements to read "pages" of data
-Long limit = partitionSize == 0 ? null : (long) 
partitionSize;
-final String fragmentIdentifier = 
UUID.randomUUID().toString();
-for (long i = 0; i < numberOfFetches; i++) {
-// Add a right bounding for the partitioning column if 
necessary (only on last partition, meaning we don't need the limit)
-if ((i == numberOfFetches - 1) && 
useColumnValsForPaging && (maxValueClauses.isEmpty() || customWhereClause != 
null)) {
-maxValueClauses.add(columnForPartitioning + " <= " 
+ maxValueForPartitioning);
-limit = null;
-}
+// If there are no SQL statements to be generated, still 
output an empty flow file if specified by the user
+if (numberOfFetches == 0 && 
outputEmptyFlowFileOnZeroResults) {
+session.transfer((fileToProcess == null) ? 
session.create() : session.create(fileToProcess), REL_SUCCESS);
--- End diff --

Good call, will make the change.


---


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

2018-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5604:
--

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

https://github.com/apache/nifi/pull/3075#discussion_r233132498
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateTableFetch.java
 ---
@@ -434,48 +448,53 @@ public void onTrigger(final ProcessContext context, 
final ProcessSessionFactory
 numberOfFetches = (partitionSize == 0) ? 1 : (rowCount 
/ partitionSize) + (rowCount % partitionSize == 0 ? 0 : 1);
 }
 
-// Generate SQL statements to read "pages" of data
-Long limit = partitionSize == 0 ? null : (long) 
partitionSize;
-final String fragmentIdentifier = 
UUID.randomUUID().toString();
-for (long i = 0; i < numberOfFetches; i++) {
-// Add a right bounding for the partitioning column if 
necessary (only on last partition, meaning we don't need the limit)
-if ((i == numberOfFetches - 1) && 
useColumnValsForPaging && (maxValueClauses.isEmpty() || customWhereClause != 
null)) {
-maxValueClauses.add(columnForPartitioning + " <= " 
+ maxValueForPartitioning);
-limit = null;
-}
+// If there are no SQL statements to be generated, still 
output an empty flow file if specified by the user
+if (numberOfFetches == 0 && 
outputEmptyFlowFileOnZeroResults) {
+session.transfer((fileToProcess == null) ? 
session.create() : session.create(fileToProcess), REL_SUCCESS);
--- End diff --

@mattyb149 It's not just the `fragment` attributes, I think you should add 
all the standard attributes. Right now this Flowfile get's routed to success 
with no attributes at all.

I would suggest refactoring this to include all the standard attributes 
like `tablename`, `offset` etc... just like a real FlowFile would have. This 
will make it much easier for downstream processors to use this file like 
normal. I think the existing logic would cause `offset` to be `null`, which 
would make sense for this scenario too.


> 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-11-13 Thread patricker
Github user patricker commented on a diff in the pull request:

https://github.com/apache/nifi/pull/3075#discussion_r233132498
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateTableFetch.java
 ---
@@ -434,48 +448,53 @@ public void onTrigger(final ProcessContext context, 
final ProcessSessionFactory
 numberOfFetches = (partitionSize == 0) ? 1 : (rowCount 
/ partitionSize) + (rowCount % partitionSize == 0 ? 0 : 1);
 }
 
-// Generate SQL statements to read "pages" of data
-Long limit = partitionSize == 0 ? null : (long) 
partitionSize;
-final String fragmentIdentifier = 
UUID.randomUUID().toString();
-for (long i = 0; i < numberOfFetches; i++) {
-// Add a right bounding for the partitioning column if 
necessary (only on last partition, meaning we don't need the limit)
-if ((i == numberOfFetches - 1) && 
useColumnValsForPaging && (maxValueClauses.isEmpty() || customWhereClause != 
null)) {
-maxValueClauses.add(columnForPartitioning + " <= " 
+ maxValueForPartitioning);
-limit = null;
-}
+// If there are no SQL statements to be generated, still 
output an empty flow file if specified by the user
+if (numberOfFetches == 0 && 
outputEmptyFlowFileOnZeroResults) {
+session.transfer((fileToProcess == null) ? 
session.create() : session.create(fileToProcess), REL_SUCCESS);
--- End diff --

@mattyb149 It's not just the `fragment` attributes, I think you should add 
all the standard attributes. Right now this Flowfile get's routed to success 
with no attributes at all.

I would suggest refactoring this to include all the standard attributes 
like `tablename`, `offset` etc... just like a real FlowFile would have. This 
will make it much easier for downstream processors to use this file like 
normal. I think the existing logic would cause `offset` to be `null`, which 
would make sense for this scenario too.


---


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

2018-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5604:
--

Github user patricker commented on the issue:

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


> 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 issue #3075: NIFI-5604: Added property to allow empty FlowFile when no ...

2018-11-13 Thread patricker
Github user patricker commented on the issue:

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


---


[jira] [Commented] (MINIFICPP-648) add processor and add processor with linkage nomenclature is confusing

2018-11-13 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/MINIFICPP-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685438#comment-16685438
 ] 

ASF GitHub Bot commented on MINIFICPP-648:
--

Github user asfgit closed the pull request at:

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


> add processor and add processor with linkage nomenclature is confusing
> --
>
> Key: MINIFICPP-648
> URL: https://issues.apache.org/jira/browse/MINIFICPP-648
> Project: NiFi MiNiFi C++
>  Issue Type: Improvement
>Reporter: Mr TheSegfault
>Assignee: Arpad Boda
>Priority: Blocker
>  Labels: CAPI
> Fix For: 0.6.0
>
>
> add_processor should be changed to always add a processor with linkage 
> without compelling documentation as why this exists.. As a result we will 
> need to add a create_processor function to create one without adding it to 
> the flow ( certain use cases where a flow isn't needed such as invokehttp or 
> listenhttp ) this can be moved to 0.7.0 if we tag before recent commits. 



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


[GitHub] nifi-minifi-cpp pull request #432: MINIFICPP-648 - add processor and add pro...

2018-11-13 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[jira] [Created] (MINIFICPP-668) RPG does not correctly account for a non-port URI

2018-11-13 Thread Mr TheSegfault (JIRA)
Mr TheSegfault created MINIFICPP-668:


 Summary: RPG does not correctly account for a non-port URI
 Key: MINIFICPP-668
 URL: https://issues.apache.org/jira/browse/MINIFICPP-668
 Project: NiFi MiNiFi C++
  Issue Type: Improvement
Reporter: Mr TheSegfault
Assignee: Mr TheSegfault


The utility to parse URLs allows there to be no port set; however, the RPG code 
that does the peer lookup in the agent does not correctly deal with this 
scenario and injects a port "0" into the URL, which is invalid. 



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


[jira] [Commented] (NIFI-5149) GetSplunk Processor should have input flow, which is currently missing

2018-11-13 Thread JIRA


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

Ariën Vijn commented on NIFI-5149:
--

Just as [~bende] and 
[Mohammad|https://issues.apache.org/jira/secure/ViewProfile.jspa?name=seism] I 
would like to be able to dynamically generate the query-string. So be able to 
use Expression Language in the query field.

> GetSplunk Processor should have input flow, which is currently missing
> --
>
> Key: NIFI-5149
> URL: https://issues.apache.org/jira/browse/NIFI-5149
> Project: Apache NiFi
>  Issue Type: New Feature
>  Components: Core Framework
>Affects Versions: 1.6.0
>Reporter: Brajendra
>Priority: Critical
>  Labels: getSplunk
>
> Hi Team,
> We have found there is only 'GetSplunk' processor to connect and query to 
> Splunk in Apache NiFi.
> Hence, we this processor does not take any type or input.
>  
>  Do we have another type to Apache NiFi processor which can take parameters 
> as input (details of Splunk indexes, query, instance etc.) from other 
> processor?
> If not then please suggest when such type of processor can be expected in 
> upcoming release?
>  
> Environment: NiFi 1.5.0 and 1.6.0
>  Brajendra Mishra



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


[jira] [Commented] (NIFI-4130) TransformXml - provide a way to define XSLT without external files

2018-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-4130:
--

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

https://github.com/apache/nifi/pull/1953#discussion_r233019686
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TransformXml.java
 ---
@@ -82,12 +94,32 @@
 
 public static final PropertyDescriptor XSLT_FILE_NAME = new 
PropertyDescriptor.Builder()
 .name("XSLT file name")
-.description("Provides the name (including full path) of the 
XSLT file to apply to the flowfile XML content.")
-.required(true)
+.description("Provides the name (including full path) of the 
XSLT file to apply to the flowfile XML content."
++ "One of the XSLT file name and XSLT controller 
properties must be defined.")
+.required(false)
 
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
 .addValidator(StandardValidators.FILE_EXISTS_VALIDATOR)
 .build();
 
+public static final PropertyDescriptor XSLT_CONTROLLER = new 
PropertyDescriptor.Builder()
+.name("xslt-controller")
+.displayName("XSLT controller")
+.description("Controller used to store XSLT definitions. One 
of the XSLT file name and "
++ "XSLT controller properties must be defined.")
+.required(false)
+.identifiesControllerService(StringLookupService.class)
+.build();
+
+public static final PropertyDescriptor XSLT_CONTROLLER_KEY = new 
PropertyDescriptor.Builder()
+.name("xslt-controller-key")
+.displayName("XSLT controller key")
+.description("Key used to retrieve the XSLT definition from 
the XSLT controller. This property must be set when using "
++ "the XSLT controller property.")
+.required(false)
+
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
+.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
--- End diff --

since this property supports EL, shouldn't it be NON_EMPTY_**EL**_VALIDATOR?


> TransformXml - provide a way to define XSLT without external files
> --
>
> Key: NIFI-4130
> URL: https://issues.apache.org/jira/browse/NIFI-4130
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Pierre Villard
>Assignee: Pierre Villard
>Priority: Major
>
> In cluster deployments the need to reference external configuration files can 
> be annoying since it requires to access to all the NiFi nodes and to 
> correctly deploy the files. It would be interesting to leverage the lookup 
> controller services in TransformXml to provide a way to define XSLT directly 
> from the UI without external configuration files.



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


[jira] [Commented] (NIFI-4130) TransformXml - provide a way to define XSLT without external files

2018-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-4130:
--

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

https://github.com/apache/nifi/pull/1953#discussion_r233016908
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TransformXml.java
 ---
@@ -82,12 +94,32 @@
 
 public static final PropertyDescriptor XSLT_FILE_NAME = new 
PropertyDescriptor.Builder()
 .name("XSLT file name")
-.description("Provides the name (including full path) of the 
XSLT file to apply to the flowfile XML content.")
-.required(true)
+.description("Provides the name (including full path) of the 
XSLT file to apply to the flowfile XML content."
++ "One of the XSLT file name and XSLT controller 
properties must be defined.")
+.required(false)
 
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
 .addValidator(StandardValidators.FILE_EXISTS_VALIDATOR)
 .build();
 
+public static final PropertyDescriptor XSLT_CONTROLLER = new 
PropertyDescriptor.Builder()
+.name("xslt-controller")
+.displayName("XSLT controller")
--- End diff --

"XSLT Lookup" Would be more readable. 
Description: "Lookup controller used to store..."
And: XSLT_CONTROLLER_KEY: "XSLT Lookup Key" (description looks fine)


> TransformXml - provide a way to define XSLT without external files
> --
>
> Key: NIFI-4130
> URL: https://issues.apache.org/jira/browse/NIFI-4130
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Pierre Villard
>Assignee: Pierre Villard
>Priority: Major
>
> In cluster deployments the need to reference external configuration files can 
> be annoying since it requires to access to all the NiFi nodes and to 
> correctly deploy the files. It would be interesting to leverage the lookup 
> controller services in TransformXml to provide a way to define XSLT directly 
> from the UI without external configuration files.



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


[GitHub] nifi pull request #1953: NIFI-4130 Add lookup controller service in Transfor...

2018-11-13 Thread bdesert
Github user bdesert commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1953#discussion_r233016908
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TransformXml.java
 ---
@@ -82,12 +94,32 @@
 
 public static final PropertyDescriptor XSLT_FILE_NAME = new 
PropertyDescriptor.Builder()
 .name("XSLT file name")
-.description("Provides the name (including full path) of the 
XSLT file to apply to the flowfile XML content.")
-.required(true)
+.description("Provides the name (including full path) of the 
XSLT file to apply to the flowfile XML content."
++ "One of the XSLT file name and XSLT controller 
properties must be defined.")
+.required(false)
 
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
 .addValidator(StandardValidators.FILE_EXISTS_VALIDATOR)
 .build();
 
+public static final PropertyDescriptor XSLT_CONTROLLER = new 
PropertyDescriptor.Builder()
+.name("xslt-controller")
+.displayName("XSLT controller")
--- End diff --

"XSLT Lookup" Would be more readable. 
Description: "Lookup controller used to store..."
And: XSLT_CONTROLLER_KEY: "XSLT Lookup Key" (description looks fine)


---


[GitHub] nifi pull request #1953: NIFI-4130 Add lookup controller service in Transfor...

2018-11-13 Thread bdesert
Github user bdesert commented on a diff in the pull request:

https://github.com/apache/nifi/pull/1953#discussion_r233019686
  
--- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TransformXml.java
 ---
@@ -82,12 +94,32 @@
 
 public static final PropertyDescriptor XSLT_FILE_NAME = new 
PropertyDescriptor.Builder()
 .name("XSLT file name")
-.description("Provides the name (including full path) of the 
XSLT file to apply to the flowfile XML content.")
-.required(true)
+.description("Provides the name (including full path) of the 
XSLT file to apply to the flowfile XML content."
++ "One of the XSLT file name and XSLT controller 
properties must be defined.")
+.required(false)
 
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
 .addValidator(StandardValidators.FILE_EXISTS_VALIDATOR)
 .build();
 
+public static final PropertyDescriptor XSLT_CONTROLLER = new 
PropertyDescriptor.Builder()
+.name("xslt-controller")
+.displayName("XSLT controller")
+.description("Controller used to store XSLT definitions. One 
of the XSLT file name and "
++ "XSLT controller properties must be defined.")
+.required(false)
+.identifiesControllerService(StringLookupService.class)
+.build();
+
+public static final PropertyDescriptor XSLT_CONTROLLER_KEY = new 
PropertyDescriptor.Builder()
+.name("xslt-controller-key")
+.displayName("XSLT controller key")
+.description("Key used to retrieve the XSLT definition from 
the XSLT controller. This property must be set when using "
++ "the XSLT controller property.")
+.required(false)
+
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
+.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
--- End diff --

since this property supports EL, shouldn't it be NON_EMPTY_**EL**_VALIDATOR?


---


[jira] [Commented] (NIFI-5333) Create GetMongoRecord processor

2018-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5333:
--

Github user MikeThomsen commented on the issue:

https://github.com/apache/nifi/pull/3011
  
Thanks @zenfenan. Could you and/or @mattyb149 take a look at 4975 as well 
sometime? That's the GridFS support. Would really like to give NiFi the ability 
to work natively with that.


> Create GetMongoRecord processor
> ---
>
> Key: NIFI-5333
> URL: https://issues.apache.org/jira/browse/NIFI-5333
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Mike Thomsen
>Assignee: Mike Thomsen
>Priority: Major
>
> A processor similar to GetMongo that uses the record API should be created.



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


[GitHub] nifi issue #3011: NIFI-5333 Added GetMongoRecord.

2018-11-13 Thread MikeThomsen
Github user MikeThomsen commented on the issue:

https://github.com/apache/nifi/pull/3011
  
Thanks @zenfenan. Could you and/or @mattyb149 take a look at 4975 as well 
sometime? That's the GridFS support. Would really like to give NiFi the ability 
to work natively with that.


---


[jira] [Commented] (NIFI-5791) Add Apache Daffodil parse/unparse processor

2018-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5791:
--

Github user stevedlawrence commented on the issue:

https://github.com/apache/nifi/pull/3130
  
After some research and reading the [Avro 
specification](https://avro.apache.org/docs/1.8.1/spec.html) , I'd agree that 
the DFDL infoset does seem somewhat similar to a Record.

DFDL does support all the primitive types (null, boolean, int, long, float, 
double, bytes, string) and logical types (date, time, decimal), plus a few 
others (integer, byte, short, signed/unsigned) . But as far as complex types, 
it only really supports "records" and arrays. Below is the list of things in 
Avro that the DFDL infoset does not support:

* It sort of supports enums, but only in the sense that it can validate 
that a primitive type is one of the valid enum values via the xsd:restriction.
* Maps. In DFDL, a map would be implemented as a sequence of key/value 
pairs, so there wouldn't be any enforcement of unique keys.
* Unions. Each element in the infoset must have an explicit primitive type. 
Each element can be optional or nulled, but cannot be a union of multiple 
primitive types. In DFDL, that is handled by an xs:choice of two different 
elements with different types and some method (often a discriminator) to 
determine which branch of the choice.
* Namespaces are slightly different, but probably similar enough. DFDL uses 
XML namespacing.
* Aliases are not supported.
* Sort order. DFDL outputs infoset elements in the order in which they 
appear in schema.
* The DFDL infoset does not contain the schema. One must keep track of the 
associated schema outside of the data.
* The isn't really a concept of different serializations like Avro looks to 
have. Instead, the DFDL schema defines the physical data format via DFDL 
annotations, which are used to determine how to serialize/deserialize data. 
Theoretically, one could have different schemas with the same logical format 
but with with different DFDL annotations to describe physical formats, but that 
isn't a comment use case we've come across.

The Daffodil devs would be happen to discuss the possibility of integrating 
Daffodil/DFDL as an alternative to Avro. Not sure if any of the above 
limitations are blockers. The core of Avro and DFDL definitely do seem to have 
some overlap.



> Add Apache Daffodil parse/unparse processor
> ---
>
> Key: NIFI-5791
> URL: https://issues.apache.org/jira/browse/NIFI-5791
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Reporter: Steve Lawrence
>Priority: Major
>




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


[GitHub] nifi issue #3130: NIFI-5791: Add Apache Daffodil (incubating) bundle

2018-11-13 Thread stevedlawrence
Github user stevedlawrence commented on the issue:

https://github.com/apache/nifi/pull/3130
  
After some research and reading the [Avro 
specification](https://avro.apache.org/docs/1.8.1/spec.html) , I'd agree that 
the DFDL infoset does seem somewhat similar to a Record.

DFDL does support all the primitive types (null, boolean, int, long, float, 
double, bytes, string) and logical types (date, time, decimal), plus a few 
others (integer, byte, short, signed/unsigned) . But as far as complex types, 
it only really supports "records" and arrays. Below is the list of things in 
Avro that the DFDL infoset does not support:

* It sort of supports enums, but only in the sense that it can validate 
that a primitive type is one of the valid enum values via the xsd:restriction.
* Maps. In DFDL, a map would be implemented as a sequence of key/value 
pairs, so there wouldn't be any enforcement of unique keys.
* Unions. Each element in the infoset must have an explicit primitive type. 
Each element can be optional or nulled, but cannot be a union of multiple 
primitive types. In DFDL, that is handled by an xs:choice of two different 
elements with different types and some method (often a discriminator) to 
determine which branch of the choice.
* Namespaces are slightly different, but probably similar enough. DFDL uses 
XML namespacing.
* Aliases are not supported.
* Sort order. DFDL outputs infoset elements in the order in which they 
appear in schema.
* The DFDL infoset does not contain the schema. One must keep track of the 
associated schema outside of the data.
* The isn't really a concept of different serializations like Avro looks to 
have. Instead, the DFDL schema defines the physical data format via DFDL 
annotations, which are used to determine how to serialize/deserialize data. 
Theoretically, one could have different schemas with the same logical format 
but with with different DFDL annotations to describe physical formats, but that 
isn't a comment use case we've come across.

The Daffodil devs would be happen to discuss the possibility of integrating 
Daffodil/DFDL as an alternative to Avro. Not sure if any of the above 
limitations are blockers. The core of Avro and DFDL definitely do seem to have 
some overlap.



---


[jira] [Commented] (NIFIREG-188) Login by hitting Enter in the password field in web UI

2018-11-13 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/NIFIREG-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685163#comment-16685163
 ] 

ASF GitHub Bot commented on NIFIREG-188:


GitHub user kotarot opened a pull request:

https://github.com/apache/nifi-registry/pull/147

NIFIREG-188: Login by hitting Enter in the input fields in web UI

In this improvement, I appended the angular `keyup` event on the both input 
fields to achieve the feature. Could anyone review it please?

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

$ git pull https://github.com/kotarot/nifi-registry NIFIREG-188

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

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


commit f72f9dd8e0fafdb929b479041ad16833e378b0e9
Author: Kotaro Terada 
Date:   2018-11-13T12:16:37Z

NIFIREG-188: Login by hitting Enter in the input fields in web UI

NIFIREG-188: Fix the case 'keyUp' -> 'keyup'




> Login by hitting Enter in the password field in web UI
> --
>
> Key: NIFIREG-188
> URL: https://issues.apache.org/jira/browse/NIFIREG-188
> Project: NiFi Registry
>  Issue Type: Improvement
>Affects Versions: 0.1.0, 0.2.0
>Reporter: Julian Gimbel
>Priority: Minor
>
> While logging in to Nifi Registry it should be possible to hit enter in the 
> password field to login instead of using the mouse or tab on to the login 
> button.
> Unfortunately I am not experienced enough with angular to do it myself.
> It is not as simple as just adding a  tag around the dialog fields and 
> buttons.



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


[GitHub] nifi-registry pull request #147: NIFIREG-188: Login by hitting Enter in the ...

2018-11-13 Thread kotarot
GitHub user kotarot opened a pull request:

https://github.com/apache/nifi-registry/pull/147

NIFIREG-188: Login by hitting Enter in the input fields in web UI

In this improvement, I appended the angular `keyup` event on the both input 
fields to achieve the feature. Could anyone review it please?

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

$ git pull https://github.com/kotarot/nifi-registry NIFIREG-188

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

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


commit f72f9dd8e0fafdb929b479041ad16833e378b0e9
Author: Kotaro Terada 
Date:   2018-11-13T12:16:37Z

NIFIREG-188: Login by hitting Enter in the input fields in web UI

NIFIREG-188: Fix the case 'keyUp' -> 'keyup'




---


[jira] [Commented] (NIFI-5816) SFTP cannot connect due to JSch limitations

2018-11-13 Thread Joseph Witt (JIRA)


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

Joseph Witt commented on NIFI-5816:
---

SSHJ is ALv2 so that is good.  I've not confirmed whether it has any 
dependencies and if so what they're licensing is but this is a good start.

Such a switch would require a lot of testing/verification as the SFTP 
processors that depend on JSCH are extremely heavy use and for many years type 
processors.

> SFTP cannot connect due to JSch limitations
> ---
>
> Key: NIFI-5816
> URL: https://issues.apache.org/jira/browse/NIFI-5816
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.8.0
>Reporter: Laurenceau Julien
>Priority: Minor
>
> Hi,
> The JSch library used for SFTP does not support HostKeyAlgorithms=ed25519 
> whereas it is the current standard. This make SFTP / SSH unusable when 
> dealing with recent openssh config.
> On dbeaver project they switched to sshj.
> [https://github.com/dbeaver/dbeaver/issues/2202]
> [https://community.hortonworks.com/answers/226377/view.html]
>  
> https://stackoverflow.com/questions/2003419/com-jcraft-jsch-jschexception-unknownhostkey
> One more argument against JSch is that it does not support rsa key length 
> other than default (2048).
> ssh-keygen -o -t rsa -b 4096 -f id_rsa -> does not work with nifi
> ssh-keygen -t rsa -f id_rsa -> works with nifi
> Thanks and regards
> JL
> PS : sorry but I do not know nifi deep enough to fill all fields.
>  
>  



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


[jira] [Commented] (NIFIREG-188) Login by hitting Enter in the password field in web UI

2018-11-13 Thread Kotaro Terada (JIRA)


[ 
https://issues.apache.org/jira/browse/NIFIREG-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16685137#comment-16685137
 ] 

Kotaro Terada commented on NIFIREG-188:
---

I recently started using NiFi Registry, and encountered the same inconvenience. 
I will work on this issue. Could anyone assign this to me?

> Login by hitting Enter in the password field in web UI
> --
>
> Key: NIFIREG-188
> URL: https://issues.apache.org/jira/browse/NIFIREG-188
> Project: NiFi Registry
>  Issue Type: Improvement
>Affects Versions: 0.1.0, 0.2.0
>Reporter: Julian Gimbel
>Priority: Minor
>
> While logging in to Nifi Registry it should be possible to hit enter in the 
> password field to login instead of using the mouse or tab on to the login 
> button.
> Unfortunately I am not experienced enough with angular to do it myself.
> It is not as simple as just adding a  tag around the dialog fields and 
> buttons.



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


[jira] [Updated] (NIFI-5816) SFTP cannot connect due to JSch limitations

2018-11-13 Thread Laurenceau Julien (JIRA)


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

Laurenceau Julien updated NIFI-5816:

Description: 
Hi,

The JSch library used for SFTP does not support HostKeyAlgorithms=ed25519 
whereas it is the current standard. This make SFTP / SSH unusable when dealing 
with recent openssh config.

On dbeaver project they switched to sshj.

[https://github.com/dbeaver/dbeaver/issues/2202]

[https://community.hortonworks.com/answers/226377/view.html]

 
https://stackoverflow.com/questions/2003419/com-jcraft-jsch-jschexception-unknownhostkey

One more argument against JSch is that it does not support rsa key length other 
than default (2048).

ssh-keygen -o -t rsa -b 4096 -f id_rsa -> does not work with nifi

ssh-keygen -t rsa -f id_rsa -> works with nifi

Thanks and regards

JL

PS : sorry but I do not know nifi deep enough to fill all fields.

 

 

  was:
Hi,

The JSch library used for SFTP does not support HostKeyAlgorithms=ed25519 
whereas it is the current standard. This make SFTP / SSH unusable when dealing 
with recent openssh config.

On dbeaver project they switched to sshj.

[https://github.com/dbeaver/dbeaver/issues/2202]

[https://community.hortonworks.com/answers/226377/view.html]

 

One more argument against JSch is that it does not support rsa key length other 
than default (2048).

ssh-keygen -o -t rsa -b 4096 -f id_rsa -> does not work with nifi

ssh-keygen -t rsa -f id_rsa -> works with nifi

Thanks and regards

JL

PS : sorry but I do not know nifi deep enough to fill all fields.

 

 


> SFTP cannot connect due to JSch limitations
> ---
>
> Key: NIFI-5816
> URL: https://issues.apache.org/jira/browse/NIFI-5816
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.8.0
>Reporter: Laurenceau Julien
>Priority: Minor
>
> Hi,
> The JSch library used for SFTP does not support HostKeyAlgorithms=ed25519 
> whereas it is the current standard. This make SFTP / SSH unusable when 
> dealing with recent openssh config.
> On dbeaver project they switched to sshj.
> [https://github.com/dbeaver/dbeaver/issues/2202]
> [https://community.hortonworks.com/answers/226377/view.html]
>  
> https://stackoverflow.com/questions/2003419/com-jcraft-jsch-jschexception-unknownhostkey
> One more argument against JSch is that it does not support rsa key length 
> other than default (2048).
> ssh-keygen -o -t rsa -b 4096 -f id_rsa -> does not work with nifi
> ssh-keygen -t rsa -f id_rsa -> works with nifi
> Thanks and regards
> JL
> PS : sorry but I do not know nifi deep enough to fill all fields.
>  
>  



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


[jira] [Updated] (NIFI-5816) SFTP cannot connect due to JSch limitations

2018-11-13 Thread Laurenceau Julien (JIRA)


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

Laurenceau Julien updated NIFI-5816:

Description: 
Hi,

The JSch library used for SFTP does not support HostKeyAlgorithms=ed25519 
whereas it is the current standard. This make SFTP / SSH unusable when dealing 
with recent openssh config.

On dbeaver project they switched to sshj.

[https://github.com/dbeaver/dbeaver/issues/2202]

[https://community.hortonworks.com/answers/226377/view.html]

 

One more argument against JSch is that it does not support rsa key length other 
than default (2048).

ssh-keygen -o -t rsa -b 4096 -f id_rsa -> does not work with nifi

ssh-keygen -t rsa -f id_rsa -> works with nifi

Thanks and regards

JL

PS : sorry but I do not know nifi deep enough to fill all fields.

 

 

  was:
Hi,

The JSch library used for SFTP does not support HostKeyAlgorithms=ed25519 
whereas it is the current standard. This make SFTP / SSH unusable when dealing 
with recent openssh config.

On dbeaver project they switched to sshj.

https://github.com/dbeaver/dbeaver/issues/2202

[https://community.hortonworks.com/answers/226377/view.html]

Thanks and regards

JL

PS : sorry but I do not know nifi deep enough to fill all fields.

 

 

Summary: SFTP cannot connect due to JSch limitations  (was: SFTP cannot 
connect using ed25519-based key)

> SFTP cannot connect due to JSch limitations
> ---
>
> Key: NIFI-5816
> URL: https://issues.apache.org/jira/browse/NIFI-5816
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Affects Versions: 1.8.0
>Reporter: Laurenceau Julien
>Priority: Minor
>
> Hi,
> The JSch library used for SFTP does not support HostKeyAlgorithms=ed25519 
> whereas it is the current standard. This make SFTP / SSH unusable when 
> dealing with recent openssh config.
> On dbeaver project they switched to sshj.
> [https://github.com/dbeaver/dbeaver/issues/2202]
> [https://community.hortonworks.com/answers/226377/view.html]
>  
> One more argument against JSch is that it does not support rsa key length 
> other than default (2048).
> ssh-keygen -o -t rsa -b 4096 -f id_rsa -> does not work with nifi
> ssh-keygen -t rsa -f id_rsa -> works with nifi
> Thanks and regards
> JL
> PS : sorry but I do not know nifi deep enough to fill all fields.
>  
>  



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


[jira] [Commented] (NIFI-5815) PutORC processor "Restricted" still requires access to restricted components regardless of restriction

2018-11-13 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on NIFI-5815:
--

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

https://github.com/apache/nifi/pull/3169#discussion_r232937372
  
--- Diff: 
nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/src/main/java/org/apache/nifi/processors/orc/PutORC.java
 ---
@@ -63,7 +65,11 @@
 + "the path is the directory that contains this ORC file 
on HDFS. For example, this processor can send flow files downstream to 
ReplaceText to set the content "
 + "to this DDL (plus the LOCATION clause as described), 
then to PutHiveQL processor to create the table if it doesn't exist.")
 })
-@Restricted("Provides operator the ability to write to any file that NiFi 
has access to in HDFS or the local filesystem.")
+@Restricted(restrictions = {
+@Restriction(
+requiredPermission = RequiredPermission.WRITE_FILESYSTEM,
+explanation = "Provides operator the ability to delete any 
file that NiFi has access to in HDFS or the local filesystem.")
--- End diff --

copy/paste stupid error... thanks @ijokarumawak !


> PutORC processor "Restricted" still requires access to restricted components 
> regardless of restriction
> --
>
> Key: NIFI-5815
> URL: https://issues.apache.org/jira/browse/NIFI-5815
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 1.6.0, 1.7.0, 1.8.0, 1.7.1
>Reporter: Matthew Clarke
>Assignee: Pierre Villard
>Priority: Major
>
> When the new more granular policies were introduced for the "Access 
> Restricted Components" access policy, the PutORC processor was missed.  It 
> still requires that users have full access to all restricted components in 
> order to use this processor.  This has side affect of any user who needs to 
> use this components having access to all components in every sub policy of 
> restricted-components.



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


[GitHub] nifi pull request #3169: NIFI-5815 - PutORC processor 'Restricted' still req...

2018-11-13 Thread pvillard31
Github user pvillard31 commented on a diff in the pull request:

https://github.com/apache/nifi/pull/3169#discussion_r232937372
  
--- Diff: 
nifi-nar-bundles/nifi-hive-bundle/nifi-hive3-processors/src/main/java/org/apache/nifi/processors/orc/PutORC.java
 ---
@@ -63,7 +65,11 @@
 + "the path is the directory that contains this ORC file 
on HDFS. For example, this processor can send flow files downstream to 
ReplaceText to set the content "
 + "to this DDL (plus the LOCATION clause as described), 
then to PutHiveQL processor to create the table if it doesn't exist.")
 })
-@Restricted("Provides operator the ability to write to any file that NiFi 
has access to in HDFS or the local filesystem.")
+@Restricted(restrictions = {
+@Restriction(
+requiredPermission = RequiredPermission.WRITE_FILESYSTEM,
+explanation = "Provides operator the ability to delete any 
file that NiFi has access to in HDFS or the local filesystem.")
--- End diff --

copy/paste stupid error... thanks @ijokarumawak !


---