-XX:Compatibility
This option enables a compatibility mode that OpenJ9 can run in to support applications that require specific capabilities. For example, support for applications that rely on vendor-specific command line arguments or to make available unspecified APIs.
Syntax
-XX:Compatibility=<mode>
Where, <mode>
is the application for which the compatibility mode is provided. The <mode>
is case-insensitive.
In release 0.43.0, the compatibility mode is provided for the Elasticsearch application only.
-XX:Compatibility=Elasticsearch
If the -XX:Compatibility
option is specified more than once, or with a mode other than "Elasticsearch" (not case-sensitive), the VM fails to start.
Although this option is available in all OpenJDK versions, the Elasticsearch application requires OpenJDK version 17 or later.
Explanation
The Elasticsearch application was facing incompatibility issues when it was running on OpenJ9 and required many workarounds. With the Elasticsearch
compatibility mode, OpenJ9 accepts and supports HotSpot-specific options or APIs that enhance compatibility to run the Elasticsearch application.