]
Pedro Ruivo updated ISPN-5317:
------------------------------
Status: Resolved (was: Pull Request Sent)
Assignee: Dan Berindei (was: Pedro Ruivo)
Fix Version/s: 8.0.0.Alpha1
Resolution: Done
BlockingTaskAwareExecutorService.cherkForReadyTasks() may block
CacheTopologyControlCommand
-------------------------------------------------------------------------------------------
Key: ISPN-5317
URL:
https://issues.jboss.org/browse/ISPN-5317
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 7.2.0.Beta1, 7.1.1.Final
Reporter: Pedro Ruivo
Assignee: Dan Berindei
Fix For: 8.0.0.Alpha1
Current implementation, checkForReadyTasks() is invoked in the StateConsumer after the
topology is updated.
If the remote-thread-pool is full (i.e. no more threads available), the
checkForReadyTasks() will start processing commands in the invoker thread. If it happens,
the CacheTopologyControlCommand has not done processing and the cache topology updated is
delayed.
It may cause some problems!
The solution, it would be to invoke the checkForReadyTasks() in the StateTransferManager,
after the StateConsumer and StateProvider had finished they work.