ijokarumawak commented on issue #3540: NIFI-6385 Added signal.id penalization
URL: https://github.com/apache/nifi/pull/3540#issuecomment-504265357
 
 
   @aramatev That's a very good test, thanks for hardening the processor!
   
   There is a limitation of number of signals being processed at each Wait run.
   Let's say Wait is configured with:
   - Run Schedule = 1 sec
   - Wait Penalize Duration = 3 sec
   - Release Signal Identifier = `${uuid}`
   
   And there are 5 FlowFiles F1, F2 ... F5 in the 'wait' relationship.
   Then the signal for F5 is notified.
   
   Wait will work as follows:
   1. At 00:00 Wait checks the signal for F1, not found, and penalize F1 (till 
00:03)
   2. At 00:01 Wait checks the signal for F2, not found, and penalize F2 (till 
00:04)
   3. At 00:02 Wait checks the signal for F3, not found, and penalize F3 (till 
00:05)
   4. At 00:03 Wait checks the signal for F4, not found, and penalize F4 (till 
00:06)
   5. At 00:04 Wait checks the signal for F1 again, because it's not penalized 
any longer
   6. Repeat above cycle, thus F5 will not be released until one of F1 ... F4 
is released
   
   There are limitation of number of signals can be checked based on the 
combination of 'Run Schedule' and 'Wait Penalize Duration'.
   
   To mitigate such limitation, increasing 'Run Duration' is recommended. By 
increasing 'Run Duration', Wait processor can keep being scheduled for that 
duration. For example, with 'Run Duration' `500 ms`, Wait can be loop through 
all 5 queued FlowFiles easily at a single run.
   
   I think we need to document that, too. I'll add another commit.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to