#33856 emit warning when thread pool task scheduler is unable to meet task delay #35611
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add delay monitoring to ThreadPoolTaskScheduler
Fixes #33856
Problem
ThreadPoolTaskScheduler
with default pool size of 1 silently suffers from thread starvation when multiple tasks are scheduled, leading to production issues that are hard to diagnose.Solution
Added automatic delay monitoring that:
Key Features
Example Warning
WARN o.s.s.c.ThreadPoolTaskScheduler - 5 scheduled tasks are delayed
(max delay: 1488ms) due to thread pool exhaustion. Pool size: 1,
Active threads: 1, Queue size: 5. Consider increasing the pool size
via ThreadPoolTaskScheduler.setPoolSize() or
spring.task.scheduling.pool.size property.
Testing
Verified on production-like workload with demo application. All edge cases covered including concurrent modifications, circuit breaker transitions, and error recovery.