Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Invalid
-
None
-
None
-
None
-
None
Description
In the invoke() method, I found the following code:
private AtomicBoolean usingAMProxy = new AtomicBoolean(false); ... // if it's AM shut down, do not decrement maxClientRetry as we wait for // AM to be restarted. if (!usingAMProxy.get()) { maxClientRetry--; } usingAMProxy.set(false);
When we create the AM proxy, we set the flag to true. If we fail to connect, the impact of the flag being true is that the code will try one extra time, giving it 400ms instead of just 300ms. I can't imagine that's the intended behavior. After any failure, the flag will forever more be false, but fortunately (?!?) the flag is otherwise unused.
Looks like I need to do some archeology to figure out how we ended up here.