BewareMyPower commented on PR #24745:
URL: https://github.com/apache/pulsar/pull/24745#issuecomment-3311148887

   In principal, a Java project's code base should assume the JDK is reliable.
   
   `ForkJoinPool` is widely used within JDK, not only for `CompletableFuture`:
   - Parallel stream (`parallelStream()`) uses `ForkJoinPool` to execute 
sub-tasks (see `ForkJoinTask`)
   - Virtual threads uses `ForkJoinPool` as its default scheduler (see 
`VirtualThread#createDefaultScheduler`)
   - (not sure if there are some other similar classes provided by JDK)
   - 3rd party Java infra projects like Caffine that use default `ForkJoinPool` 
as the default executor
   
   Now, your question might become which Apache project uses parallel stream, 
virtual threads, Caffine cache (or any unknown dependency that uses the common 
`ForkJoinPool` as the default executor) without changing the default scheduler?
   
   I don't have a tool to detect usages of `ForkJoinPool` in all open sourced 
or even only Apache projects, but this issue is beyond the scope of a Java 
project like Apache Pulsar. If you have suffered the bug in production and is 
eager to get a fix ASAP, you should:
   - Fork the project and push the "fix" internally (I believe you have also 
done that)
   - Build a JDK that includes the fix by yourself or turn to an existing JDK 
vendor
   
   However, such a bug from JDK that rarely happens should not be a key factor 
that changes the code base a lot. 
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to