]
Tristan Tarrant updated ISPN-7008:
----------------------------------
Fix Version/s: 9.3.0.Final
(was: 9.2.0.Final)
IllegalLifeCycleStateException from BlockingRunnable.isReady()
escapes to originator
------------------------------------------------------------------------------------
Key: ISPN-7008
URL:
https://issues.jboss.org/browse/ISPN-7008
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 8.2.4.Final, 9.0.0.Alpha4
Reporter: Dan Berindei
Fix For: 9.3.0.Final
The ISPN-5539 fix caught {{IllegalLifecycleStateException}} in {{BlockingRunnable.run()}}
and sent a {{CacheNotFoundResponse}} to the originator instead. However, exceptions thrown
from {{BlockingRunnable.isReady()}} are not caught, and are instead sent back to the
originator. An example stack trace is available in the WFLY-7029 description.
In this case, the exception was thrown directly when the inbound invocation handler tried
to submit the command to the remote commands executor. But I see a related problem in
{{BlockingTaskAwareExecutorServiceImpl.ControllerThread.run()}}, which stops with the
first exception from {{isReady()}}. For {{IllegalLifecycleStateException}} it's
probably ok, but for other exceptions it should continue processing new tasks.