A recent high-concurrency import, that fails catastrophically when the target service is down, indicated with an integer overflow that somehow state is being shared across the default implementation of the recoverable exception handler.
A debugging session shows the handler is being cloned, and initialize() is called at least once, but somehow the series of delays keeps growing beyond the default five retries.
In case it matters, the specific resource implementation calls fetchAsync() 80 times, but each call should still be independent as the ImportConnector clones a new handler for each fetch*() call.
A recent high-concurrency import, that fails catastrophically when the target service is down, indicated with an integer overflow that somehow state is being shared across the default implementation of the recoverable exception handler.
A debugging session shows the handler is being cloned, and
initialize()
is called at least once, but somehow the series of delays keeps growing beyond the default five retries.In case it matters, the specific resource implementation calls
fetchAsync()
80 times, but each call should still be independent as theImportConnector
clones a new handler for eachfetch*()
call.