[jira] [Updated] (NIFI-12796) PutDatabaseRecord operation should support u/c/d for Debezium

2024-02-14 Thread Pierre Villard (Jira)


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

Pierre Villard updated NIFI-12796:
--
Status: Patch Available  (was: Open)

> PutDatabaseRecord operation should support u/c/d for Debezium
> -
>
> Key: NIFI-12796
> URL: https://issues.apache.org/jira/browse/NIFI-12796
> Project: Apache NiFi
>  Issue Type: Improvement
>  Components: Extensions
>Reporter: Pierre Villard
>Assignee: Pierre Villard
>Priority: Major
>
> Similar to NIFI-12344, PutDatabaseRecord operation path property should 
> support the values u/c/d for out of the box integration with Debezium events.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[PR] NIFI-12796 - PutDatabaseRecord statement type should support u/c/d for Debezium [nifi]

2024-02-14 Thread via GitHub


pvillard31 opened a new pull request, #8412:
URL: https://github.com/apache/nifi/pull/8412

   # Summary
   
   [NIFI-12796](https://issues.apache.org/jira/browse/NIFI-12796) - 
PutDatabaseRecord statement type should support u/c/d for Debezium
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [ ] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [ ] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-0`
   - [ ] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-0`
   
   ### Pull Request Formatting
   
   - [ ] Pull Request based on current revision of the `main` branch
   - [ ] Pull Request refers to a feature branch with one commit containing 
changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request 
creation.
   
   ### Build
   
   - [ ] Build completed using `mvn clean install -P contrib-check`
 - [ ] JDK 21
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Created] (NIFI-12796) PutDatabaseRecord operation should support u/c/d for Debezium

2024-02-14 Thread Pierre Villard (Jira)
Pierre Villard created NIFI-12796:
-

 Summary: PutDatabaseRecord operation should support u/c/d for 
Debezium
 Key: NIFI-12796
 URL: https://issues.apache.org/jira/browse/NIFI-12796
 Project: Apache NiFi
  Issue Type: Improvement
  Components: Extensions
Reporter: Pierre Villard
Assignee: Pierre Villard


Similar to NIFI-12344, PutDatabaseRecord operation path property should support 
the values u/c/d for out of the box integration with Debezium events.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] NIFI-12792 Deprecate nifi-spark-bundle components for removal [nifi]

2024-02-14 Thread via GitHub


exceptionfactory closed pull request #8408: NIFI-12792 Deprecate 
nifi-spark-bundle components for removal
URL: https://github.com/apache/nifi/pull/8408


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12770 Deprecate Ranger Authorizers for Removal [nifi]

2024-02-14 Thread via GitHub


exceptionfactory commented on PR #8387:
URL: https://github.com/apache/nifi/pull/8387#issuecomment-1945269328

   Merged in 
https://github.com/apache/nifi/commit/f9b89b7248d343e07cbe49108855cdd292080ee5


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12792 Deprecate nifi-spark-bundle components for removal [nifi]

2024-02-14 Thread via GitHub


exceptionfactory commented on PR #8408:
URL: https://github.com/apache/nifi/pull/8408#issuecomment-1945269646

   Merged in 
https://github.com/apache/nifi/commit/463e965f588ec405e1e9d49d5246f81b069a70e2


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12770 Deprecate Ranger Authorizers for Removal [nifi]

2024-02-14 Thread via GitHub


exceptionfactory closed pull request #8387: NIFI-12770 Deprecate Ranger 
Authorizers for Removal
URL: https://github.com/apache/nifi/pull/8387


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12792) Deprecate Spark Livy Components for Removal

2024-02-14 Thread Joe Witt (Jira)


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

Joe Witt updated NIFI-12792:

Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Deprecate Spark Livy Components for Removal
> ---
>
> Key: NIFI-12792
> URL: https://issues.apache.org/jira/browse/NIFI-12792
> Project: Apache NiFi
>  Issue Type: Task
>Reporter: David Handermann
>Assignee: David Handermann
>Priority: Major
> Fix For: 1.26.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The {{nifi-spark-bundle}} contains several components for interacting with 
> [Apache Livy|https://livy.apache.org/], which supports executing Spark jobs 
> over HTTP. The Apache Livy project has graduated from incubation after 
> several years and the NiFi Spark Livy components are not published as part of 
> standard binary builds. For these reasons, the components should be 
> deprecated on the support branch for subsequent removal from the main branch.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (NIFI-12770) Deprecate Apache Ranger Integration for Removal

2024-02-14 Thread Joe Witt (Jira)


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

Joe Witt updated NIFI-12770:

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

> Deprecate Apache Ranger Integration for Removal
> ---
>
> Key: NIFI-12770
> URL: https://issues.apache.org/jira/browse/NIFI-12770
> Project: Apache NiFi
>  Issue Type: Task
>Reporter: David Handermann
>Assignee: David Handermann
>Priority: Minor
> Fix For: 1.26.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Apache Ranger integration should be deprecated on the support branch for 
> subsequent removal on the main branch due to incompatibilities with Jetty 12 
> and related libraries. The Ranger plugins require Jetty 9, which was marked 
> as [End of Community 
> Support|https://github.com/jetty/jetty.project/issues/7958] in June 2022.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (NIFI-12793) Remove Spark Livy Components

2024-02-14 Thread Joe Witt (Jira)


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

Joe Witt updated NIFI-12793:

Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Remove Spark Livy Components
> 
>
> Key: NIFI-12793
> URL: https://issues.apache.org/jira/browse/NIFI-12793
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: David Handermann
>Assignee: David Handermann
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> The {{nifi-spark-bundle}} with associated components for interacting with 
> Spark using Apache Livy should be removed from the main branch as part of 
> maintenance efforts for NiFi 2.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (NIFI-12765) Nifi and nifi registry ranger audit is broken

2024-02-14 Thread Joe Witt (Jira)


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

Joe Witt resolved NIFI-12765.
-
Fix Version/s: 2.0.0
   Resolution: Fixed

> Nifi and nifi registry ranger audit is broken
> -
>
> Key: NIFI-12765
> URL: https://issues.apache.org/jira/browse/NIFI-12765
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 2.0.0-M2, 2.0.0
>Reporter: Zoltán Kornél Török
>Assignee: Zoltán Kornél Török
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> h3. Bug description
> Currently ranger plugins are not reporting audit events into ranger.
> h2. Investigation
> In the nifi log I found the following ("classic") NoClassDefFoundError:
> {code:java}
> ERROR org.apache.ranger.audit.destination.SolrAuditDestination: Can't connect 
> to Solr server. 
> ZooKeepers=cfm-oudjal-dd-master0.cfm-5pax.svbr-nqvp.int.cldr.work:2181/solr-infrajava.lang.NoClassDefFoundError:
>  org/eclipse/jetty/client/util/SPNEGOAuthentication
>   at 
> org.apache.ranger.audit.destination.SolrAuditDestination.connect(SolrAuditDestination.java:168)
>   at 
> org.apache.ranger.audit.destination.SolrAuditDestination.log(SolrAuditDestination.java:227)
>   at 
> org.apache.ranger.audit.queue.AuditBatchQueue.runLogAudit(AuditBatchQueue.java:309)
>   at 
> org.apache.ranger.audit.queue.AuditBatchQueue.run(AuditBatchQueue.java:215)
>   at java.base/java.lang.Thread.run(Thread.java:1583)
> Caused by: java.lang.ClassNotFoundException: 
> org.eclipse.jetty.client.util.SPNEGOAuthentication
>   at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
>   ... 5 common frames omitted {code}
> As you can see ranger-audit depends on solr client which depends on jetty 
> client.
> The problem is that solr client class use 
> org.eclipse.jetty.client.util.SPNEGOAuthentication - 
> [https://github.infra.cloudera.com/CDH/solr/blob/solr9-master/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java#L46]
> However in case jetty 12.x line, this class is moved to another package: 
> [https://github.com/jetty/jetty.project/commit/a1c5cefd0d5657df04e5364cca9315aa4e2a1aef]
>  
> So the problem exist, since jetty version upgraded to 12
> h2. Proposed solution
> Sadly there is no available solr client (or ranger client), which haven't had 
> this dependency. The only solution what I found (and propose in my pr) is to 
> override jetty version in case of ranger plugins to jetty line 11, where this 
> class is not moved. I tested it on my environment and the audit logging to 
> ranger worked well with that version.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (NIFI-12792) Deprecate Spark Livy Components for Removal

2024-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-12792:


Commit 463e965f588ec405e1e9d49d5246f81b069a70e2 in nifi's branch 
refs/heads/support/nifi-1.x from David Handermann
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=463e965f58 ]

NIFI-12792 Deprecated nifi-spark-bundle components for removal
This closes #8408

Signed-off-by: Joseph Witt 


> Deprecate Spark Livy Components for Removal
> ---
>
> Key: NIFI-12792
> URL: https://issues.apache.org/jira/browse/NIFI-12792
> Project: Apache NiFi
>  Issue Type: Task
>Reporter: David Handermann
>Assignee: David Handermann
>Priority: Major
> Fix For: 1.26.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The {{nifi-spark-bundle}} contains several components for interacting with 
> [Apache Livy|https://livy.apache.org/], which supports executing Spark jobs 
> over HTTP. The Apache Livy project has graduated from incubation after 
> several years and the NiFi Spark Livy components are not published as part of 
> standard binary builds. For these reasons, the components should be 
> deprecated on the support branch for subsequent removal from the main branch.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (NIFI-12770) Deprecate Apache Ranger Integration for Removal

2024-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-12770:


Commit f9b89b7248d343e07cbe49108855cdd292080ee5 in nifi's branch 
refs/heads/support/nifi-1.x from David Handermann
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=f9b89b7248 ]

NIFI-12770 Deprecated Ranger Authorizers for Removal
This closes #8387

Signed-off-by: Joseph Witt 


> Deprecate Apache Ranger Integration for Removal
> ---
>
> Key: NIFI-12770
> URL: https://issues.apache.org/jira/browse/NIFI-12770
> Project: Apache NiFi
>  Issue Type: Task
>Reporter: David Handermann
>Assignee: David Handermann
>Priority: Minor
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Apache Ranger integration should be deprecated on the support branch for 
> subsequent removal on the main branch due to incompatibilities with Jetty 12 
> and related libraries. The Ranger plugins require Jetty 9, which was marked 
> as [End of Community 
> Support|https://github.com/jetty/jetty.project/issues/7958] in June 2022.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (NIFI-12765) Nifi and nifi registry ranger audit is broken

2024-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-12765:


Commit 4d5f33804b4a0cc22e35cab8de5e2678271d7766 in nifi's branch 
refs/heads/main from David Handermann
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=4d5f33804b ]

NIFI-12765 Removed Apache Ranger modules
This closes #8389

- Removed nifi-ranger-bundle modules
- Removed nifi-registry-ranger modules

Signed-off-by: Joseph Witt 


> Nifi and nifi registry ranger audit is broken
> -
>
> Key: NIFI-12765
> URL: https://issues.apache.org/jira/browse/NIFI-12765
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 2.0.0-M2, 2.0.0
>Reporter: Zoltán Kornél Török
>Assignee: Zoltán Kornél Török
>Priority: Major
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> h3. Bug description
> Currently ranger plugins are not reporting audit events into ranger.
> h2. Investigation
> In the nifi log I found the following ("classic") NoClassDefFoundError:
> {code:java}
> ERROR org.apache.ranger.audit.destination.SolrAuditDestination: Can't connect 
> to Solr server. 
> ZooKeepers=cfm-oudjal-dd-master0.cfm-5pax.svbr-nqvp.int.cldr.work:2181/solr-infrajava.lang.NoClassDefFoundError:
>  org/eclipse/jetty/client/util/SPNEGOAuthentication
>   at 
> org.apache.ranger.audit.destination.SolrAuditDestination.connect(SolrAuditDestination.java:168)
>   at 
> org.apache.ranger.audit.destination.SolrAuditDestination.log(SolrAuditDestination.java:227)
>   at 
> org.apache.ranger.audit.queue.AuditBatchQueue.runLogAudit(AuditBatchQueue.java:309)
>   at 
> org.apache.ranger.audit.queue.AuditBatchQueue.run(AuditBatchQueue.java:215)
>   at java.base/java.lang.Thread.run(Thread.java:1583)
> Caused by: java.lang.ClassNotFoundException: 
> org.eclipse.jetty.client.util.SPNEGOAuthentication
>   at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
>   at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
>   ... 5 common frames omitted {code}
> As you can see ranger-audit depends on solr client which depends on jetty 
> client.
> The problem is that solr client class use 
> org.eclipse.jetty.client.util.SPNEGOAuthentication - 
> [https://github.infra.cloudera.com/CDH/solr/blob/solr9-master/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java#L46]
> However in case jetty 12.x line, this class is moved to another package: 
> [https://github.com/jetty/jetty.project/commit/a1c5cefd0d5657df04e5364cca9315aa4e2a1aef]
>  
> So the problem exist, since jetty version upgraded to 12
> h2. Proposed solution
> Sadly there is no available solr client (or ranger client), which haven't had 
> this dependency. The only solution what I found (and propose in my pr) is to 
> override jetty version in case of ranger plugins to jetty line 11, where this 
> class is not moved. I tested it on my environment and the audit logging to 
> ranger worked well with that version.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] NIFI-12765 Remove Apache Ranger modules [nifi]

2024-02-14 Thread via GitHub


asfgit closed pull request #8389: NIFI-12765 Remove Apache Ranger modules
URL: https://github.com/apache/nifi/pull/8389


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (NIFI-12793) Remove Spark Livy Components

2024-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-12793:


Commit fcaaa566e89ea52250e02fb0af1446aec27cc75d in nifi's branch 
refs/heads/main from David Handermann
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=fcaaa566e8 ]

NIFI-12793 Removed deprecated nifi-spark-bundle
This closes #8409

Signed-off-by: Joseph Witt 


> Remove Spark Livy Components
> 
>
> Key: NIFI-12793
> URL: https://issues.apache.org/jira/browse/NIFI-12793
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: David Handermann
>Assignee: David Handermann
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The {{nifi-spark-bundle}} with associated components for interacting with 
> Spark using Apache Livy should be removed from the main branch as part of 
> maintenance efforts for NiFi 2.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] NIFI-12793 Remove deprecated nifi-spark-bundle [nifi]

2024-02-14 Thread via GitHub


asfgit closed pull request #8409: NIFI-12793 Remove deprecated nifi-spark-bundle
URL: https://github.com/apache/nifi/pull/8409


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] [NIFI-12790] Migrate to Angular 17 [nifi]

2024-02-14 Thread via GitHub


joewitt commented on PR #8410:
URL: https://github.com/apache/nifi/pull/8410#issuecomment-1945110827

   built and used locally from a user (non dev) pov.  Works great.  Overall 
progress on the new UI is awesome


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12400) Remaining items to migrate UI to currently supported/active framework

2024-02-14 Thread Matt Gilman (Jira)


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

Matt Gilman updated NIFI-12400:
---
Description: 
The purpose of this Jira is to track all remaining items following the initial 
commit [1] for NIFI-11481. The description will be kept up to date with 
remaining features, tasks, and improvements. As each items is worked, a new sub 
task Jira will be created and referenced in this description.
 * Support Parameters in Properties with Allowable Values (NIFI-12401)
 * Summary (NIFI-12437)
 ** Remaining work not addressed in initial Jira:
 *** input ports (NIFI-12504)
 *** output ports (NIFI-12504)
 *** remote process groups (NIFI-12504)
 *** process groups (NIFI-12504)
 *** connections (NIFI-12504)
 *** System Diagnostics (NIFI-12505)
 *** support for cluster-specific ui elements (NIFI-12537)
 *** Add pagination (NIFI-12552)
 * Counters (NIFI-12415)
 * Bulletin Board (NIFI-12560)
 * Provenance (NIFI-12445)
 ** Event Listing (NIFI-12445)
 ** Search (NIFI-12445)
 ** Event Dialog (NIFI-12445)
 ** Lineage (NIFI-12485)
 ** Replay from context menu (NIFI-12445)

 * Configure Reporting Task (NIFI-12563)
 * Flow Analysis Rules (NIFI-12588)
 * Registry Clients (NIFI-12486)
 * Import from Registry (NIFI-12734)
 * Parameter Providers (NIFI-12622)
 ** Fetch parameters from provider, map to parameter context (dialog) - 
