Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
if (currentUsedProxy != null) { try { Object retVal = method.invoke(currentUsedProxy.proxy, args); LOG.debug("Invocation successful on [{}]", currentUsedProxy.proxyInfo);
If a thread run try block and then other thread trigger a fail over calling method
@Override public synchronized void performFailover(T currentProxy) { toIgnore = this.currentUsedProxy.proxyInfo; this.currentUsedProxy = null; }
It will set currentUsedProxy to null, and the first thread can throw a NullPointerException.