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

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

Commit d0c8a5d677bbea6c5e8e051df0ea49f3cf7c6a0a in nifi's branch refs/heads/0.x 
from [~mattyb149]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=d0c8a5d ]

NIFI-1822 Enabled pooled ExecuteScript engines to facilitate concurrent 
processing.

Removed unused variable in unit test. (+10 squashed commits)
Squashed commits:
[7c5acc1] NIFI-1822 Removed trailing whitespace to conform with checkstyle 
rules.
[cb108cd] NIFI-1822 Added ASF License to unit test.
[9264428] NIFI-1822 Removed debugging log statements for script engine queue 
size.
Added unit tests demonstrating pooled execution timing and thread usage.
[bdbc4ba] NIFI-1822 Renamed reference to MockProcessorContext#setNumThreads to 
setMaxConcurrentTasks after refactor.
[12bbe82] NIFI-1822 Moved unit test to correct directory.
Added test script resource which generates flowfile and updates attribute with 
current thread.
Added tests for single run, serial run, and pooled run (not complete).
[4c174c8] NIFI-1822 Added debugging messages to script execution.
[8ab0ce5] NIFI-1822 Added for loop to instantiate multiple script engines in 
queue.
[8c5ba51] NIFI-1822 Added variable max concurrent task field in 
MockProcessorContext because it was previously hardcoded to 1. Changed 
setNumThreads to setMaxConcurrentTasks to maintain naming convention.
[fd9120c] NIFI-1822 Added unit test skeleton for pooled script processor 
execution.
[23e4f68] NIFI-1822: Allow concurrent execution in ExecuteScript

This closes #443.

Signed-off-by: Andy LoPresto <[email protected]>


> Allow concurrent execution of ExecuteScript
> -------------------------------------------
>
>                 Key: NIFI-1822
>                 URL: https://issues.apache.org/jira/browse/NIFI-1822
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Matt Burgess
>            Assignee: Matt Burgess
>             Fix For: 1.0.0, 0.7.0
>
>
> Currently ExecuteScript is annotated as TriggerSerially, meaning only one 
> task can be running at a time. This causes issues for throughput, and can 
> become a severe bottleneck in a flow.
> Originally this was done because the bindings for the session, context, etc. 
> were put on a single script engine, so multiple tasks would clobber each 
> other's bindings. However as a tradeoff (memory for capability), it would be 
> better to have a "pool" of Script Engine instances, whose size is perhaps the 
> max number of concurrent tasks.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to