-
-
Notifications
You must be signed in to change notification settings - Fork 244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move CanIsolate CompletableFuture instance to 2.12+ only #985
Conversation
LGTM 👍 |
I think I will try to figure it out tomorrow but I am not familiar with |
I vaguely remember that pool management in CompletableFuture is worse than it is in our Scala one, and it often falls back to its default global pool. Maybe we can't really support it, then. |
Yup, I have been playing around and if we use |
Yeah, let's do that. |
Wait, what do you mean? Is it our fault? Are we using |
No, Java 8 CompletableFuture uses it's own "global" (ForkJoinPool.commonPool()), and it's hard-coded in methods since Java doesn't have implicits - unless you pass your own on almost every method call, it will reschedule on that |
Also note that |
I pushed a change to remove it so we can easily merge it if we decide to go this way |
Yeah, I don't think we can or even should support anything that bypasses TracingScheduler. |
👍 yes, screw it. |
* Move CanIsolate CompletableFuture instance to 2.12+ only * Use handle instead of handleAsync in CanIsolate for CompletableFuture * Remove CompletableFuture instance
There might be also a flaky CompletableFuture test, I'll fix it as well