(NIFI-12665)
 * Cluster
 ** Status History - node specific values
 * Flow Configuration History (NIFI-12754)
 * Node Status History (NIFI-12553)
 * Status history for components from canvas context menu (NIFI-12553)
 * Users (NIFI-12543)
 * Policies (NIFI-12548)
 ** Overridden policy Empty or Copy (NIFI-12679)
 * Help (NIFI-12795)
 * About
 * Show Upstream/Downstream
 * Align
 * List Queue (NIFI-12589)
 * Empty [all] Queue (NIFI-12604)
 * View Content (NIFI-12589 and NIFI-12445)
 * View State (NIFI-12611)
 * Change Component Version
 * Consider PG permissions in Toolbox (NIFI-12683)
 * PG Version
 ** Start
 ** Commit
 ** Force Commit
 ** Show changes
 ** Revert changes
 ** Change Flow version
 ** Stop

 * Configure PG (NIFI-12417)
 * Process Group Services (NIFI-12425)
 ** Listing (NIFI-12425)
 ** Create (NIFI-12425)
 ** Configure (NIFI-12425)
 ** Delete (NIFI-12425)
 ** Enable (NIFI-12529)
 ** Disable (NIFI-12529)
 ** Improve layout and breadcrumbs
 ** Disable and Configure
 * Configure Processor
 ** Service Link (NIFI-12425)
 ** Create inline Service (NIFI-12425)
 ** Parameter Link (NIFI-12502)
 ** Convert to Parameter (NIFI-12502)
 ** Fix issue with Property Editor width (NIFI-12547)
 ** Stop and Configure
 ** Open Custom UI
 ** Property History
 ** Unable to re-add any removed Property (NIFI-12743)
 ** Shift-Enter new line when editing Property (NIFI-12743)
 * Property Verification
 * More Details (Processor, Controller Service, Reporting Task)

 * Download Flow
 * Create RPG (NIFI-12758)
 * Configure RPG (NIFI-12774)
 * RPG Remote Ports (NIFI-12778)
 * RPG Go To (NIFI-12759)
 * RPG Refresh (NIFI-12761)
 * Color
 * Move to Front
 * Copy/Paste
 * Add/Update Info Icons in dialogs throughout the application
 * Set viewport earlier when loading a Process Group (NIFI-12737)
 * Canvas global menu item should navigate user back to where they were on the 
canvas (NIFI-12737)
 * Better theme support (NIFI-12655)
 * Set up development/production environments files
 * Run unit tests are part of standard build
 * Update all API calls to consider disconnect node confirmation
 * Update API calls to use uiOnly flag
 * Use polling interval from API
 * Routing error handling
 * General API response error handling
 ** Management CS (NIFI-12663)
 ** Canvas CS (NIFI-12684)
 ** Remainder of Settings (NIFI-12723)
 ** Counters (NIFI-12723)
 ** Bulletins (NIFI-12723)
 ** Flow Designer
 ** Parameter Contexts
 ** Provenance (NIFI-12767)
 ** Queue Listing (NIFI-12742)
 ** Summary (NIFI-12742)
 ** Users (NIFI-12742)
 ** Policies
 ** Status History
 * Introduce header in new pages to unify with canvas and offer better 
navigation. (NIFI-12597)
 * Prompt user to save Parameter Context when Edit form is dirty
 * Upgrade to Angular 17 (NIFI-12790)
 * Start/Stop processors, process groups, ... (NIFI-12568)
 * Dialog vertical resizing on smaller screens do not allow users to access all 
fields (NIFI-12603)
 * Flow Analysis report menu
 * Migrate NiFi UI to nx

[1] [https://github.com/apache/nifi/pull/8053]

  was:
The purpose of this Jira is to track all remaining items following the initial 
commit [1] for NIFI-11481. The description will be kept up to date with 
remaining features, tasks, and improvements. As each items is worked, a new sub 
task Jira will be created and referenced in this description.
 * Support Parameters in Properties with Allowable Values (NIFI-12401)
 * Summary (NIFI-12437)
 ** Remaining work not addressed in initial Jira:
 *** input ports (NIFI-12504)
 *** output ports (NIFI-12504)
 *** remote process 

[jira] [Created] (NIFI-12795) Help Documentation

2024-02-14 Thread Matt Gilman (Jira)
Matt Gilman created NIFI-12795:
--

 Summary: Help Documentation
 Key: NIFI-12795
 URL: https://issues.apache.org/jira/browse/NIFI-12795
 Project: Apache NiFi
  Issue Type: Sub-task
  Components: Core UI
Reporter: Matt Gilman
Assignee: Matt Gilman


Add support to open the NiFi Help Docs in the new UI



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (NIFI-12783) Kafka Producer Processors do not route in failure queue on timeout

2024-02-14 Thread Paul Grey (Jira)


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

Paul Grey commented on NIFI-12783:
--

Thanks all.  Seems the consensus is to introduce a "Failure Strategy" that 
defaults to "context.yield()" (the current behavior).  No new relationship.


> Kafka Producer Processors do not route in failure queue on timeout
> --
>
> Key: NIFI-12783
> URL: https://issues.apache.org/jira/browse/NIFI-12783
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.23.2
>Reporter: Denis Jakupovic
>Priority: Major
>
> Hi,
> the Kafka producer processors do not route the FlowFiles on a timeout e.g. 
> into the failure connection. They are yielded in the incomming connection. 
> You can see the behaviour here e.g.:
> [https://stackoverflow.com/questions/71460008/apache-nifi-publishkafka-timeout-exception]
> I think this is a design flaw. I have a use case where messages should be 
> dropped after a specific configurable time. If the messages are yielded in 
> the incomming queue they are always published when the kafka broker are 
> available again. I know I can set the expiration time in secs or mins in the 
> incomming queue but it is not dynamically configurable because no attributes 
> are allowed. 
> Best
> Denis



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] NIFI-12788 Perform URL encoding on host returned from JettyServer Con… [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on code in PR #8404:
URL: https://github.com/apache/nifi/pull/8404#discussion_r1490107134


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java:
##
@@ -724,7 +726,7 @@ protected List getApplicationUrls() {
 final String scheme = sslConnectionFactory == null ? 
HTTP_SCHEME : HTTPS_SCHEME;
 final int port = serverConnector.getLocalPort();
 final String connectorHost = serverConnector.getHost();
-final String host = 
StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED);
+final String host = 
URLEncoder.encode(StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED), 
StandardCharsets.UTF_8);
 return URI.create(String.format(APPLICATION_URL_FORMAT, 
scheme, host, port));

Review Comment:
   Instead of using `URLEncoder` would using the seven argument constructor of 
`java.net.URI` be able to resolve to a URL?
   I was able to take the parts of the URL you listed in the ticket and 
instantiate the following
   `URI uri = new URI("https", null, "0:0:0:0:0:0:0:1%lo", 8443, "/nifi", null, 
null);`
   which looks like 
   `https://[0:0:0:0:0:0:0:1%lo]:8443/nifi`
   
   I am just unsure how `%lo` gets resolved.
   If that works I would suggest replacing lines 729-730 with
   
   ```
   final String host = StringUtils.defaultIfEmpty(connectorHost, 
HOST_UNSPECIFIED);
   return new URI(scheme, null, host, port, "/nifi", null, null);
   ```
   
   and get rid of `APPLICATION_URL_FORMAT` which is only used here.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12790) Upgrade to Angular 17

2024-02-14 Thread Rob Fellows (Jira)


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

Rob Fellows updated NIFI-12790:
---
Status: Patch Available  (was: In Progress)

> Upgrade to Angular 17
> -
>
> Key: NIFI-12790
> URL: https://issues.apache.org/jira/browse/NIFI-12790
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Rob Fellows
>Assignee: Rob Fellows
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (NIFI-12791) ParseDocument PDF - Missing pillow-heif dependency

2024-02-14 Thread Alex Ethier (Jira)


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

Alex Ethier updated NIFI-12791:
---
Status: Patch Available  (was: In Progress)

> ParseDocument PDF - Missing pillow-heif dependency
> --
>
> Key: NIFI-12791
> URL: https://issues.apache.org/jira/browse/NIFI-12791
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 2.0.0-M2
>Reporter: Alex Ethier
>Assignee: Alex Ethier
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Custom Python processor ParseDocument, when configured to parse PDFs, gives 
> an exception below due to a missing import.
> The error message `ModuleNotFoundError: No module named 'pillow_heif' 
> indicates that the latest version of the 'unstructured' dependency now 
> requires 'pillow_heif' to also be installed.
> Full Stacktrace:
> {code:java}
> py4j.Py4JException: An exception was raised by the Python Proxy. Return 
> Message: Traceback (most recent call last):
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/py4j/java_gateway.py", line 
> 2466, in _call_proxy
>     return_value = getattr(self.pool[obj_id], method)(*params)
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/api/nifiapi/flowfiletransform.py", 
> line 33, in transformFlowFile
>     return self.transform(self.process_context, flowfile)
>   File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
> 257, in transform
>     documents = self.create_docs(context, flowFile)
>   File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
> 225, in create_docs
>     documents = loader.load()
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/langchain_community/document_loaders/unstructured.py",
>  line 87, in load
>     elements = self._get_elements()
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/langchain_community/document_loaders/pdf.py",
>  line 57, in _get_elements
>     from unstructured.partition.pdf import partition_pdf
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/unstructured/partition/pdf.py",
>  line 38, in 
>     from pillow_heif import register_heif_opener
> ModuleNotFoundError: No module named 'pillow_heif'
>   at py4j.Protocol.getReturnValue(Protocol.java:476)
>   at 
> org.apache.nifi.py4j.client.PythonProxyInvocationHandler.invoke(PythonProxyInvocationHandler.java:64)
>   at 
> org.apache.nifi.py4j.client.NiFiPythonGateway$1.invoke(NiFiPythonGateway.java:148)
>   at jdk.proxy29/jdk.proxy29.$Proxy179.transformFlowFile(Unknown Source)
>   at 
> org.apache.nifi.python.processor.FlowFileTransformProxy.onTrigger(FlowFileTransformProxy.java:66)
>   at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
>   at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1274)
>   at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:244)
>   at 
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:102)
>   at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
>   at 
> java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>   at java.base/java.lang.Thread.run(Thread.java:1583) {code}
> Including 'pillow-heif' in the list of required dependencies for 
> ParseDocument fixes the issue (PR forthcoming).
> Another possible fix is locking the version numbers to prevent dependencies 
> from causing breaking updates.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[PR] NIFI-12791 Added pillow-heif dependency to ParseDocument. [nifi]

2024-02-14 Thread via GitHub


alexethier opened a new pull request, #8411:
URL: https://github.com/apache/nifi/pull/8411

   Added pillow-heif dependency to ParseDocument.
   Locked dependency versions for ParseDocument processor.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   # Summary
   
   [NIFI-12791](https://issues.apache.org/jira/browse/NIFI-12791)
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [ ] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [ ] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-0`
   - [ ] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-0`
   
   ### Pull Request Formatting
   
   - [ ] Pull Request based on current revision of the `main` branch
   - [ ] Pull Request refers to a feature branch with one commit containing 
changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request 
creation.
   
   ### Build
   
   - [ ] Build completed using `mvn clean install -P contrib-check`
 - [ ] JDK 21
   
   Got this error from main, unrelated to this PR: `Too many files with 
unapproved license: 2 See RAT report in: 
/Users/aethier/playground/the_source/nifi/target/rat.txt`
   Ran `mvn clean verify` instead.
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-11443 Route Python Framework Logging to SLF4J [nifi]

2024-02-14 Thread via GitHub


exceptionfactory commented on code in PR #8407:
URL: https://github.com/apache/nifi/pull/8407#discussion_r1490140332


##
nifi-nar-bundles/nifi-py4j-bundle/nifi-py4j-bridge/src/main/java/org/apache/nifi/py4j/PythonProcessLogReader.java:
##
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.py4j;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.Objects;
+
+/**
+ * Runnable Command for reading a line from Process Output Stream and writing 
to a Logger
+ */
+class PythonProcessLogReader implements Runnable {
+private static final int LOG_LEVEL_BEGIN_INDEX = 0;
+
+private static final int LOG_LEVEL_END_INDEX = 2;
+
+private static final int MESSAGE_BEGIN_INDEX = 3;
+
+private static final int MINIMUM_LINE_LENGTH = 4;
+
+private static final char NAME_MESSAGE_SEPARATOR = ':';
+
+private static final int INDEX_NOT_FOUND = -1;
+
+private final Logger processLogger = 
LoggerFactory.getLogger("org.apache.nifi.py4j.ProcessLog");
+
+private final BufferedReader processReader;
+
+PythonProcessLogReader(final BufferedReader processReader) {
+this.processReader = Objects.requireNonNull(processReader, "Reader 
required");
+}
+
+@Override
+public void run() {
+try {
+String line = processReader.readLine();
+while (line != null) {
+if (line.length() > MINIMUM_LINE_LENGTH) {
+processLine(line);
+}
+line = processReader.readLine();
+}
+} catch (final IOException e) {
+processLogger.error("Read Process output failed", e);

Review Comment:
   The logger name may help, but your suggestion is definitely clearer.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12789 - fix broken link in couchbase additional details [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on PR #8403:
URL: https://github.com/apache/nifi/pull/8403#issuecomment-1944763569

   @exceptionfactory Can you please restart the failed jobs? The changes look 
fine I would just like to approve once all the jobs are successful. Thanks!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12788 Perform URL encoding on host returned from JettyServer Con… [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on code in PR #8404:
URL: https://github.com/apache/nifi/pull/8404#discussion_r1490107134


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java:
##
@@ -724,7 +726,7 @@ protected List getApplicationUrls() {
 final String scheme = sslConnectionFactory == null ? 
HTTP_SCHEME : HTTPS_SCHEME;
 final int port = serverConnector.getLocalPort();
 final String connectorHost = serverConnector.getHost();
-final String host = 
StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED);
+final String host = 
URLEncoder.encode(StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED), 
StandardCharsets.UTF_8);
 return URI.create(String.format(APPLICATION_URL_FORMAT, 
scheme, host, port));

Review Comment:
   Instead of using `URLEncoder` would using the seven argument constructor of 
`java.net.URI` be able to resolve to a URL?
   I was able to take the parts of the URL you listed in the ticket and 
instantiate the following
   `URI uri = new URI("https", null, "0:0:0:0:0:0:0:1%lo", 8443, "/nifi", null, 
null);`
   which looks like 
   `https://[0:0:0:0:0:0:0:1%lo]:8443/nifi`
   
   I am just unsure how `%lo` gets resolved.
   If that works I would suggest replacing lines 729-730 with
   
   `return new URI(scheme, null, host, port, "/nifi", null, null);` 
   
   and get rid of `APPLICATION_URL_FORMAT` which is only used here.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12788 Perform URL encoding on host returned from JettyServer Con… [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on code in PR #8404:
URL: https://github.com/apache/nifi/pull/8404#discussion_r1490107134


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java:
##
@@ -724,7 +726,7 @@ protected List getApplicationUrls() {
 final String scheme = sslConnectionFactory == null ? 
HTTP_SCHEME : HTTPS_SCHEME;
 final int port = serverConnector.getLocalPort();
 final String connectorHost = serverConnector.getHost();
-final String host = 
StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED);
+final String host = 
URLEncoder.encode(StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED), 
StandardCharsets.UTF_8);
 return URI.create(String.format(APPLICATION_URL_FORMAT, 
scheme, host, port));

