[ https://issues.apache.org/jira/browse/HTTPCLIENT-2291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oleg Kalnichevski resolved HTTPCLIENT-2291. ------------------------------------------- Resolution: Fixed Fixed in master (5.3) Oleg > RetryStrategy: AsyncExecChainHandler and ExecChainHandler behavior should be > identical > -------------------------------------------------------------------------------------- > > Key: HTTPCLIENT-2291 > URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2291 > Project: HttpComponents HttpClient > Issue Type: Bug > Components: HttpClient (async), HttpClient (classic) > Affects Versions: 5.2 > Reporter: Lars Uffmann > Priority: Major > Fix For: 5.3-alpha2 > > > A RetryStrategy is enabled by default in both classic and async. > > If an exec chain handler is placed *after* the retry handler, the behavior > between async and classic is consistent. The behavior of an Async- and a > classic ExecChainHandler placed *before* the (Async)HttpRequestRetryExec is > different when a retry is actually executed. > > In case of a retry, the classic HttpRequestRetryExec will split the exec > chain and proceed with all handlers configured after itself. Any handler > registered before would be called exactly one time with the final outcome of > the last retry attempt. > > The Async version, however, will call any handler registered before itself > with every retry. The order of events is counter intuitive as well. All > closing events will be emitted after the last attempt. > > {*}Workaround{*}: In async, ignore all but the first invocation of a handler > when the handler is placed before the retry handler. > > {*}Expected Bahaviour{*}: Both Async and Classic ExecChainHandler behavior > should be identical. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org