Skip to content
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

Grouping Executors related methods into a single class #9271

Merged
merged 3 commits into from
Sep 23, 2024

Conversation

JaroslavTulach
Copy link
Contributor

@JaroslavTulach JaroslavTulach commented Sep 23, 2024

Description

Enso has decided to use Helidon 4.0.x to emulate WebSocket on Graal.js. However we have problems to run our code on native image with GraalVM for JDK21. More info available - in short: there is a bug in GraalVM for JDK21 that prevents usage of virtual threads and Graal.js.

The bug was fixed in newer versions of GraalVM, but backport is complicated and we don't have a workaround for the bug on the GraalVM side and we'd like to stick with JDK 21.

Documentation

We have experimentally verified that with small changes in Helidon code we can use @Substitute mechanism of GraalVM native image to switch to platform threads. As we don't care about massive performance, but just want to get things work, it is a sufficient solution for us.

Can you accept this little refactoring into next version of Helidon, please? Thank you very much.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 23, 2024
@JaroslavTulach
Copy link
Contributor Author

FYI: @ola-lis has created an official ticket in My Oracle Support requesting fix for the Helidon 4 + Graal.js on native-image for JDK21 problem:

My Oracle Support request

E.g. by accepting this PR you'd help to resolve an official Oracle Java SE JDK and JRE licensee request.

Copyright and javadoc fix.
tomas-langer
tomas-langer previously approved these changes Sep 23, 2024
@JaroslavTulach
Copy link
Contributor Author

Thank you Tomáši for fixing formatting & co.

@tomas-langer tomas-langer merged commit 6e9b457 into helidon-io:main Sep 23, 2024
44 checks passed
@tomas-langer tomas-langer self-assigned this Sep 23, 2024
@tomas-langer tomas-langer added this to the 4.1.2 milestone Sep 23, 2024
@barchetta barchetta mentioned this pull request Sep 26, 2024
16 tasks
barchetta pushed a commit to barchetta/helidon that referenced this pull request Sep 27, 2024
* Grouping Executors related methods into a single class


Signed-off-by: Tomas Langer <[email protected]>
Co-authored-by: Tomas Langer <[email protected]>
barchetta added a commit that referenced this pull request Sep 30, 2024
* Grouping Executors related methods into a single class

Signed-off-by: Tomas Langer <[email protected]>
Co-authored-by: Jaroslav Tulach <[email protected]>
Co-authored-by: Tomas Langer <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4.x: Allow substituting executor services for WebServer for GraalVM native image
2 participants