[
https://issues.apache.org/jira/browse/NIFI-3668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Payne updated NIFI-3668:
-----------------------------
Resolution: Fixed
Status: Resolved (was: Patch Available)
> 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)