[
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)