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

Remove isolated java wrapper mode #1168

Open
wkozaczuk opened this issue Jul 13, 2021 · 0 comments
Open

Remove isolated java wrapper mode #1168

wkozaczuk opened this issue Jul 13, 2021 · 0 comments

Comments

@wkozaczuk
Copy link
Collaborator

For reasons explained in #953 (comment), the so-called "isolated" mode of running java apps is a dead-end in modern Java. In short, the "isolated" mode, intended to support running multiple Java apps on OSv by isolating their class loaders and loggers.

The Java version 9 and newer remove certain interfaces like java.util.logging.LogManager.addPropertyChangeListener() and types of class loaders used in the OSv Java code in isolated mode. On top of this, modern Java provides a way to achieve isolation by so-called "isolates" (see https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/nativeimage/Isolates.html and https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/nativeimage/Isolates.html). There seems to be also a modern lightweight library that provides some sort of isolation and works with java 11 (I think) - https://github.com/chrisgleissner/jisolate.

Given all that I propose, we kill the java isolated mode. This would entail:

  • eliminate modules/java-base/runjava-isolated (possibly collapse modules/java-base/runjava-non-isolated with modules/java-base/runjava-common)
  • eliminate the module java-isolated
  • update modules/java-base/java.cc to remove isolated-mode specific code
  • update modules/java-tests to remove isolated-mode tests
  • update scripts/module.py and related scripts to remove isolated-vs-non-isolated code
  • eliminate io.osv.isolated.MultiJarLoader and update any Java apps from apps using it
  • test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant