Changes since 24.6.10
Fixes
-
Do not starve the common ForkJoinPool with blocking listener tasks (#21342)
Commit · Pull requestCalling watchAsync without any specific executor uses the common ForkJoinPool. This is bad as all the watchers will remain in a blocking state until there is a change and will thus always use up a large part of the ForkJoinPool. If other tasks try to use the common ForkJoinPool, it might run out of concurrent threads and will no longer start any tasks at all