Checkout
Tom Watson
committed
on 11 Jun
FELIX-6140: possible deadlock in ResolverImpl.EnhancedExecutor.await()

Change await implementation to use a Queue<Future<Void>> to avoid
in… Show more
FELIX-6140: possible deadlock in ResolverImpl.EnhancedExecutor.await()

Change await implementation to use a Queue<Future<Void>> to avoid

inaccurate accounting of task count to wait for completion when an

exception is thrown from executor.execute() method. There are scenarios

where the resolver algorithm can take a huge amount of memory resulting

in out of memory errors.  If this happens to occur when dispatching a

task to the executor then the count was never decremented. Show less