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

Enable Semeru Cloud Compiler for InstantOn #438

Closed
tjwatson opened this issue Jun 15, 2023 · 4 comments
Closed

Enable Semeru Cloud Compiler for InstantOn #438

tjwatson opened this issue Jun 15, 2023 · 4 comments
Assignees
Labels

Comments

@tjwatson
Copy link
Member

Feature Request

Is your feature request related to a generic (non-Open Liberty) problem?

If so, please open an issue with the upstream Operator, which gets pulled into this Operator.

No

Is your feature request related to a problem?

A clear and concise description of what the problem is. Example: "I have an issue when (...)"

No

Describe the solution you'd like

A clear and concise description of what you want to happen. Add any considered drawbacks.

When running an Open Liberty InstantOn application the JVM process is restored in-container from a process checkpoint taken at container build time. The restored Java process will not recognized the JVM options specified in OPENJ9_JAVA_OPTIONS that get set by the operator at: https://github.com/OpenLiberty/open-liberty-operator/blob/6bed003a36648be6477635b265a890b45dd01b1e/controllers/semeru_compiler.go#LL551-L554C24

The CRIU support for Semeru did add a new environment variable that can be used to modify JVM arguments when the JVM process is restored called OPENJ9_RESTORE_JAVA_OPTIONS. If the operator sets this environment variable to the options it sets to enable the cloud compiler (-XX:+UseJITServer -XX:+JITServerLogConnections -XX:JITServerAddress=%v -XX:JITServerSSLRootCerts=%v) then the JVM will process these options on restore and enable the use of the cloud compiler with Liberty InstantOn.

It should be safe to set this environment variable regardless of if InstantOn is being used or not. For "normal" Liberty launches without InstantOn this environment variable will be ignored.

@leochr leochr added enhancement New feature or request zenhub-dev labels Jun 15, 2023
@leochr leochr self-assigned this Jun 19, 2023
@anjumfatima90
Copy link

anjumfatima90 commented Jul 24, 2023

Running semeru compiler with open-liberty operator and instanton on OCP threw the follwoing error.

JITServer is ready to accept incoming requests
140326168397568:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl/record/ssl3_record.c:332:

@mpirvu has added a fix in eclipse-openj9/openj9#17797 to fix this issue. The change will be present in OpenJ9 0.41.0 which is expected to GA on Oct 17.

Will test again using the changes done by Marius.

@leochr
Copy link
Member

leochr commented Jan 8, 2024

Operator changes were delivered with WebSphere and Open Liberty Operators 1.3.0

@leochr
Copy link
Member

leochr commented Jan 8, 2024

@anjumfatima90 / @tjwatson This has been delivered with Liberty Operator 1.3.0. The OpenJ9 fix is also now available with Liberty images. Please validate and close. Thank you.

@anjumfatima90
Copy link

Validated the semeru compiler using open liberty operator. Got the following logs with no errors.

JITServer reported:

#JITServer: t= 9753 A new client (clientUID=4890526477827595806) connected. Server allocated a new client session.

and the client reported:

#JITServer: t= 1019 Connected to a server (serverUID=17668825763340795520)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 23.0.0.11
Development

No branches or pull requests

3 participants