Review Comment:
   Instead of using `URLEncoder` would using the seven argument constructor of 
`java.net.URI` be able to resolve to a URL?
   I was able to take the parts of the URL you listed in the ticket and 
instantiate the following
   `URI uri = new URI("https", null, "0:0:0:0:0:0:0:1%lo", 8443, "/nifi", null, 
null);`
   which looks like 
   `https://[0:0:0:0:0:0:0:1%lo]:8443/nifi`
   
   I am just unsure how `%lo` gets resolved.
   If that works I would suggest to replace lines 729-730 with
   
   `return new URI(scheme, null, host, port, "/nifi", null, null);` 
   
   and get rid of `APPLICATION_URL_FORMAT` which is only used here.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12788 Perform URL encoding on host returned from JettyServer Con… [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on code in PR #8404:
URL: https://github.com/apache/nifi/pull/8404#discussion_r1490107134


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java:
##
@@ -724,7 +726,7 @@ protected List getApplicationUrls() {
 final String scheme = sslConnectionFactory == null ? 
HTTP_SCHEME : HTTPS_SCHEME;
 final int port = serverConnector.getLocalPort();
 final String connectorHost = serverConnector.getHost();
-final String host = 
StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED);
+final String host = 
URLEncoder.encode(StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED), 
StandardCharsets.UTF_8);
 return URI.create(String.format(APPLICATION_URL_FORMAT, 
scheme, host, port));

Review Comment:
   Instead of using `URLEncoder` would using the seven argument constructor of 
`java.net.URI` be able to resolve to a URL?
   I was able to take the parts of the URL you listed in the ticket and 
instantiate the following
   `URI uri = new URI("https", null, "0:0:0:0:0:0:0:1%lo", 8443, "/nifi", null, 
null);`
   which looks like 
   `https://[0:0:0:0:0:0:0:1%lo]:8443/nifi`
   
   I am just unsure how `%lo` gets resolved.
   If that works I would suggest to replace lines 729-730 with
   `return new URI(scheme, null, host, port, "/nifi", null, null);` 
   and get rid of `APPLICATION_URL_FORMAT` which is only used here.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12788 Perform URL encoding on host returned from JettyServer Con… [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on code in PR #8404:
URL: https://github.com/apache/nifi/pull/8404#discussion_r1490107134


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java:
##
@@ -724,7 +726,7 @@ protected List getApplicationUrls() {
 final String scheme = sslConnectionFactory == null ? 
HTTP_SCHEME : HTTPS_SCHEME;
 final int port = serverConnector.getLocalPort();
 final String connectorHost = serverConnector.getHost();
-final String host = 
StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED);
+final String host = 
URLEncoder.encode(StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED), 
StandardCharsets.UTF_8);
 return URI.create(String.format(APPLICATION_URL_FORMAT, 
scheme, host, port));

Review Comment:
   Instead of using `URLEncoder` would using the seven argument constructor of 
`java.net.URI` be able to resolve to a URL?
   I was able to take the parts of the URL you listed in the ticket and 
instantiate the following
   `URI uri = new URI("https", null, "0:0:0:0:0:0:0:1%lo", 8443, "/nifi", null, 
null);`
   which looks like 
   `https://[0:0:0:0:0:0:0:1%lo]:8443/nifi`
   
   I am just unsure how `%lo` gets resolved.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12788 Perform URL encoding on host returned from JettyServer Con… [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on code in PR #8404:
URL: https://github.com/apache/nifi/pull/8404#discussion_r1490107134


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java:
##
@@ -724,7 +726,7 @@ protected List getApplicationUrls() {
 final String scheme = sslConnectionFactory == null ? 
HTTP_SCHEME : HTTPS_SCHEME;
 final int port = serverConnector.getLocalPort();
 final String connectorHost = serverConnector.getHost();
-final String host = 
StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED);
+final String host = 
URLEncoder.encode(StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED), 
StandardCharsets.UTF_8);
 return URI.create(String.format(APPLICATION_URL_FORMAT, 
scheme, host, port));

Review Comment:
   Instead of using `URLEncoder` would using the seven argument constructor of 
`java.net.URI` be able to resolve to a URL?
   I was able to take the parts of the URL you listed in the ticket and 
