Closed
Description
chip stettler opened SPR-11418 and commented
I have two beans that implement @Async
methods. I have an async method in bean #1 calling an async method in bean #2. I create A ThreadPoolExecutor with 5 core threads, 10 max threads and 25 queue length.
I created a test that creates 5 parallel calls to bean#1 async method. The threads appear to deadlock and a timeout occurs on the Future.get(). If I increase the core threads to 6 the test executes with no problem.
If I remove an @Async
from either bean so that there is no nesting of async calls then everything works fine.
Seems like a bug as it sort of works if there are enough threads but the queuing aspect of the thread pool seems to break when nested.
Affects: 3.2.4
Attachments:
- thread-test.zip (16.20 kB)