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

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

Commit 5e62b4ae72c6fa8c81aa3ee817ad1bd14e350c4a in nifi's branch 
refs/heads/master from [~ijokarumawak]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=5e62b4a ]

NIFI-3668: Fix purging expired replicate requests.

This closes #1646.

Newly created async response is added before checking map size nor
purging expired ones. If there are already 100 remaining requests,
the added request will not be executed nor removed.


> ThreadPoolRequestReplicator doesn't purge expired requests
> ----------------------------------------------------------
>
>                 Key: NIFI-3668
>                 URL: https://issues.apache.org/jira/browse/NIFI-3668
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.2.0
>            Reporter: Koji Kawamura
>            Assignee: Mark Payne
>
> NIFI-3636 has changes the execution order of putting new entry to the 
> responseMap and purging expired ones from the same map.
> After NIFI-3636, ThreadPoolRequestReplicator adds new 
> StandardAsyncClusterResponse entry into responseMap before checking or 
> purging the map. The newly created entry matches with its isComplete() 
> method, so it won't be purged even if its expired.
> Then if there's already more than 100 remaining request, the newly created 
> request is rejected with "Cannot replicate request {} {} because there are {} 
> outstanding HTTP Requests already. Request Counts Per URI = {}" message. 
> And the request will not be performed even though its already put into the 
> map. As mentioned earlier, these async response initial state is 'completed' 
> so it won't be purged and remains in the map forever.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to