instantiate the following in a unit test
   `URI uri = new URI("https", null, "0:0:0:0:0:0:0:1%lo", 8443, "/nifi", null, 
null);`
   which looks like 
   `https://[0:0:0:0:0:0:0:1%lo]:8443/nifi`
   
   I am just unsure how `%lo` gets resolved.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12788 Perform URL encoding on host returned from JettyServer Con… [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on code in PR #8404:
URL: https://github.com/apache/nifi/pull/8404#discussion_r1490107134


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-jetty/src/main/java/org/apache/nifi/web/server/JettyServer.java:
##
@@ -724,7 +726,7 @@ protected List getApplicationUrls() {
 final String scheme = sslConnectionFactory == null ? 
HTTP_SCHEME : HTTPS_SCHEME;
 final int port = serverConnector.getLocalPort();
 final String connectorHost = serverConnector.getHost();
-final String host = 
StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED);
+final String host = 
URLEncoder.encode(StringUtils.defaultIfEmpty(connectorHost, HOST_UNSPECIFIED), 
StandardCharsets.UTF_8);
 return URI.create(String.format(APPLICATION_URL_FORMAT, 
scheme, host, port));

Review Comment:
   Instead of using `URLEncoder` would using the seven argument constructor of 
`java.net.URI` be able to resolve to a URL?
   I was able to take the parts of the URL you listed in the ticket and 
instantiate the following in a unit test
   `URI uri = new URI("https", null, "0:0:0:0:0:0:0:1%lo", 8443, "/nifi", null, 
null);`
   
   I am just unsure how `%lo` gets resolved.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-11443 Route Python Framework Logging to SLF4J [nifi]

2024-02-14 Thread via GitHub


markap14 commented on code in PR #8407:
URL: https://github.com/apache/nifi/pull/8407#discussion_r1490101070


##
nifi-nar-bundles/nifi-py4j-bundle/nifi-py4j-bridge/src/test/java/org/apache/nifi/py4j/PythonProcessLogReaderTest.java:
##
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.py4j;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.MockedStatic;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.StringReader;
+
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mockStatic;
+import static org.mockito.Mockito.verify;
+
+@ExtendWith(MockitoExtension.class)
+class PythonProcessLogReaderTest {
+
+private static final String PROCESS_LOGGER = 
"org.apache.nifi.py4j.ProcessLog";
+
+private static final String CONTROLLER_LOGGER = 
"org.apache.nifi.py4j.Controller";
+
+private static final String LOG_MESSAGE = "Testing Python Processing";
+
+private static final String LINE_FORMAT = "%s %s:%s";
+
+private static final String LINE_UNFORMATTED = "Testing message without 
level or logger";
+
+private static final String LINE_MISSING_SEPARATOR = "%s 
%s".formatted(PythonProcessLogReader.LogLevel.INFO.getLevel(), LOG_MESSAGE);
+
+@Mock
+private Logger logger;
+
+@Test
+void testDebug() {
+runCommand(PythonProcessLogReader.LogLevel.DEBUG);
+
+verify(logger).debug(eq(LOG_MESSAGE));
+}
+
+@Test
+void testInfo() {
+runCommand(PythonProcessLogReader.LogLevel.INFO);
+
+verify(logger).info(eq(LOG_MESSAGE));
+}
+
+@Test
+void testWarning() {
+runCommand(PythonProcessLogReader.LogLevel.WARNING);
+
+verify(logger).warn(eq(LOG_MESSAGE));
+}
+
+@Test
+void testError() {
+runCommand(PythonProcessLogReader.LogLevel.ERROR);
+
+verify(logger).error(eq(LOG_MESSAGE));
+}
+
+@Test
+void testCritical() {
+runCommand(PythonProcessLogReader.LogLevel.CRITICAL);
+
+verify(logger).error(eq(LOG_MESSAGE));
+}
+
+@Test
+void testUnformatted() {
+try (MockedStatic loggerFactory = 
mockStatic(LoggerFactory.class)) {
+loggerFactory.when(() -> 
LoggerFactory.getLogger(eq(PROCESS_LOGGER))).thenReturn(logger);
+
+final BufferedReader reader = new BufferedReader(new 
StringReader(LINE_UNFORMATTED));
+final Runnable command = new PythonProcessLogReader(reader);
+command.run();
+}
+
+verify(logger).info(eq(LINE_UNFORMATTED));
+}
+
+@Test
+void testMissingSeparator() {

Review Comment:
   You mind adding a test for logging an empty string? I was wondering when 
reading the code above, if the `:` separator is the last character in the line, 
is that going to throw some sort of ArrayIndexOutOfBoundsException or something?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-11443 Route Python Framework Logging to SLF4J [nifi]

2024-02-14 Thread via GitHub


markap14 commented on code in PR #8407:
URL: https://github.com/apache/nifi/pull/8407#discussion_r1490098492


##
nifi-nar-bundles/nifi-py4j-bundle/nifi-py4j-bridge/src/main/java/org/apache/nifi/py4j/PythonProcessLogReader.java:
##
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.py4j;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.Objects;
+
+/**
+ * Runnable Command for reading a line from Process Output Stream and writing 
to a Logger
+ */
+class PythonProcessLogReader implements Runnable {
+private static final int LOG_LEVEL_BEGIN_INDEX = 0;
+
+private static final int LOG_LEVEL_END_INDEX = 2;
+
+private static final int MESSAGE_BEGIN_INDEX = 3;
+
+private static final int MINIMUM_LINE_LENGTH = 4;
+
+private static final char NAME_MESSAGE_SEPARATOR = ':';
+
+private static final int INDEX_NOT_FOUND = -1;
+
+private final Logger processLogger = 
LoggerFactory.getLogger("org.apache.nifi.py4j.ProcessLog");
+
+private final BufferedReader processReader;
+
+PythonProcessLogReader(final BufferedReader processReader) {
+this.processReader = Objects.requireNonNull(processReader, "Reader 
required");
+}
+
+@Override
+public void run() {
+try {
+String line = processReader.readLine();
+while (line != null) {
+if (line.length() > MINIMUM_LINE_LENGTH) {
+processLine(line);
+}
+line = processReader.readLine();
+}
+} catch (final IOException e) {
+processLogger.error("Read Process output failed", e);

Review Comment:
   The message here is quite vague; perhaps "Failed to read output of Python 
Process"?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12754) Flow Configuration History

2024-02-14 Thread Matt Gilman (Jira)


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

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

> Flow Configuration History
> --
>
> Key: NIFI-12754
> URL: https://issues.apache.org/jira/browse/NIFI-12754
> Project: Apache NiFi
>  Issue Type: Sub-task
>Reporter: Rob Fellows
>Assignee: Rob Fellows
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (NIFI-12754) Flow Configuration History

2024-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-12754:


Commit 2792aa7038c9b17828f096b758666d6e478dd0ed in nifi's branch 
refs/heads/main from Rob Fellows
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=2792aa7038 ]

[NIFI-12754] - Flow Configuration History (#8399)

* [NIFI-12754] - Flow Configuration History
* support selection
* support pagination
* support sorting
* added time controls, also updated provenance to use them too
* allow for clearing of filters
* use date range filter
* more details dialog for flow config history
* support purge history

* review feedback - use snackbar error where intended, add padding between 
header and page content

* don't use route for flow config history item selection

* Address review feedback

* remove unused style

* Review feedback * initial query is for the last 2 weeks * added timezone to 
purge confirmation message * reset pagination state on filter, clear filter, 
and purge * only resubmit query when filter by changes IF there is a filter 
term specified

This closes #8399 

> Flow Configuration History
> --
>
> Key: NIFI-12754
> URL: https://issues.apache.org/jira/browse/NIFI-12754
> Project: Apache NiFi
>  Issue Type: Sub-task
>Reporter: Rob Fellows
>Assignee: Rob Fellows
>Priority: Major
>  Time Spent: 2h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] [NIFI-12754] - Flow Configuration History [nifi]

2024-02-14 Thread via GitHub


mcgilman merged PR #8399:
URL: https://github.com/apache/nifi/pull/8399


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12793) Remove Spark Livy Components

2024-02-14 Thread David Handermann (Jira)


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

David Handermann updated NIFI-12793:

Status: Patch Available  (was: Open)

> Remove Spark Livy Components
> 
>
> Key: NIFI-12793
> URL: https://issues.apache.org/jira/browse/NIFI-12793
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: David Handermann
>Assignee: David Handermann
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The {{nifi-spark-bundle}} with associated components for interacting with 
> Spark using Apache Livy should be removed from the main branch as part of 
> maintenance efforts for NiFi 2.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[PR] NIFI-12793 Remove deprecated nifi-spark-bundle [nifi]

2024-02-14 Thread via GitHub


exceptionfactory opened a new pull request, #8409:
URL: https://github.com/apache/nifi/pull/8409

   # Summary
   
   [NIFI-12793](https://issues.apache.org/jira/browse/NIFI-12793) Removes the 
deprecated `nifi-spark-bundle` containing the `ExecuteSparkInteractive` and 
`LivySessionController` components.
   
   [NIFi-12792](https://issues.apache.org/jira/browse/NIFI-12792) Covers the 
related deprecation on the support branch.
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [X] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [X] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-0`
   - [X] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-0`
   
   ### Pull Request Formatting
   
   - [X] Pull Request based on current revision of the `main` branch
   - [X] Pull Request refers to a feature branch with one commit containing 
changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request 
creation.
   
   ### Build
   
   - [X] Build completed using `mvn clean install -P contrib-check`
 - [X] JDK 21
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12792) Deprecate Spark Livy Components for Removal

2024-02-14 Thread David Handermann (Jira)


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

David Handermann updated NIFI-12792:

Status: Patch Available  (was: Open)

> Deprecate Spark Livy Components for Removal
> ---
>
> Key: NIFI-12792
> URL: https://issues.apache.org/jira/browse/NIFI-12792
> Project: Apache NiFi
>  Issue Type: Task
>Reporter: David Handermann
>Assignee: David Handermann
>Priority: Major
> Fix For: 1.26.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> The {{nifi-spark-bundle}} contains several components for interacting with 
> [Apache Livy|https://livy.apache.org/], which supports executing Spark jobs 
> over HTTP. The Apache Livy project has graduated from incubation after 
> several years and the NiFi Spark Livy components are not published as part of 
> standard binary builds. For these reasons, the components should be 
> deprecated on the support branch for subsequent removal from the main branch.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[PR] NIFI-12792 Deprecate nifi-spark-bundle components for removal [nifi]

2024-02-14 Thread via GitHub


exceptionfactory opened a new pull request, #8408:
URL: https://github.com/apache/nifi/pull/8408

   # Summary
   
   [NIFI-12792](https://issues.apache.org/jira/browse/NIFI-12792) Deprecates 
`LivySessionController` and `ExecuteSparkInteractive` on the support branch for 
subsequent removal from the main branch for NiFi 2.0. The components interact 
with [Apache Livy](https://livy.apache.org/) REST API which has not graduated 
from incubation status and has not received significant updates for several 
years.
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [X] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [X] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-0`
   - [X] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-0`
   
   ### Pull Request Formatting
   
   - [X] Pull Request based on current revision of the `main` branch
   - [X] Pull Request refers to a feature branch with one commit containing 
changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request 
creation.
   
   ### Build
   
   - [ ] Build completed using `mvn clean install -P contrib-check`
 - [ ] JDK 21
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12725 Updated json-schema-validator to 1.3.2. [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on PR #8405:
URL: https://github.com/apache/nifi/pull/8405#issuecomment-1944589620

   @exceptionfactory I wasn't sure though would this affect anyone who already 
is using the 
[StandardJsonSchemaRegistry](https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-registry-nar/1.25.0/org.apache.nifi.schemaregistry.services.StandardJsonSchemaRegistry/index.html)
 as the registry does store `org.apache.nifi.json.schema.SchemaVersion` 
objects. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Created] (NIFI-12794) Multiple Python processors of same type duplicate pip installs and some get stuck

2024-02-14 Thread Alex Ethier (Jira)
Alex Ethier created NIFI-12794:
--

 Summary: Multiple Python processors of same type duplicate pip 
installs and some get stuck
 Key: NIFI-12794
 URL: https://issues.apache.org/jira/browse/NIFI-12794
 Project: Apache NiFi
  Issue Type: Bug
  Components: Extensions
Affects Versions: 2.0.0-M2
Reporter: Alex Ethier
Assignee: Alex Ethier
 Attachments: image-2024-02-14-15-50-09-193.png, 
many_python_processors.json

If multiple of the same Python custom processor are added at the same time (by 
importing a process group via json or starting a new NiFi instance with a 
flow.xml pre-loaded) then a new pip install command will be launched for every 
processor.

The attached file many_python_processors.json includes many copies of 
PromptChatGPT. If loaded on a NiFi instance which has not yet installed 
PromptChatGPT, then it will launch many pip installs.

 
{code:java}
$ ps aux | grep pip
aethier          29028  58.6  0.4 410770336 223936 s002  R     3:32PM   0:08.58 
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python
 -m pip install --no-cache-dir --target 
/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/PromptChatGPT/2.0.0-SNAPSHOT 
langchain==0.1.2 openai==1.9.0 jsonpath-ng
aethier          29020  56.8  0.5 410778528 234832 s002  R     3:32PM   0:09.35 
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python
 -m pip install --no-cache-dir --target 
/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/PromptChatGPT/2.0.0-SNAPSHOT 
langchain==0.1.2 openai==1.9.0 jsonpath-ng
aethier          29030  53.4  0.5 410787232 241664 s002  R     3:32PM   0:09.37 
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python
 -m pip install --no-cache-dir --target 
/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/PromptChatGPT/2.0.0-SNAPSHOT 
langchain==0.1.2 openai==1.9.0 jsonpath-ng{code}
This can slow down the installs due to competing for bandwidth.

 

The logs note conficting files on installation:
{code:java}
2024-02-14 15:33:24,194 INFO [NiFi logging handler] org.apache.nifi.StdOut 
Successfully installed PyYAML-6.0.1 SQLAlchemy-2.0.27 aiohttp-3.9.3 
aiosignal-1.3.1 annotated-types-0.6.0 anyio-4.2.0 async-timeout-4.0.3 
attrs-23.2.0 certifi-2024.2.2 charset-normalizer-3.3.2 dataclasses-json-0.6.4 
distro-1.9.0 exceptiongroup-1.2.0 frozenlist-1.4.1 h11-0.14.0 httpcore-1.0.3 
httpx-0.26.0 idna-3.6 jsonpatch-1.33 jsonpath-ng-1.6.1 jsonpointer-2.4 
langchain-0.1.2 langchain-community-0.0.18 langchain-core-0.1.19 
langsmith-0.0.83 marshmallow-3.20.2 multidict-6.0.5 mypy-extensions-1.0.0 
numpy-1.26.4 openai-1.9.0 packaging-23.2 ply-3.11 pydantic-2.6.1 
pydantic-core-2.16.2 requests-2.31.0 sniffio-1.3.0 tenacity-8.2.3 tqdm-4.66.2 
typing-extensions-4.9.0 typing-inspect-0.9.0 urllib3-2.2.0 yarl-1.9.4
2024-02-14 15:33:24,198 ERROR [NiFi logging handler] org.apache.nifi.StdErr 
WARNING: Target directory 
/opt/nifi-2.0.0-SNAPSHOT/work/python/extensions/PromptChatGPT/2.0.0-SNAPSHOT/ply-3.11.dist-info
 already exists. Specify --upgrade to force replacement.
2024-02-14 15:33:24,198 ERROR [NiFi logging handler] org.apache.nifi.StdErr 
WARNING: Target directory 
/opt/nifi-2.0.0-SNAPSHOT/work/python/extensions/PromptChatGPT/2.0.0-SNAPSHOT/async_timeout
 already exists. Specify --upgrade to force replacement. {code}
I haven't been able to consistently reproduce the issue, but I've also seen 
cases where one Python processor is usable and another of the same type is 
stuck initializing:

!image-2024-02-14-15-50-09-193.png|width=581,height=166!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (NIFI-12793) Remove Spark Livy Components

2024-02-14 Thread David Handermann (Jira)
David Handermann created NIFI-12793:
---

 Summary: Remove Spark Livy Components
 Key: NIFI-12793
 URL: https://issues.apache.org/jira/browse/NIFI-12793
 Project: Apache NiFi
  Issue Type: Improvement
Reporter: David Handermann
Assignee: David Handermann
 Fix For: 2.0.0


The {{nifi-spark-bundle}} with associated components for interacting with Spark 
using Apache Livy should be removed from the main branch as part of maintenance 
efforts for NiFi 2.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (NIFI-12792) Deprecate Spark Livy Components for Removal

2024-02-14 Thread David Handermann (Jira)
David Handermann created NIFI-12792:
---

 Summary: Deprecate Spark Livy Components for Removal
 Key: NIFI-12792
 URL: https://issues.apache.org/jira/browse/NIFI-12792
 Project: Apache NiFi
  Issue Type: Task
Reporter: David Handermann
Assignee: David Handermann
 Fix For: 1.26.0


The {{nifi-spark-bundle}} contains several components for interacting with 
[Apache Livy|https://livy.apache.org/], which supports executing Spark jobs 
over HTTP. The Apache Livy project has graduated from incubation after several 
years and the NiFi Spark Livy components are not published as part of standard 
binary builds. For these reasons, the components should be deprecated on the 
support branch for subsequent removal from the main branch.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] NIFI-12725 Updated json-schema-validator to 1.3.2. [nifi]

2024-02-14 Thread via GitHub


exceptionfactory commented on PR #8405:
URL: https://github.com/apache/nifi/pull/8405#issuecomment-1944572562

   > @exceptionfactory Can you please clarify what you mean by "breaking 
changes" in regards to the NIFI code? As far as I can see the NIFI code is not 
adding functionality, it merely is a pass through so the json-schema-validator 
API could be used.
   
   Sure, the breaking changes in `json-schema-validator` apply to other aspects 
of the library, not used in NiFi. Thankfully, it looks like the only issue is 
the Schema URI references, which now appear to be aligned with the URI values 
from [JSON Schema Specifications](https://json-schema.org/specification-links), 
which makes sense from an official alignment point of view.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-11443) Setup proper logging for Python framework

2024-02-14 Thread David Handermann (Jira)


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

David Handermann updated NIFI-11443:

Status: Patch Available  (was: Open)

> Setup proper logging for Python framework
> -
>
> Key: NIFI-11443
> URL: https://issues.apache.org/jira/browse/NIFI-11443
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core Framework
>Reporter: Mark Payne
>Assignee: David Handermann
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently the python framework establishes logging to logs/nifi-python.log 
> (directory configured in nifi.properties). But we need to establish proper 
> logging with log file rotation, etc.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[PR] NIFI-11443 Route Python Framework Logging to SLF4J [nifi]

2024-02-14 Thread via GitHub


exceptionfactory opened a new pull request, #8407:
URL: https://github.com/apache/nifi/pull/8407

   # Summary
   
   [NIFI-11443](https://issues.apache.org/jira/browse/NIFI-11443) Updates 
Python Process log handling to route messages to SLF4J so that logging levels 
and appenders can be managed using Logback.
   
   These changes remove the need for separate Python log settings in 
`nifi.properties` and support translating Python log levels and logger names to 
Logback.
   
   The implementation changes the Python logging format to use the Python 
[level numbers](https://docs.python.org/3/library/logging.html#levels) for 
optimized parsing. The implementation changes Python logging to write messages 
to the standard output stream, and the `PythonProcess` builder creates a Java 
Virtual Thread to read lines from the `BufferedReader` containing process 
output stream messages.
   
   These changes eliminate the dedicated `nifi-python.log` and enable Python 
logging to be handled along with other framework logging that defaults to the 
`nifi-app.log` file appender.
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [X] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [X] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-0`
   - [X] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-0`
   
   ### Pull Request Formatting
   
   - [X] Pull Request based on current revision of the `main` branch
   - [X] Pull Request refers to a feature branch with one commit containing 
changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request 
creation.
   
   ### Build
   
   - [X] Build completed using `mvn clean install -P contrib-check`
 - [X] JDK 21
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12725 Updated json-schema-validator to 1.3.2. [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on PR #8405:
URL: https://github.com/apache/nifi/pull/8405#issuecomment-1944540429

   @exceptionfactory Can you clarify what you mean by "breaking changes" in 
regards to the NIFI code? As far as I can see the NIFI code is not adding 
functionality it, merely a pass through so the json-schema-validator API could 
be used. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Assigned] (NIFI-11443) Setup proper logging for Python framework

2024-02-14 Thread David Handermann (Jira)


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

David Handermann reassigned NIFI-11443:
---

Assignee: David Handermann

> Setup proper logging for Python framework
> -
>
> Key: NIFI-11443
> URL: https://issues.apache.org/jira/browse/NIFI-11443
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core Framework
>Reporter: Mark Payne
>Assignee: David Handermann
>Priority: Major
>
> Currently the python framework establishes logging to logs/nifi-python.log 
> (directory configured in nifi.properties). But we need to establish proper 
> logging with log file rotation, etc.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (NIFI-12783) Kafka Producer Processors do not route in failure queue on timeout

2024-02-14 Thread Denis Jakupovic (Jira)


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

Denis Jakupovic commented on NIFI-12783:


[~pvillard] [~exceptionfactory] [~pgrey] 

Thank you so much! Best Denis

> Kafka Producer Processors do not route in failure queue on timeout
> --
>
> Key: NIFI-12783
> URL: https://issues.apache.org/jira/browse/NIFI-12783
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.23.2
>Reporter: Denis Jakupovic
>Priority: Major
>
> Hi,
> the Kafka producer processors do not route the FlowFiles on a timeout e.g. 
> into the failure connection. They are yielded in the incomming connection. 
> You can see the behaviour here e.g.:
> [https://stackoverflow.com/questions/71460008/apache-nifi-publishkafka-timeout-exception]
> I think this is a design flaw. I have a use case where messages should be 
> dropped after a specific configurable time. If the messages are yielded in 
> the incomming queue they are always published when the kafka broker are 
> available again. I know I can set the expiration time in secs or mins in the 
> incomming queue but it is not dynamically configurable because no attributes 
> are allowed. 
> Best
> Denis



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[PR] NIFI-12232: Ensured that if a Process Group doesn't have a Versioned … [nifi]

2024-02-14 Thread via GitHub


markap14 opened a new pull request, #8406:
URL: https://github.com/apache/nifi/pull/8406

   …Component ID we use the ComponentIdLookup to create one based on its 
Instance ID in the same way that is done when serializing the flow; this 
ensures matching ID's when we synchronize flows across the cluster. Also some 
code cleanup around failure handling on startup
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   # Summary
   
   [NIFI-0](https://issues.apache.org/jira/browse/NIFI-0)
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [ ] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [ ] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-0`
   - [ ] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-0`
   
   ### Pull Request Formatting
   
   - [ ] Pull Request based on current revision of the `main` branch
   - [ ] Pull Request refers to a feature branch with one commit containing 
changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request 
creation.
   
   ### Build
   
   - [ ] Build completed using `mvn clean install -P contrib-check`
 - [ ] JDK 21
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12791) ParseDocument PDF - Missing pillow-heif dependency

2024-02-14 Thread Alex Ethier (Jira)


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

Alex Ethier updated NIFI-12791:
---
Description: 
Custom Python processor ParseDocument, when configured to parse PDFs, gives an 
exception below due to a missing import.

The error message `ModuleNotFoundError: No module named 'pillow_heif' indicates 
that the latest version of the 'unstructured' dependency now requires 
'pillow_heif' to also be installed.

Full Stacktrace:
{code:java}
py4j.Py4JException: An exception was raised by the Python Proxy. Return 
Message: Traceback (most recent call last):
  File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/py4j/java_gateway.py", line 
2466, in _call_proxy
    return_value = getattr(self.pool[obj_id], method)(*params)
  File "/opt/nifi-2.0.0-SNAPSHOT/python/api/nifiapi/flowfiletransform.py", line 
33, in transformFlowFile
    return self.transform(self.process_context, flowfile)
  File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
257, in transform
    documents = self.create_docs(context, flowFile)
  File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
225, in create_docs
    documents = loader.load()
  File 
"/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/langchain_community/document_loaders/unstructured.py",
 line 87, in load
    elements = self._get_elements()
  File 
"/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/langchain_community/document_loaders/pdf.py",
 line 57, in _get_elements
    from unstructured.partition.pdf import partition_pdf
  File 
"/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/unstructured/partition/pdf.py",
 line 38, in 
    from pillow_heif import register_heif_opener
ModuleNotFoundError: No module named 'pillow_heif'


at py4j.Protocol.getReturnValue(Protocol.java:476)
at 
org.apache.nifi.py4j.client.PythonProxyInvocationHandler.invoke(PythonProxyInvocationHandler.java:64)
at 
org.apache.nifi.py4j.client.NiFiPythonGateway$1.invoke(NiFiPythonGateway.java:148)
at jdk.proxy29/jdk.proxy29.$Proxy179.transformFlowFile(Unknown Source)
at 
org.apache.nifi.python.processor.FlowFileTransformProxy.onTrigger(FlowFileTransformProxy.java:66)
at 
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
at 
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1274)
at 
org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:244)
at 
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:102)
at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at 
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583) {code}
Including 'pillow-heif' in the list of required dependencies for ParseDocument 
fixes the issue (PR forthcoming).

Another possible fix is locking the version numbers to prevent dependencies 
from causing breaking updates.

  was:
Custom Python processor ParseDocument, when configured to parse PDFs, gives an 
exception below due to a missing import.

The error message `ModuleNotFoundError: No module named 'pillow_heif' indicates 
that the latest version of unstructured dependency now requires 'pillow_heif' 
to be installed.

Full Stacktrace:
{code:java}
py4j.Py4JException: An exception was raised by the Python Proxy. Return 
Message: Traceback (most recent call last):
  File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/py4j/java_gateway.py", line 
2466, in _call_proxy
    return_value = getattr(self.pool[obj_id], method)(*params)
  File "/opt/nifi-2.0.0-SNAPSHOT/python/api/nifiapi/flowfiletransform.py", line 
33, in transformFlowFile
    return self.transform(self.process_context, flowfile)
  File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
257, in transform
    documents = self.create_docs(context, flowFile)
  File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
225, in create_docs
    documents = loader.load()
  File 
"/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/langchain_community/document_loaders/unstructured.py",
 line 87, in load
    elements = self._get_elements()
  File 

[jira] [Created] (NIFI-12791) ParseDocument PDF - Missing Pillow dependency

2024-02-14 Thread Alex Ethier (Jira)
Alex Ethier created NIFI-12791:
--

 Summary: ParseDocument PDF - Missing Pillow dependency
 Key: NIFI-12791
 URL: https://issues.apache.org/jira/browse/NIFI-12791
 Project: Apache NiFi
  Issue Type: Bug
  Components: Extensions
Affects Versions: 2.0.0-M2
Reporter: Alex Ethier
Assignee: Alex Ethier


Custom Python processor ParseDocument, when configured to parse PDFs, gives an 
exception below due to a missing import.

The error message `ModuleNotFoundError: No module named 'pillow_heif' indicates 
that the latest version of unstructured dependency now requires 'pillow_heif' 
to be installed.

Full Stacktrace:
{code:java}
py4j.Py4JException: An exception was raised by the Python Proxy. Return 
Message: Traceback (most recent call last):
  File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/py4j/java_gateway.py", line 
2466, in _call_proxy
    return_value = getattr(self.pool[obj_id], method)(*params)
  File "/opt/nifi-2.0.0-SNAPSHOT/python/api/nifiapi/flowfiletransform.py", line 
33, in transformFlowFile
    return self.transform(self.process_context, flowfile)
  File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
257, in transform
    documents = self.create_docs(context, flowFile)
  File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
225, in create_docs
    documents = loader.load()
  File 
"/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/langchain_community/document_loaders/unstructured.py",
 line 87, in load
    elements = self._get_elements()
  File 
"/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/langchain_community/document_loaders/pdf.py",
 line 57, in _get_elements
    from unstructured.partition.pdf import partition_pdf
  File 
"/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/unstructured/partition/pdf.py",
 line 38, in 
    from pillow_heif import register_heif_opener
ModuleNotFoundError: No module named 'pillow_heif'


at py4j.Protocol.getReturnValue(Protocol.java:476)
at 
org.apache.nifi.py4j.client.PythonProxyInvocationHandler.invoke(PythonProxyInvocationHandler.java:64)
at 
org.apache.nifi.py4j.client.NiFiPythonGateway$1.invoke(NiFiPythonGateway.java:148)
at jdk.proxy29/jdk.proxy29.$Proxy179.transformFlowFile(Unknown Source)
at 
org.apache.nifi.python.processor.FlowFileTransformProxy.onTrigger(FlowFileTransformProxy.java:66)
at 
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
at 
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1274)
at 
org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:244)
at 
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:102)
at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at 
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583) {code}
Including 'pillow-heif' in the list of required dependencies for ParseDocument 
fixes the issue (PR forthcoming).

Another possible fix is locking the version numbers to prevent dependencies 
from causing breaking updates.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (NIFI-12791) ParseDocument PDF - Missing pillow-heif dependency

2024-02-14 Thread Alex Ethier (Jira)


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

Alex Ethier updated NIFI-12791:
---
Summary: ParseDocument PDF - Missing pillow-heif dependency  (was: 
ParseDocument PDF - Missing Pillow dependency)

> ParseDocument PDF - Missing pillow-heif dependency
> --
>
> Key: NIFI-12791
> URL: https://issues.apache.org/jira/browse/NIFI-12791
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 2.0.0-M2
>Reporter: Alex Ethier
>Assignee: Alex Ethier
>Priority: Major
>
> Custom Python processor ParseDocument, when configured to parse PDFs, gives 
> an exception below due to a missing import.
> The error message `ModuleNotFoundError: No module named 'pillow_heif' 
> indicates that the latest version of unstructured dependency now requires 
> 'pillow_heif' to be installed.
> Full Stacktrace:
> {code:java}
> py4j.Py4JException: An exception was raised by the Python Proxy. Return 
> Message: Traceback (most recent call last):
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/py4j/java_gateway.py", line 
> 2466, in _call_proxy
>     return_value = getattr(self.pool[obj_id], method)(*params)
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/api/nifiapi/flowfiletransform.py", 
> line 33, in transformFlowFile
>     return self.transform(self.process_context, flowfile)
>   File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
> 257, in transform
>     documents = self.create_docs(context, flowFile)
>   File "/opt/nifi-2.0.0-SNAPSHOT/./python/extensions/ParseDocument.py", line 
> 225, in create_docs
>     documents = loader.load()
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/langchain_community/document_loaders/unstructured.py",
>  line 87, in load
>     elements = self._get_elements()
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/langchain_community/document_loaders/pdf.py",
>  line 57, in _get_elements
>     from unstructured.partition.pdf import partition_pdf
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/ParseDocument/2.0.0-SNAPSHOT/unstructured/partition/pdf.py",
>  line 38, in 
>     from pillow_heif import register_heif_opener
> ModuleNotFoundError: No module named 'pillow_heif'
>   at py4j.Protocol.getReturnValue(Protocol.java:476)
>   at 
> org.apache.nifi.py4j.client.PythonProxyInvocationHandler.invoke(PythonProxyInvocationHandler.java:64)
>   at 
> org.apache.nifi.py4j.client.NiFiPythonGateway$1.invoke(NiFiPythonGateway.java:148)
>   at jdk.proxy29/jdk.proxy29.$Proxy179.transformFlowFile(Unknown Source)
>   at 
> org.apache.nifi.python.processor.FlowFileTransformProxy.onTrigger(FlowFileTransformProxy.java:66)
>   at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
>   at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1274)
>   at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:244)
>   at 
> org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:102)
>   at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
>   at 
> java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>   at java.base/java.lang.Thread.run(Thread.java:1583) {code}
> Including 'pillow-heif' in the list of required dependencies for 
> ParseDocument fixes the issue (PR forthcoming).
> Another possible fix is locking the version numbers to prevent dependencies 
> from causing breaking updates.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (NIFI-12725) Update json-schema-validator to 1.3.2

2024-02-14 Thread Daniel Stieglitz (Jira)


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

Daniel Stieglitz updated NIFI-12725:

Summary: Update json-schema-validator to 1.3.2  (was: Update 
json-schema-validator to 1.3.0)

> Update json-schema-validator to 1.3.2
> -
>
> Key: NIFI-12725
> URL: https://issues.apache.org/jira/browse/NIFI-12725
> Project: Apache NiFi
>  Issue Type: Improvement
>Affects Versions: 2.0.0-M2
>Reporter: Mike R
>Assignee: Daniel Stieglitz
>Priority: Minor
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> Update json-schema-validator to 1.3.0



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] NIFI-12614: Create record reader service for Protobuf messages [nifi]

2024-02-14 Thread via GitHub


tpalfy commented on code in PR #8250:
URL: https://github.com/apache/nifi/pull/8250#discussion_r1487902665


##
nifi-nar-bundles/nifi-protobuf-bundle/nifi-protobuf-services/src/main/java/org/apache/nifi/services/protobuf/ProtobufReader.java:
##
@@ -0,0 +1,136 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.services.protobuf;
+
+import com.squareup.wire.schema.CoreLoaderKt;
+import com.squareup.wire.schema.Location;
+import com.squareup.wire.schema.Schema;
+import com.squareup.wire.schema.SchemaLoader;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.annotation.lifecycle.OnEnabled;
+import org.apache.nifi.components.AllowableValue;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.context.PropertyContext;
+import org.apache.nifi.controller.ConfigurationContext;
+import org.apache.nifi.expression.ExpressionLanguageScope;
+import org.apache.nifi.logging.ComponentLog;
+import org.apache.nifi.processor.util.StandardValidators;
+import org.apache.nifi.schema.access.SchemaAccessStrategy;
+import org.apache.nifi.schema.access.SchemaAccessUtils;
+import org.apache.nifi.schema.access.SchemaNotFoundException;
+import org.apache.nifi.schemaregistry.services.SchemaRegistry;
+import org.apache.nifi.serialization.RecordReader;
+import org.apache.nifi.serialization.RecordReaderFactory;
+import org.apache.nifi.serialization.SchemaRegistryService;
+import org.apache.nifi.services.protobuf.schema.ProtoSchemaStrategy;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.FileSystems;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Tags({"protobuf", "record", "reader", "parser"})
+@CapabilityDescription("Parses a Protocol Buffers message from binary format.")
+public class ProtobufReader extends SchemaRegistryService implements 
RecordReaderFactory {
+
+private static final String ANY_PROTO = "google/protobuf/any.proto";
+private static final String DURATION_PROTO = 
"google/protobuf/duration.proto";
+private static final String EMPTY_PROTO = "google/protobuf/empty.proto";
+private static final String STRUCT_PROTO = "google/protobuf/struct.proto";
+private static final String TIMESTAMP_PROTO = 
"google/protobuf/timestamp.proto";
+private static final String WRAPPERS_PROTO = 
"google/protobuf/wrappers.proto";
+
+private static final AllowableValue GENERATE_FROM_PROTO_FILE = new 
AllowableValue("generate-from-proto-file",
+"Generate from Proto file", "The record schema is generated from 
the provided proto file");
+
+private String message;
+private Schema protoSchema;
+
+public static final PropertyDescriptor PROTOBUF_DIRECTORY = new 
PropertyDescriptor.Builder()
+.name("Proto Directory")
+.displayName("Proto Directory")
+.description("Directory containing Protocol Buffers message 
definition (.proto) file(s).")
+.required(true)
+
.addValidator(StandardValidators.createDirectoryExistsValidator(true, false))
+.expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
+.build();
+
+public static final PropertyDescriptor MESSAGE_TYPE = new 
PropertyDescriptor.Builder()
+.name("Message Type")
+.displayName("Message Type")
+.description("Fully qualified name of the Protocol Buffers message 
type including its package (eg. mypackage.MyMessage). " +
+"The .proto files configured in '" + 
PROTOBUF_DIRECTORY.getDisplayName() + "' must contain the definition of this 
message type.")
+.required(true)
+.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+.expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
+.build();
+
+@Override
+protected List getSupportedPropertyDescriptors() {
+final List properties = new 
ArrayList<>(super.getSupportedPropertyDescriptors());
+properties.add(PROTOBUF_DIRECTORY);
+

Re: [PR] NIFI-12725 Updated json-schema-validator to 1.3.0. [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on PR #8405:
URL: https://github.com/apache/nifi/pull/8405#issuecomment-1944338373

   Yes I found the changes to the URI strings 
[here](https://github.com/networknt/json-schema-validator/blob/1.3.0/src/main/java/com/networknt/schema/SchemaId.java)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12725 Updated json-schema-validator to 1.3.0. [nifi]

2024-02-14 Thread via GitHub


exceptionfactory commented on PR #8405:
URL: https://github.com/apache/nifi/pull/8405#issuecomment-1944336571

   > > @dan-s1 Can you provide some additional background on the reason for 
this change based on the changes in the validator library? The adjusted URI 
values seem odd in light of the unchanged values for 2019-09 and 2020-12, which 
makes me think there was some unexpected change in the validator library that 
should be considered.
   > 
   > I had to make these changes based on your suggestions in [#8005 
(comment)](https://github.com/apache/nifi/pull/8005#discussion_r1389887565) Now 
that json-schema-validator changed some of the underlying URI strings that is 
why when Mike tried to upgrade there were issues as there were no matches for 
schemas 4, 6 and 7.
   
   For clarification, did you find the related changes in the 
json-schema-validator library that required the changes in NiFi? Recent 
versions included several other breaking changes, so this is something where it 
would be helpful to validate the changes in the library itself, as opposed to 
just making changes in NiFi immediately.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12725 Updated json-schema-validator to 1.3.0. [nifi]

2024-02-14 Thread via GitHub


dan-s1 commented on PR #8405:
URL: https://github.com/apache/nifi/pull/8405#issuecomment-1944328632

   > @dan-s1 Can you provide some additional background on the reason for this 
change based on the changes in the validator library? The adjusted URI values 
seem odd in light of the unchanged values for 2019-09 and 2020-12, which makes 
me think there was some unexpected change in the validator library that should 
be considered.
   
   I had to make these changes based on your suggestions in 
https://github.com/apache/nifi/pull/8005#discussion_r1389887565
   Now that json-schema-validator changed some of the underlying URI strings 
that is why when Mike tried to upgrade there were issues as there were no 
matches for schemas 4, 6 and 7. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12739 - Import ProcessPoolExecutor to fix bug in python 3.9+ [nifi]

2024-02-14 Thread via GitHub


markap14 commented on PR #8357:
URL: https://github.com/apache/nifi/pull/8357#issuecomment-1944326819

   Thanks for raising the issue and the fix @alexethier ! Looks good to me. +1 
merged to main


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (NIFI-12774) Configure RPG

2024-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-12774:


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

[NIFI-12774] configure RPG (#8398)

* [NIFI-12774] configure RPG

* address review feedback

* conditionally dispatch selectComponents action

This closes #8398 

> Configure RPG
> -
>
> Key: NIFI-12774
> URL: https://issues.apache.org/jira/browse/NIFI-12774
> Project: Apache NiFi
>  Issue Type: Sub-task
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
>  Time Spent: 50m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (NIFI-12774) Configure RPG

2024-02-14 Thread Matt Gilman (Jira)


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

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

> Configure RPG
> -
>
> Key: NIFI-12774
> URL: https://issues.apache.org/jira/browse/NIFI-12774
> Project: Apache NiFi
>  Issue Type: Sub-task
>Reporter: Scott Aslan
>Assignee: Scott Aslan
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] [NIFI-12774] configure RPG [nifi]

2024-02-14 Thread via GitHub


mcgilman merged PR #8398:
URL: https://github.com/apache/nifi/pull/8398


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (NIFI-12739) Python custom processor cannot import ProcessPoolExecutor

2024-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-12739:


Commit e03329e01f491b88f6f90e5285cb034e204d9363 in nifi's branch 
refs/heads/main from Alex Ethier
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=e03329e01f ]

NIFI-12739 - Import ProcessPoolExecutor to fix bug in python 3.9+ (#8357)

* NIFI-12739 Import ProcessPoolExecutor to fix bug in python 3.9+ that causes
Exceptions to be raised incorrectly in multi-threaded applications
(https://bugs.python.org/issue42647)

* Removed extraneous whitespace.

> Python custom processor cannot import ProcessPoolExecutor
> -
>
> Key: NIFI-12739
> URL: https://issues.apache.org/jira/browse/NIFI-12739
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 2.0.0-M2
>Reporter: Alex Ethier
>Assignee: Alex Ethier
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> A runtime exception is thrown when trying to import ProcessPoolExecutor in a 
> Python custom processor. This affects other libraries such as llama-index 
> when it tries to import ProcessPoolExecutor.
> My system's full stack trace (see below for a simpler stack trace):
> {code:java}
> py4j.Py4JException: An exception was raised by the Python Proxy. Return 
> Message: Traceback (most recent call last):
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/py4j/java_gateway.py", line 
> 2466, in _call_proxy
> return_value = getattr(self.pool[obj_id], method)(*params)
>^^^
>   File "/opt/nifi-2.0.0-SNAPSHOT/./python/framework/Controller.py", line 75, 
> in createProcessor
> processorClass = self.extensionManager.getProcessorClass(processorType, 
> version, work_dir)
>  
> ^
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/ExtensionManager.py", line 
> 104, in getProcessorClass
> processor_class = self.__load_extension_module(module_file, 
> details.local_dependencies)
>   
> ^
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/ExtensionManager.py", line 
> 360, in __load_extension_module
> module_spec.loader.exec_module(module)
>   File "", line 940, in exec_module
>   File "", line 241, in _call_with_frames_removed
>   File 
> "/Users/aethier/playground/the_source/datavolo/datavolo-resources/demo/advanced_rag_small_to_big/processors/RedisVectorStoreProcessor.py",
>  line 4, in 
> from llama_index import GPTVectorStoreIndex, StorageContext, 
> ServiceContext, Document
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/__init__.py",
>  line 24, in 
> from llama_index.indices import (
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/indices/__init__.py",
>  line 4, in 
> from llama_index.indices.composability.graph import ComposableGraph
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/indices/composability/__init__.py",
>  line 4, in 
> from llama_index.indices.composability.graph import ComposableGraph
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/indices/composability/graph.py",
>  line 7, in 
> from llama_index.indices.base import BaseIndex
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/indices/base.py",
>  line 10, in 
> from llama_index.ingestion import run_transformations
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/ingestion/__init__.py",
>  line 2, in 
> from llama_index.ingestion.pipeline import (
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/ingestion/pipeline.py",
>  line 5, in 
> from concurrent.futures import ProcessPoolExecutor
>   File "", line 1229, in _handle_fromlist
>   File 
> "/opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/__init__.py",
>  line 44, in __getattr__
> from .process import ProcessPoolExecutor as pe
>   File 
> "/opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py",
>  line 106, in 
> threading._register_atexit(_python_exit)
>   File 
> 

Re: [PR] MINIFICPP-2296 - Install service on macOS [nifi-minifi-cpp]

2024-02-14 Thread via GitHub


szaszm commented on code in PR #1726:
URL: https://github.com/apache/nifi-minifi-cpp/pull/1726#discussion_r1489830838


##
bin/minifi.sh:
##
@@ -94,39 +105,93 @@ uninstall() {
 systemctl daemon-reload
 }
 
-check_service_installed() {
+check_service_installed_linux() {
 if [ ! -f "/usr/local/lib/systemd/system/minifi.service" ]; then
 echo "MiNiFi is not installed as a service. Please run 'minifi.sh 
install' first."
 exit 1
 fi
 }
 
+install() {
+echo "Uninstalling any previous versions"
+uninstall
+
+detectOS
+if [ "${darwin}" = "true"  ]; then
+  install_macos
+else
+  install_linux
+fi
+}
+
+uninstall() {
+detectOS
+if [ "${darwin}" = "true"  ]; then
+  uninstall_macos
+else
+  uninstall_linux
+fi
+}
+
+check_service_installed() {
+detectOS
+if [ "${darwin}" = "true"  ]; then
+  check_service_installed_macos
+else
+  check_service_installed_linux
+fi
+}
+
+start_service() {
+check_service_installed
+if [ "${darwin}" = "true"  ]; then
+  launchctl start org.apache.nifi.minifi
+else
+  systemctl start minifi.service
+fi
+echo "MiNiFi started"
+}
+
+stop_service() {
+check_service_installed
+if [ "${darwin}" = "true"  ]; then
+  launchctl stop org.apache.nifi.minifi
+else
+  systemctl stop minifi.service
+fi
+echo "MiNiFi stopped"
+}
+
+status_service() {
+check_service_installed
+if [ "${darwin}" = "true"  ]; then
+  launchctl list | grep org.apache.nifi.minifi
+else
+  systemctl status minifi.service
+fi
+}
+
 case "$1" in
 start)
-  check_service_installed
-  systemctl start minifi.service
-  echo "MiNiFi started"
+  start_service
   ;;
 stop)
-  check_service_installed
-  systemctl stop minifi.service
-  echo "MiNiFi stopped"
+  stop_service
   ;;
 run)
   exec "${minifi_executable}"
   ;;
 status)
-  check_service_installed
-  systemctl status minifi.service
+  status_service
   ;;
 restart)
-  check_service_installed
-  systemctl restart minifi.service
+  stop_service
+  start_service

Review Comment:
   I'd prefer to keep this as a `systemctl restart` command on linux. I'd add a 
restart_service function, similar to the rest, that does `systemctl restart` on 
linux, and falls back to stop+start on other OSes.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12739) Python custom processor cannot import ProcessPoolExecutor

2024-02-14 Thread Mark Payne (Jira)


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

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

> Python custom processor cannot import ProcessPoolExecutor
> -
>
> Key: NIFI-12739
> URL: https://issues.apache.org/jira/browse/NIFI-12739
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 2.0.0-M2
>Reporter: Alex Ethier
>Assignee: Alex Ethier
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> A runtime exception is thrown when trying to import ProcessPoolExecutor in a 
> Python custom processor. This affects other libraries such as llama-index 
> when it tries to import ProcessPoolExecutor.
> My system's full stack trace (see below for a simpler stack trace):
> {code:java}
> py4j.Py4JException: An exception was raised by the Python Proxy. Return 
> Message: Traceback (most recent call last):
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/py4j/java_gateway.py", line 
> 2466, in _call_proxy
> return_value = getattr(self.pool[obj_id], method)(*params)
>^^^
>   File "/opt/nifi-2.0.0-SNAPSHOT/./python/framework/Controller.py", line 75, 
> in createProcessor
> processorClass = self.extensionManager.getProcessorClass(processorType, 
> version, work_dir)
>  
> ^
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/ExtensionManager.py", line 
> 104, in getProcessorClass
> processor_class = self.__load_extension_module(module_file, 
> details.local_dependencies)
>   
> ^
>   File "/opt/nifi-2.0.0-SNAPSHOT/python/framework/ExtensionManager.py", line 
> 360, in __load_extension_module
> module_spec.loader.exec_module(module)
>   File "", line 940, in exec_module
>   File "", line 241, in _call_with_frames_removed
>   File 
> "/Users/aethier/playground/the_source/datavolo/datavolo-resources/demo/advanced_rag_small_to_big/processors/RedisVectorStoreProcessor.py",
>  line 4, in 
> from llama_index import GPTVectorStoreIndex, StorageContext, 
> ServiceContext, Document
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/__init__.py",
>  line 24, in 
> from llama_index.indices import (
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/indices/__init__.py",
>  line 4, in 
> from llama_index.indices.composability.graph import ComposableGraph
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/indices/composability/__init__.py",
>  line 4, in 
> from llama_index.indices.composability.graph import ComposableGraph
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/indices/composability/graph.py",
>  line 7, in 
> from llama_index.indices.base import BaseIndex
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/indices/base.py",
>  line 10, in 
> from llama_index.ingestion import run_transformations
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/ingestion/__init__.py",
>  line 2, in 
> from llama_index.ingestion.pipeline import (
>   File 
> "/opt/nifi-2.0.0-SNAPSHOT/./work/python/extensions/RedisVectorStoreProcessor/2.0.0-M1/llama_index/ingestion/pipeline.py",
>  line 5, in 
> from concurrent.futures import ProcessPoolExecutor
>   File "", line 1229, in _handle_fromlist
>   File 
> "/opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/__init__.py",
>  line 44, in __getattr__
> from .process import ProcessPoolExecutor as pe
>   File 
> "/opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/process.py",
>  line 106, in 
> threading._register_atexit(_python_exit)
>   File 
> "/opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py",
>  line 1527, in _register_atexit
> raise RuntimeError("can't register atexit after shutdown")
> RuntimeError: can't register atexit after shutdown
>   at py4j.Protocol.getReturnValue(Protocol.java:476)
>   at 
> org.apache.nifi.py4j.client.PythonProxyInvocationHandler.invoke(PythonProxyInvocationHandler.java:64)
>   at 

Re: [PR] NIFI-12739 - Import ProcessPoolExecutor to fix bug in python 3.9+ [nifi]

2024-02-14 Thread via GitHub


markap14 merged PR #8357:
URL: https://github.com/apache/nifi/pull/8357


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12725 Updated json-schema-validator to 1.3.0. [nifi]

2024-02-14 Thread via GitHub


exceptionfactory commented on PR #8405:
URL: https://github.com/apache/nifi/pull/8405#issuecomment-1944290853

   The latest version of json-schema-validator is now 1.3.2, so recommend 
changing to that version as part of this upgrade.
   
   The following issue indicates some changes in the library for schema 
fragment handling, perhaps related, but it calls into question whether the 
reference URI values should be changed, or whether there is a better approach.
   
   https://github.com/networknt/json-schema-validator/pull/930


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12788) Failure to start when specifying network interfaces

2024-02-14 Thread Bryan Bende (Jira)


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

Bryan Bende updated NIFI-12788:
---
Status: Patch Available  (was: Open)

> Failure to start when specifying network interfaces
> ---
>
> Key: NIFI-12788
> URL: https://issues.apache.org/jira/browse/NIFI-12788
> Project: Apache NiFi
>  Issue Type: Bug
>Affects Versions: 2.0.0-M2
>Reporter: Bryan Bende
>Assignee: Bryan Bende
>Priority: Minor
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> If you configure a network interface in nifi.properties like:
> {code:java}
> nifi.web.https.network.interface.1=lo
> nifi.web.https.network.interface.0=en0 {code}
> It fails start up when trying to print the application URLs because the host 
> name from the Jetty Connector may include characters that are invalid to be 
> passed in to URI.create...
> {code:java}
> java.lang.IllegalArgumentException: Malformed escape pair at index 23: 
> https://0:0:0:0:0:0:0:1%lo:8443/nifi  
>  at java.base/java.net.URI.create(URI.java:932)   
>   
>at 
> org.apache.nifi.web.server.JettyServer.lambda$getApplicationUrls$11(JettyServer.java:728)
>{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[PR] NIFI-12725 Updated json-schema-validator to 1.3.0. [nifi]

2024-02-14 Thread via GitHub


dan-s1 opened a new pull request, #8405:
URL: https://github.com/apache/nifi/pull/8405

   With the upgrade in version the change in json-schema-validator of URIs for 
schemas Draft 4, Draft 6 and Draft 7 had to be taken into account.
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   # Summary
   
   [NIFI-12725](https://issues.apache.org/jira/browse/NIFI-12725)
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [ ] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [ ] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-0`
   - [ ] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-0`
   
   ### Pull Request Formatting
   
   - [ ] Pull Request based on current revision of the `main` branch
   - [ ] Pull Request refers to a feature branch with one commit containing 
changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request 
creation.
   
   ### Build
   
   - [ ] Build completed using `mvn clean install -P contrib-check`
 - [ ] JDK 21
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12400) Remaining items to migrate UI to currently supported/active framework

2024-02-14 Thread Rob Fellows (Jira)


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

Rob Fellows updated NIFI-12400:
---
Description: 
The purpose of this Jira is to track all remaining items following the initial 
commit [1] for NIFI-11481. The description will be kept up to date with 
remaining features, tasks, and improvements. As each items is worked, a new sub 
task Jira will be created and referenced in this description.
 * Support Parameters in Properties with Allowable Values (NIFI-12401)
 * Summary (NIFI-12437)
 ** Remaining work not addressed in initial Jira:
 *** input ports (NIFI-12504)
 *** output ports (NIFI-12504)
 *** remote process groups (NIFI-12504)
 *** process groups (NIFI-12504)
 *** connections (NIFI-12504)
 *** System Diagnostics (NIFI-12505)
 *** support for cluster-specific ui elements (NIFI-12537)
 *** Add pagination (NIFI-12552)
 * Counters (NIFI-12415)
 * Bulletin Board (NIFI-12560)
 * Provenance (NIFI-12445)
 ** Event Listing (NIFI-12445)
 ** Search (NIFI-12445)
 ** Event Dialog (NIFI-12445)
 ** Lineage (NIFI-12485)
 ** Replay from context menu (NIFI-12445)

 * Configure Reporting Task (NIFI-12563)
 * Flow Analysis Rules (NIFI-12588)
 * Registry Clients (NIFI-12486)
 * Import from Registry (NIFI-12734)
 * Parameter Providers (NIFI-12622)
 ** Fetch parameters from provider, map to parameter context (dialog) - 
(NIFI-12665)
 * Cluster
 ** Status History - node specific values
 * Flow Configuration History (NIFI-12754)
 * Node Status History (NIFI-12553)
 * Status history for components from canvas context menu (NIFI-12553)
 * Users (NIFI-12543)
 * Policies (NIFI-12548)
 ** Overridden policy Empty or Copy (NIFI-12679)
 * Help
 * About
 * Show Upstream/Downstream
 * Align
 * List Queue (NIFI-12589)
 * Empty [all] Queue (NIFI-12604)
 * View Content (NIFI-12589 and NIFI-12445)
 * View State (NIFI-12611)
 * Change Component Version
 * Consider PG permissions in Toolbox (NIFI-12683)
 * PG Version
 ** Start
 ** Commit
 ** Force Commit
 ** Show changes
 ** Revert changes
 ** Change Flow version
 ** Stop

 * Configure PG (NIFI-12417)
 * Process Group Services (NIFI-12425)
 ** Listing (NIFI-12425)
 ** Create (NIFI-12425)
 ** Configure (NIFI-12425)
 ** Delete (NIFI-12425)
 ** Enable (NIFI-12529)
 ** Disable (NIFI-12529)
 ** Improve layout and breadcrumbs
 ** Disable and Configure
 * Configure Processor
 ** Service Link (NIFI-12425)
 ** Create inline Service (NIFI-12425)
 ** Parameter Link (NIFI-12502)
 ** Convert to Parameter (NIFI-12502)
 ** Fix issue with Property Editor width (NIFI-12547)
 ** Stop and Configure
 ** Open Custom UI
 ** Property History
 ** Unable to re-add any removed Property (NIFI-12743)
 ** Shift-Enter new line when editing Property (NIFI-12743)
 * Property Verification
 * More Details (Processor, Controller Service, Reporting Task)

 * Download Flow
 * Create RPG (NIFI-12758)
 * Configure RPG (NIFI-12774)
 * RPG Remote Ports (NIFI-12778)
 * RPG Go To (NIFI-12759)
 * RPG Refresh (NIFI-12761)
 * Color
 * Move to Front
 * Copy/Paste
 * Add/Update Info Icons in dialogs throughout the application
 * Set viewport earlier when loading a Process Group (NIFI-12737)
 * Canvas global menu item should navigate user back to where they were on the 
canvas (NIFI-12737)
 * Better theme support (NIFI-12655)
 * Set up development/production environments files
 * Run unit tests are part of standard build
 * Update all API calls to consider disconnect node confirmation
 * Update API calls to use uiOnly flag
 * Use polling interval from API
 * Routing error handling
 * General API response error handling
 ** Management CS (NIFI-12663)
 ** Canvas CS (NIFI-12684)
 ** Remainder of Settings (NIFI-12723)
 ** Counters (NIFI-12723)
 ** Bulletins (NIFI-12723)
 ** Flow Designer
 ** Parameter Contexts
 ** Provenance (NIFI-12767)
 ** Queue Listing (NIFI-12742)
 ** Summary (NIFI-12742)
 ** Users (NIFI-12742)
 ** Policies
 ** Status History
 * Introduce header in new pages to unify with canvas and offer better 
navigation. (NIFI-12597)
 * Prompt user to save Parameter Context when Edit form is dirty
 * Upgrade to Angular 17 (NIFI-12790)
 * Start/Stop processors, process groups, ... (NIFI-12568)
 * Dialog vertical resizing on smaller screens do not allow users to access all 
fields (NIFI-12603)
 * Flow Analysis report menu
 * Migrate NiFi UI to nx

[1] [https://github.com/apache/nifi/pull/8053]

  was:
The purpose of this Jira is to track all remaining items following the initial 
commit [1] for NIFI-11481. The description will be kept up to date with 
remaining features, tasks, and improvements. As each items is worked, a new sub 
task Jira will be created and referenced in this description.
 * Support Parameters in Properties with Allowable Values (NIFI-12401)
 * Summary (NIFI-12437)
 ** Remaining work not addressed in initial Jira:
 *** input ports (NIFI-12504)
 *** output ports (NIFI-12504)
 *** remote process groups 

[jira] [Updated] (NIFI-12400) Remaining items to migrate UI to currently supported/active framework

2024-02-14 Thread Rob Fellows (Jira)


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

Rob Fellows updated NIFI-12400:
---
Description: 
The purpose of this Jira is to track all remaining items following the initial 
commit [1] for NIFI-11481. The description will be kept up to date with 
remaining features, tasks, and improvements. As each items is worked, a new sub 
task Jira will be created and referenced in this description.
 * Support Parameters in Properties with Allowable Values (NIFI-12401)
 * Summary (NIFI-12437)
 ** Remaining work not addressed in initial Jira:
 *** input ports (NIFI-12504)
 *** output ports (NIFI-12504)
 *** remote process groups (NIFI-12504)
 *** process groups (NIFI-12504)
 *** connections (NIFI-12504)
 *** System Diagnostics (NIFI-12505)
 *** support for cluster-specific ui elements (NIFI-12537)
 *** Add pagination (NIFI-12552)
 * Counters (NIFI-12415)
 * Bulletin Board (NIFI-12560)
 * Provenance (NIFI-12445)
 ** Event Listing (NIFI-12445)
 ** Search (NIFI-12445)
 ** Event Dialog (NIFI-12445)
 ** Lineage (NIFI-12485)
 ** Replay from context menu (NIFI-12445)

 * Configure Reporting Task (NIFI-12563)
 * Flow Analysis Rules (NIFI-12588)
 * Registry Clients (NIFI-12486)
 * Import from Registry (NIFI-12734)
 * Parameter Providers (NIFI-12622)
 ** Fetch parameters from provider, map to parameter context (dialog) - 
(NIFI-12665)
 * Cluster
 ** Status History - node specific values
 * Flow Configuration History (NIFI-12754)
 * Node Status History (NIFI-12553)
 * Status history for components from canvas context menu (NIFI-12553)
 * Users (NIFI-12543)
 * Policies (NIFI-12548)
 ** Overridden policy Empty or Copy (NIFI-12679)
 * Help
 * About
 * Show Upstream/Downstream
 * Align
 * List Queue (NIFI-12589)
 * Empty [all] Queue (NIFI-12604)
 * View Content (NIFI-12589 and NIFI-12445)
 * View State (NIFI-12611)
 * Change Component Version
 * Consider PG permissions in Toolbox (NIFI-12683)
 * PG Version
 ** Start
 ** Commit
 ** Force Commit
 ** Show changes
 ** Revert changes
 ** Change Flow version
 ** Stop

 * Configure PG (NIFI-12417)
 * Process Group Services (NIFI-12425)
 ** Listing (NIFI-12425)
 ** Create (NIFI-12425)
 ** Configure (NIFI-12425)
 ** Delete (NIFI-12425)
 ** Enable (NIFI-12529)
 ** Disable (NIFI-12529)
 ** Improve layout and breadcrumbs
 ** Disable and Configure
 * Configure Processor
 ** Service Link (NIFI-12425)
 ** Create inline Service (NIFI-12425)
 ** Parameter Link (NIFI-12502)
 ** Convert to Parameter (NIFI-12502)
 ** Fix issue with Property Editor width (NIFI-12547)
 ** Stop and Configure
 ** Open Custom UI
 ** Property History
 ** Unable to re-add any removed Property (NIFI-12743)
 ** Shift-Enter new line when editing Property (NIFI-12743)
 * Property Verification
 * More Details (Processor, Controller Service, Reporting Task)

 * Download Flow
 * Create RPG (NIFI-12758)
 * Configure RPG (NIFI-12774)
 * RPG Remote Ports (NIFI-12778)
 * RPG Go To (NIFI-12759)
 * RPG Refresh (NIFI-12761)
 * Color
 * Move to Front
 * Copy/Paste
 * Add/Update Info Icons in dialogs throughout the application
 * Set viewport earlier when loading a Process Group (NIFI-12737)
 * Canvas global menu item should navigate user back to where they were on the 
canvas (NIFI-12737)
 * Better theme support (NIFI-12655)
 * Set up development/production environments files
 * Run unit tests are part of standard build
 * Update all API calls to consider disconnect node confirmation
 * Update API calls to use uiOnly flag
 * Use polling interval from API
 * Routing error handling
 * General API response error handling
 ** Management CS (NIFI-12663)
 ** Canvas CS (NIFI-12684)
 ** Remainder of Settings (NIFI-12723)
 ** Counters (NIFI-12723)
 ** Bulletins (NIFI-12723)
 ** Flow Designer
 ** Parameter Contexts
 ** Provenance (NIFI-12767)
 ** Queue Listing (NIFI-12742)
 ** Summary (NIFI-12742)
 ** Users (NIFI-12742)
 ** Policies
 ** Status History
 * Introduce header in new pages to unify with canvas and offer better 
navigation. (NIFI-12597)
 * Prompt user to save Parameter Context when Edit form is dirty
 * Upgrade to Angular 17 (NIFI-12790)
 * Start/Stop processors, process groups, ... (NIFI-12568)
 * Dialog vertical resizing on smaller screens do not allow users to access all 
fields (NIFI-12603)
 * Flow Analysis report menu

[1] [https://github.com/apache/nifi/pull/8053]

  was:
The purpose of this Jira is to track all remaining items following the initial 
commit [1] for NIFI-11481. The description will be kept up to date with 
remaining features, tasks, and improvements. As each items is worked, a new sub 
task Jira will be created and referenced in this description.
 * Support Parameters in Properties with Allowable Values (NIFI-12401)
 * Summary (NIFI-12437)
 ** Remaining work not addressed in initial Jira:
 *** input ports (NIFI-12504)
 *** output ports (NIFI-12504)
 *** remote process groups (NIFI-12504)
 *** process 

[jira] [Created] (NIFI-12790) Upgrade to Angular 17

2024-02-14 Thread Rob Fellows (Jira)
Rob Fellows created NIFI-12790:
--

 Summary: Upgrade to Angular 17
 Key: NIFI-12790
 URL: https://issues.apache.org/jira/browse/NIFI-12790
 Project: Apache NiFi
  Issue Type: Sub-task
  Components: Core UI
Reporter: Rob Fellows
Assignee: Rob Fellows






--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[PR] NIFI-12788 Perform URL encoding on host returned from JettyServer Con… [nifi]

2024-02-14 Thread via GitHub


bbende opened a new pull request, #8404:
URL: https://github.com/apache/nifi/pull/8404

   …nector
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   # Summary
   
   [NIFI-12788](https://issues.apache.org/jira/browse/NIFI-12788)
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [X] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [X] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-0`
   - [X] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-0`
   
   ### Pull Request Formatting
   
   - [X] Pull Request based on current revision of the `main` branch
   - [X] Pull Request refers to a feature branch with one commit containing 
changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request 
creation.
   
   ### Build
   
   - [X] Build completed using `mvn clean install -P contrib-check`
 - [X] JDK 21
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12226: Add flag to skip doc generation [nifi-maven]

2024-02-14 Thread via GitHub


lhotari commented on PR #35:
URL: https://github.com/apache/nifi-maven/pull/35#issuecomment-1944190302

   It would be nice to have a release where this is included. It would help the 
Apache Pulsar build too.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[PR] NIFI-12789 - fix broken link in couchbase additional details [nifi]

2024-02-14 Thread via GitHub


pvillard31 opened a new pull request, #8403:
URL: https://github.com/apache/nifi/pull/8403

   # Summary
   
   [NIFI-12789](https://issues.apache.org/jira/browse/NIFI-12789) - fix broken 
link in couchbase additional details
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [ ] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [ ] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-0`
   - [ ] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-0`
   
   ### Pull Request Formatting
   
   - [ ] Pull Request based on current revision of the `main` branch
   - [ ] Pull Request refers to a feature branch with one commit containing 
changes
   
   # Verification
   
   Please indicate the verification steps performed prior to pull request 
creation.
   
   ### Build
   
   - [ ] Build completed using `mvn clean install -P contrib-check`
 - [ ] JDK 21
   
   ### Licensing
   
   - [ ] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12789) Fix broken link in Couchbase additional details

2024-02-14 Thread Pierre Villard (Jira)


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

Pierre Villard updated NIFI-12789:
--
Status: Patch Available  (was: Open)

> Fix broken link in Couchbase additional details
> ---
>
> Key: NIFI-12789
> URL: https://issues.apache.org/jira/browse/NIFI-12789
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Documentation  Website
>Reporter: Pierre Villard
>Assignee: Pierre Villard
>Priority: Major
>
> Current link:
> [https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/createprimaryindex.html]
> Should be:
> [https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/createprimaryindex.html]
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (NIFI-12789) Fix broken link in Couchbase additional details

2024-02-14 Thread Pierre Villard (Jira)
Pierre Villard created NIFI-12789:
-

 Summary: Fix broken link in Couchbase additional details
 Key: NIFI-12789
 URL: https://issues.apache.org/jira/browse/NIFI-12789
 Project: Apache NiFi
  Issue Type: Bug
  Components: Documentation  Website
Reporter: Pierre Villard
Assignee: Pierre Villard


Current link:

[https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/createprimaryindex.html]

Should be:

[https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/createprimaryindex.html]

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] MINIFICPP-2278 Add dynamic relationship support for python processors [nifi-minifi-cpp]

2024-02-14 Thread via GitHub


fgerlits commented on code in PR #1722:
URL: https://github.com/apache/nifi-minifi-cpp/pull/1722#discussion_r1489736588


##
docker/test/integration/resources/python/RotatingForwarder.py:
##


Review Comment:
   yes, that sounds good



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] [NIFI-12754] - Flow Configuration History [nifi]

2024-02-14 Thread via GitHub


rfellows commented on code in PR #8399:
URL: https://github.com/apache/nifi/pull/8399#discussion_r1489731966


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-configuration-history/ui/flow-configuration-history-listing/flow-configuration-history-listing.component.scss:
##
@@ -0,0 +1,26 @@
+/*!
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.flow-configuration-history-listing {
+.mdc-text-field__input::-webkit-calendar-picker-indicator {
+display: block;
+}
+
+.purge > button {
+margin-top: 12px;

Review Comment:
   Actually now that I look at it, 12px isn't enough. It should be 16. I'll 
switch to `mt-4`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (NIFI-12767) Provenance - General error handling in API responses

2024-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-12767:


Commit da8f86b7e7994064dfb256952f6c4e0f12f005b8 in nifi's branch 
refs/heads/main from Matt Gilman
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=da8f86b7e7 ]

NIFI-12767: Error handling in Provenance and Lineage (#8386)

* NIFI-12767:
- Error handling in Provenance and Lineage.

* NIFI-12767:
- Addressing review feedback.

* NIFI-12767:
- Restoring empty initial state for completed request that allows showing a 
banner error over an empty table instead of an empty page.

* NIFI-12767:
- Restoring error state to ensure that the loading spinner stops on error.

This closes #8386 

> Provenance - General error handling in API responses
> 
>
> Key: NIFI-12767
> URL: https://issues.apache.org/jira/browse/NIFI-12767
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Major
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Introduce general error handling (banner, full screen, snackbar) for APIs 
> calls in the Provenance page.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (NIFI-12767) Provenance - General error handling in API responses

2024-02-14 Thread Rob Fellows (Jira)


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

Rob Fellows updated NIFI-12767:
---
Fix Version/s: 2.0.0
   Resolution: Fixed
   Status: Resolved  (was: Patch Available)

> Provenance - General error handling in API responses
> 
>
> Key: NIFI-12767
> URL: https://issues.apache.org/jira/browse/NIFI-12767
> Project: Apache NiFi
>  Issue Type: Sub-task
>  Components: Core UI
>Reporter: Matt Gilman
>Assignee: Matt Gilman
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Introduce general error handling (banner, full screen, snackbar) for APIs 
> calls in the Provenance page.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (NIFI-6391) ConsumeJMS/PublishJMS - Excessive connections created when get/publish operations continually fail

2024-02-14 Thread Michael W Moser (Jira)


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

Michael W Moser resolved NIFI-6391.
---
Resolution: Done

> ConsumeJMS/PublishJMS - Excessive connections created when get/publish 
> operations continually fail
> --
>
> Key: NIFI-6391
> URL: https://issues.apache.org/jira/browse/NIFI-6391
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Extensions
>Affects Versions: 1.8.0
>Reporter: Steven Youtsey
>Assignee: Steven Youtsey
>Priority: Major
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> PublishJMS repeatedly threw "ResourceAllocationException: too many open 
> connections" after successive publish failures due to issues on the remote 
> JMS Broker. The cause of this is the specification and implementation of the 
> JMSConnectionFactoryProviderDefinition.resetConnectionFactory(ConnectionFactory
>  cf) method. Setting the ConnectionFactory to null may well indeed close 
> connections upon 'destruction', but it may take awhile for the GC to run; in 
> the meantime, more connections are opened. The connections need to be 
> manually closed rather than waiting for a GC.
> From AbstractJMSProcessor.onTrigger(), need to call worker.shutdown() prior 
> to resetConnectionFactory().
> Also, noticed some problems iwth the ConnectionFactoryProviderDefinition 
> implementatoins wrt the resetConnectionFactory methods. The factory is nulled 
> but never re-initialized but for onEnabled(); which will lead to a NPE at 
> some point.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] NIFI-12767: Error handling in Provenance and Lineage [nifi]

2024-02-14 Thread via GitHub


rfellows merged PR #8386:
URL: https://github.com/apache/nifi/pull/8386


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Created] (NIFI-12788) Failure to start when specifying network interfaces

2024-02-14 Thread Bryan Bende (Jira)
Bryan Bende created NIFI-12788:
--

 Summary: Failure to start when specifying network interfaces
 Key: NIFI-12788
 URL: https://issues.apache.org/jira/browse/NIFI-12788
 Project: Apache NiFi
  Issue Type: Bug
Affects Versions: 2.0.0-M2
Reporter: Bryan Bende
Assignee: Bryan Bende


If you configure a network interface in nifi.properties like:
{code:java}
nifi.web.https.network.interface.1=lo
nifi.web.https.network.interface.0=en0 {code}
It fails start up when trying to print the application URLs because the host 
name from the Jetty Connector may include characters that are invalid to be 
passed in to URI.create...
{code:java}
java.lang.IllegalArgumentException: Malformed escape pair at index 23: 
https://0:0:0:0:0:0:0:1%lo:8443/nifi
   at java.base/java.net.URI.create(URI.java:932)   

 at 
org.apache.nifi.web.server.JettyServer.lambda$getApplicationUrls$11(JettyServer.java:728)
   {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] [NIFI-12754] - Flow Configuration History [nifi]

2024-02-14 Thread via GitHub


rfellows commented on code in PR #8399:
URL: https://github.com/apache/nifi/pull/8399#discussion_r1489682202


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-configuration-history/ui/flow-configuration-history-listing/flow-configuration-history-table/flow-configuration-history-table.component.ts:
##
@@ -0,0 +1,110 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { MatTableDataSource, MatTableModule } from '@angular/material/table';
+import { MatSortModule, Sort } from '@angular/material/sort';
+import { ActionEntity } from 
'../../../state/flow-configuration-history-listing';
+import { NiFiCommon } from '../../../../../service/nifi-common.service';
+
+@Component({
+selector: 'flow-configuration-history-table',
+standalone: true,
+imports: [CommonModule, MatTableModule, MatSortModule],
+templateUrl: './flow-configuration-history-table.component.html',
+styleUrls: ['./flow-configuration-history-table.component.scss']
+})
+export class FlowConfigurationHistoryTable {
+@Input() selectedHistoryActionId: number | null = null;

Review Comment:
   It doesn't "need" to be. But it was a simple enough change to migrate from 
using the selection from the route to this. And it sets us up to change back to 
use the route for selection in the future if we choose.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Updated] (NIFI-12784) Only display 'Path Not Found Behavior' property in EvaluateJsonPath when 'Destination' property value is flowfile-attributes

2024-02-14 Thread Daniel Stieglitz (Jira)


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

Daniel Stieglitz updated NIFI-12784:

Labels: backport-needed  (was: )

> Only display 'Path Not Found Behavior' property in EvaluateJsonPath when 
> 'Destination' property value is flowfile-attributes
> 
>
> Key: NIFI-12784
> URL: https://issues.apache.org/jira/browse/NIFI-12784
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Daniel Stieglitz
>Assignee: Daniel Stieglitz
>Priority: Minor
>  Labels: backport-needed
>
> Currently in EvaluateJsonPath the 'Path Not Found Behavior' property which 
> defines behavior for when the 'Destination' property value is is 
> "flowfile-attributes" is even visible when the 'Destination' property value 
> is is "flowfile-content".  This is not necessary and could be confusing. This 
> ticket aims to only display the "Path Not Found Behavior" property when the 
> "Destination" property value is flowfile-attributes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] [NIFI-12754] - Flow Configuration History [nifi]

2024-02-14 Thread via GitHub


mcgilman commented on code in PR #8399:
URL: https://github.com/apache/nifi/pull/8399#discussion_r1489650071


##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-configuration-history/ui/flow-configuration-history-listing/flow-configuration-history-listing.component.scss:
##
@@ -0,0 +1,26 @@
+/*!
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.flow-configuration-history-listing {
+.mdc-text-field__input::-webkit-calendar-picker-indicator {
+display: block;
+}
+
+.purge > button {
+margin-top: 12px;

Review Comment:
   Any reason to not use `mt-3`?



##
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-configuration-history/ui/flow-configuration-history-listing/flow-configuration-history-listing.component.ts:
##
@@ -0,0 +1,288 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Component, DestroyRef, inject, OnDestroy, OnInit } from 
'@angular/core';
+import { CommonModule } from '@angular/common';
+import * as HistoryActions from 
'../../state/flow-configuration-history-listing/flow-configuration-history-listing.actions';
+import { loadHistory } from 
'../../state/flow-configuration-history-listing/flow-configuration-history-listing.actions';
+import {
+ActionEntity,
+FlowConfigurationHistoryListingState,
+HistoryQueryRequest
+} from '../../state/flow-configuration-history-listing';
+import { Store } from '@ngrx/store';
+import {
+selectFlowConfigurationHistoryListingState,
+selectedHistoryItem,
+selectHistoryQuery
+} from 
'../../state/flow-configuration-history-listing/flow-configuration-history-listing.selectors';
+import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
+import { initialHistoryState } from 
'../../state/flow-configuration-history-listing/flow-configuration-history-listing.reducer';
+import { MatPaginatorModule, PageEvent } from '@angular/material/paginator';
+import { FlowConfigurationHistoryTable } from 
'./flow-configuration-history-table/flow-configuration-history-table.component';
+import { Sort } from '@angular/material/sort';
+import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
+import { isDefinedAndNotNull } from '../../../../state/shared';
+import { FormBuilder, FormControl, FormGroup, ReactiveFormsModule, Validators 
} from '@angular/forms';
+import { MatFormFieldModule } from '@angular/material/form-field';
+import { MatInputModule } from '@angular/material/input';
+import { MatOptionModule } from '@angular/material/core';
+import { MatSelectModule } from '@angular/material/select';
+import { MatDatepickerModule } from '@angular/material/datepicker';
+import { selectAbout } from '../../../../state/about/about.selectors';
+import { loadAbout } from '../../../../state/about/about.actions';
+import { debounceTime } from 'rxjs';
+import { NiFiCommon } from '../../../../service/nifi-common.service';
+import { MatButtonModule } from '@angular/material/button';
+import { selectCurrentUser } from 
'../../../../state/current-user/current-user.selectors';
+
+interface FilterableColumn {
+key: string;
+label: string;
+}
+
+@Component({
+selector: 'flow-configuration-history-listing',
+standalone: true,
+imports: [
+CommonModule,
+NgxSkeletonLoaderModule,
+MatPaginatorModule,
+

[jira] [Commented] (NIFI-12783) Kafka Producer Processors do not route in failure queue on timeout

2024-02-14 Thread David Handermann (Jira)


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

David Handermann commented on NIFI-12783:
-

I concur with your recommendation [~pvillard]. Introducing a new required 
relationship would have a significant impact on existing flows, and may not be 
applicable in all cases. Introducing a new Failure Strategy property, which 
would enable a relationship, seems like the better way forward.

> Kafka Producer Processors do not route in failure queue on timeout
> --
>
> Key: NIFI-12783
> URL: https://issues.apache.org/jira/browse/NIFI-12783
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.23.2
>Reporter: Denis Jakupovic
>Priority: Major
>
> Hi,
> the Kafka producer processors do not route the FlowFiles on a timeout e.g. 
> into the failure connection. They are yielded in the incomming connection. 
> You can see the behaviour here e.g.:
> [https://stackoverflow.com/questions/71460008/apache-nifi-publishkafka-timeout-exception]
> I think this is a design flaw. I have a use case where messages should be 
> dropped after a specific configurable time. If the messages are yielded in 
> the incomming queue they are always published when the kafka broker are 
> available again. I know I can set the expiration time in secs or mins in the 
> incomming queue but it is not dynamically configurable because no attributes 
> are allowed. 
> Best
> Denis



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] NIFI-12671 Added AwsFileResourceService [nifi]

2024-02-14 Thread via GitHub


balazsgerner commented on code in PR #8368:
URL: https://github.com/apache/nifi/pull/8368#discussion_r1489639335


##
nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/S3FileResourceService.java:
##
@@ -0,0 +1,153 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.aws.s3;
+
+import com.amazonaws.SdkClientException;
+import com.amazonaws.auth.AWSCredentialsProvider;
+import com.amazonaws.regions.Region;
+import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.AmazonS3Client;
+import com.amazonaws.services.s3.model.S3Object;
+import com.github.benmanes.caffeine.cache.Cache;
+import com.github.benmanes.caffeine.cache.Caffeine;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.annotation.documentation.UseCase;
+import org.apache.nifi.annotation.lifecycle.OnDisabled;
+import org.apache.nifi.annotation.lifecycle.OnEnabled;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.context.PropertyContext;
+import org.apache.nifi.controller.AbstractControllerService;
+import org.apache.nifi.controller.ConfigurationContext;
+import org.apache.nifi.fileresource.service.api.FileResource;
+import org.apache.nifi.fileresource.service.api.FileResourceService;
+import org.apache.nifi.processor.exception.ProcessException;
+import 
org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderService;
+import org.apache.nifi.processors.aws.util.RegionUtilV1;
+
+import java.util.List;
+import java.util.Map;
+
+import static 
org.apache.nifi.processors.aws.AbstractAWSCredentialsProviderProcessor.AWS_CREDENTIALS_PROVIDER_SERVICE;
+import static org.apache.nifi.processors.aws.util.RegionUtilV1.resolveRegion;
+import static org.apache.nifi.util.StringUtils.isBlank;
+
+@Tags({"Amazon", "S3", "AWS", "file", "resource"})
+@SeeAlso({FetchS3Object.class})
+@CapabilityDescription("Provides an Amazon Web Services (AWS) S3 file resource 
for other components.")
+@UseCase(
+description = "Fetch a specific file from S3. " +
+"The service provides higher performance compared to fetch 
processors when the data should be moved between different storages without any 
transformation.",
+configuration = """
+"Bucket" = "${s3.bucket}"
+"Name" = "${filename}"
+
+The "Region" property must be set to denote the S3 region that 
the Bucket resides in.
+If the flow being built is to be reused elsewhere, it's a good 
idea to parameterize this property by setting it to something like #{S3_REGION}.

Review Comment:
   Actually, I was trying to copy this sentence from the `FetchS3` processor's 
documentation, but it seems to be a bit of an overkill for me too, so I will 
remove it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12671 Added AwsFileResourceService [nifi]

2024-02-14 Thread via GitHub


balazsgerner commented on code in PR #8368:
URL: https://github.com/apache/nifi/pull/8368#discussion_r1489635897


##
nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/S3FileResourceService.java:
##
@@ -0,0 +1,153 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.aws.s3;
+
+import com.amazonaws.SdkClientException;
+import com.amazonaws.auth.AWSCredentialsProvider;
+import com.amazonaws.regions.Region;
+import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.AmazonS3Client;
+import com.amazonaws.services.s3.model.S3Object;
+import com.github.benmanes.caffeine.cache.Cache;
+import com.github.benmanes.caffeine.cache.Caffeine;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.SeeAlso;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.annotation.documentation.UseCase;
+import org.apache.nifi.annotation.lifecycle.OnDisabled;
+import org.apache.nifi.annotation.lifecycle.OnEnabled;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.context.PropertyContext;
+import org.apache.nifi.controller.AbstractControllerService;
+import org.apache.nifi.controller.ConfigurationContext;
+import org.apache.nifi.fileresource.service.api.FileResource;
+import org.apache.nifi.fileresource.service.api.FileResourceService;
+import org.apache.nifi.processor.exception.ProcessException;
+import 
org.apache.nifi.processors.aws.credentials.provider.service.AWSCredentialsProviderService;
+import org.apache.nifi.processors.aws.util.RegionUtilV1;
+
+import java.util.List;
+import java.util.Map;
+
+import static 
org.apache.nifi.processors.aws.AbstractAWSCredentialsProviderProcessor.AWS_CREDENTIALS_PROVIDER_SERVICE;
+import static org.apache.nifi.processors.aws.util.RegionUtilV1.resolveRegion;
+import static org.apache.nifi.util.StringUtils.isBlank;
+
+@Tags({"Amazon", "S3", "AWS", "file", "resource"})
+@SeeAlso({FetchS3Object.class})
+@CapabilityDescription("Provides an Amazon Web Services (AWS) S3 file resource 
for other components.")
+@UseCase(
+description = "Fetch a specific file from S3. " +
+"The service provides higher performance compared to fetch 
processors when the data should be moved between different storages without any 
transformation.",
+configuration = """
+"Bucket" = "${s3.bucket}"
+"Name" = "${filename}"

Review Comment:
   Yep



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] NIFI-12671 Added AwsFileResourceService [nifi]

2024-02-14 Thread via GitHub


balazsgerner commented on code in PR #8368:
URL: https://github.com/apache/nifi/pull/8368#discussion_r1489630403


##
nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/s3/ListS3.java:
##
@@ -99,6 +99,9 @@
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
+import static org.apache.nifi.processors.aws.util.RegionUtilV1.REGION;
+import static org.apache.nifi.processors.aws.util.RegionUtilV1.S3_REGION;

Review Comment:
   Fixed, thanks for spotting that.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Commented] (NIFI-12783) Kafka Producer Processors do not route in failure queue on timeout

2024-02-14 Thread Pierre Villard (Jira)


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

Pierre Villard commented on NIFI-12783:
---

Yep, I understand the use case and it makes total sense but my preference would 
be for an additional property similar to PutKudu rather than a new relationship 
as this would be a breaking change for existing flows.

> Kafka Producer Processors do not route in failure queue on timeout
> --
>
> Key: NIFI-12783
> URL: https://issues.apache.org/jira/browse/NIFI-12783
> Project: Apache NiFi
>  Issue Type: Bug
>  Components: Core Framework
>Affects Versions: 1.23.2
>Reporter: Denis Jakupovic
>Priority: Major
>
> Hi,
> the Kafka producer processors do not route the FlowFiles on a timeout e.g. 
> into the failure connection. They are yielded in the incomming connection. 
> You can see the behaviour here e.g.:
> [https://stackoverflow.com/questions/71460008/apache-nifi-publishkafka-timeout-exception]
> I think this is a design flaw. I have a use case where messages should be 
> dropped after a specific configurable time. If the messages are yielded in 
> the incomming queue they are always published when the kafka broker are 
> available again. I know I can set the expiration time in secs or mins in the 
> incomming queue but it is not dynamically configurable because no attributes 
> are allowed. 
> Best
> Denis



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


Re: [PR] NIFI-12671 Added AwsFileResourceService [nifi]

2024-02-14 Thread via GitHub


balazsgerner commented on code in PR #8368:
URL: https://github.com/apache/nifi/pull/8368#discussion_r1489620421


##
nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/util/RegionUtilV1.java:
##
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.processors.aws.util;
+
+import com.amazonaws.regions.Region;
+import com.amazonaws.regions.Regions;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.nifi.components.AllowableValue;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.context.PropertyContext;
+import org.apache.nifi.processor.exception.ProcessException;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Utility class for AWS region methods. This class uses AWS SDK v1.
+ *
+ */
+public final class RegionUtilV1 {
+
+private RegionUtilV1() {
+}
+
+public static final String S3_REGION_ATTRIBUTE = "s3.region" ;
+public static final AllowableValue ATTRIBUTE_DEFINED_REGION = new 
AllowableValue("attribute-defined-region",
+"Use '" + S3_REGION_ATTRIBUTE + "' Attribute",
+"Uses '" + S3_REGION_ATTRIBUTE + "' FlowFile attribute as 
region.");
+
+public static final PropertyDescriptor REGION = new 
PropertyDescriptor.Builder()
+.name("Region")
+.description("The AWS Region to connect to.")
+.required(true)
+.allowableValues(getAvailableRegions())
+
.defaultValue(createAllowableValue(Regions.DEFAULT_REGION).getValue())
+.build();
+
+public static final PropertyDescriptor S3_REGION = new 
PropertyDescriptor.Builder()
+.fromPropertyDescriptor(REGION)
+.allowableValues(getAvailableS3Regions())
+.build();
+
+public static Region parseRegionValue(String regionValue) {

Review Comment:
   Thanks, I changed the method name to `parseS3RegionValue` and made it 
private.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[jira] [Assigned] (NIFI-11812) Stateless hardcodes "nexus" as the only extension option - Requesting NiFi Registry and/or S3 as additional ExtensionClient options

2024-02-14 Thread Anna Nys (Jira)


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

Anna Nys reassigned NIFI-11812:
---

Assignee: (was: Anna Nys)

> Stateless hardcodes "nexus" as the only extension option - Requesting NiFi 
> Registry and/or S3 as additional ExtensionClient options
> ---
>
> Key: NIFI-11812
> URL: https://issues.apache.org/jira/browse/NIFI-11812
> Project: Apache NiFi
>  Issue Type: New Feature
>Reporter: Stephanie Ambrose
>Priority: Major
>
> Right now stateless NiFi has a hard-coded check on extension type of "nexus" 
> on line 302 of StandardStatelessDataflowFactory. It would be nice to 
> configure stateless to pull nars from additional extensions such as NiFi 
> Registry and/or S3. "stateful" NiFi allows you to set the nar provider to 
> NiFi Registry, which can be configured to store to S3. It'd be nice to have 
> this feature for stateless as well versus being tied to only nexus.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (NIFI-11077) Provide a record number in a error log message when a RecordReader fails

2024-02-14 Thread Anna Nys (Jira)


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

Anna Nys reassigned NIFI-11077:
---

Assignee: (was: Anna Nys)

> Provide a record number in a error log message when a RecordReader fails
> 
>
> Key: NIFI-11077
> URL: https://issues.apache.org/jira/browse/NIFI-11077
> Project: Apache NiFi
>  Issue Type: Improvement
>Reporter: Daniel Stieglitz
>Priority: Major
>
> When a RecordReader fails for whatever reason, it would be helpful to include 
> in the error log message, a record number to help easily identify which 
> record failed.
> My particular use case was when using QueryRecord and ValidateRecord with 
> CSVReader on a file which was mostly comma delimited except for one line 
> which was pipe delimited. The error message logged did not include the line 
> number where the parsing failed.  There was an IlegalArgumentException thrown 
> with the message
> {code:java}
> Index for header 'id' is 1 but CSVRecord only has 1 values!
> {code}
> This made it very difficult to identify which record in the CSV file was 
> causing the CSVReader to fail.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (NIFI-12787) Update list of out-of-the-box supported processors in MiNiFi

2024-02-14 Thread Ferenc Erdei (Jira)


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

Ferenc Erdei resolved NIFI-12787.
-
Fix Version/s: 2.0.0
   Resolution: Fixed

> Update list of out-of-the-box supported processors in MiNiFi
> 
>
> Key: NIFI-12787
> URL: https://issues.apache.org/jira/browse/NIFI-12787
> Project: Apache NiFi
>  Issue Type: Task
>  Components: MiNiFi
>Reporter: Ferenc Kis
>Assignee: Ferenc Kis
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Update the out-of-the box supported processors' list to reflect the most 
> recent state



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (NIFI-12787) Update list of out-of-the-box supported processors in MiNiFi

2024-02-14 Thread ASF subversion and git services (Jira)


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

ASF subversion and git services commented on NIFI-12787:


Commit 4f030fefcabf109d7ac834831d4c740f2dbf1200 in nifi's branch 
refs/heads/main from Ferenc Kis
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=4f030fefca ]

NIFI-12787 [MiNiFi] Update list of out-of-the-box supported processors in 
quickstart guide

Signed-off-by: Ferenc Erdei 
This closes #8402.


> Update list of out-of-the-box supported processors in MiNiFi
> 
>
> Key: NIFI-12787
> URL: https://issues.apache.org/jira/browse/NIFI-12787
> Project: Apache NiFi
>  Issue Type: Task
>  Components: MiNiFi
>Reporter: Ferenc Kis
>Assignee: Ferenc Kis
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Update the out-of-the box supported processors' list to reflect the most 
> recent state



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


  1   2   >