Java version compatibility
Atoti Server requires Java 21.
Memory Monitoring
Please note that to be able to be compatible with Java 17+, we are no longer reporting the off-heap memory allocated with java's internal MBeans.
Instead, you can use the newly created MBeans located in DirectMemoryMonitoring for the information you wanted regarding memory consumption from Atoti.
Additionally, MAC can be used for deeper investigations.
JVM Options
Apache Arrow access to java.nio
Any Atoti Server feature that exchanges data through Apache Arrow requires the following JVM option, because the Arrow memory allocator accesses internals of java.nio that have been encapsulated since JDK 17:
--add-opens java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED
This option is required when you:
- Use the GAQ REST API or the Continuous GAQ REST API, which return query results in Apache Arrow IPC format.
- Use Arrow as a data source or as an export format.
Other modules
The list above is not exhaustive: we don't guarantee that it is enough to run Atoti Server.
Our dependencies may require additional --add-opens.
Moving forward JDK versions, if you see in a stack trace that module XXX does not open YYY to an unnamed module, it means you are missing the JVM option --add-opens XXX/YYY=ALL-UNNAMED.