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

Jul Tomten edited comment on NIFI-3431 at 7/7/21, 9:52 AM:
-----------------------------------------------------------

I'm on NiFi 1.13.2

I have a WAIT processor and 2000 files queud up in the upstream connection

The problem is that the WAIT processor uses more than 100% CPU all the time as 
long as the messages are on queue.
 Any idea about the problem?

Release Signal Identifier = ${uuid}

Target Signal Count = 1

Signal Counter Name = No value set

Wait Buffer Count = 1500

Releasable FlowFile Count = 1

Expiration Duration = 10 min

Attribute Copy Mode = Keep original

Wait Mode = Keep in the upstream connection

Wait Penalty Duration = 5 min

 

Number of Threads 10 

 

 

I'd planned to have more than 10 000 000 messages on queue and then let them 
expire after 4 days. Some or all messages may be notified to proceed. Is the 
WAIT intended to handel such a scenario?

 Are you supposed to have multiple threads on the WAIT/NOTIFY processors? Seems 
like the MapCache hits problems ConcurrentModificationException.


was (Author: tomten1970):
I'm on NiFi 1.13.2

I have a WAIT processor and 2000 files queud up in the upstream connection

The problem is that the WAIT processor uses more than 100% CPU all the time as 
long as the messages are on queue.
 Any idea about the problem?

Release Signal Identifier = ${uuid}

Target Signal Count = 1

Signal Counter Name = No value set

Wait Buffer Count = 1500

Releasable FlowFile Count = 1

Expiration Duration = 10 min

Attribute Copy Mode = Keep original

Wait Mode = Keep in the upstream connection

Wait Penalty Duration = 5 min

 

I'd planned to have more than 10 000 000 messages on queue and then let them 
expire after 4 days. Some or all messages may be notified to proceed. Is the 
WAIT intended to handel such a scenario?

 

> Support batch update in Notify processor
> ----------------------------------------
>
>                 Key: NIFI-3431
>                 URL: https://issues.apache.org/jira/browse/NIFI-3431
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: 1.2.0
>            Reporter: Koji Kawamura
>            Assignee: Koji Kawamura
>            Priority: Major
>             Fix For: 1.2.0
>
>
> NIFI-3216 added ability to wait for N signals. It supports waiting for N 
> fragments split by SplitXXXX processors. However, since Notify processor has 
> to increase count one by one by calling expensive replace cache operation 
> over network, it doesn't provide a practical performance when user configured 
> a flow looks like below as N glow:
> {code}
> Split
>  --> (original) -> Wait for N
>  --> (split) -> Do something -> Notify 1
> {code}
> This JIRA improves Notify processor by:
> - Add "Signal Buffer Count" to specify max number of flow files that can be 
> buffered and update cache at once
> - Add "Signal Counter Delta" to specify delta grater than 1, EL supported
> "Signal Buffer Count" would be useful in a flow like this:
> {code}
> Split
>  --> (original) -> Wait for N
>  --> (split) -> Filter or something -> Notify M
> {code}
> Buffer incoming M flow files and perform cache replace operation once.
> So does "Signal Counter Delta":
> {code}
> Split
>  --> (original) -> Wait for N
>  --> (split) -> Filter or something -> Merge M -> PutXXX -> Notify M
> {code}
> Specify 'M' via Attribute Expression Language.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to