From 7.1.1 onward DS is supporting JDK17. JDK17 brings with it two new production ready GC algorithms ZGC and Shenandoah. ZGC is available in all builds and has received the most publicity so we are likely to start receiving requests to support it, especially given its focus on deterministic pause times and large heaps often associated with DS use cases.
This issue can be closed once the following tasks have been completed:
- verify and fix if needed DS self-tuning ergonomics. In particular, DS queries the runtime MXBeans to calibrate the DB cache size and other parameters
- compare the monitoring metrics used by ZGC with G1. Are they different? Will the differences cause problems in our monitoring endpoints and our default dashboard? Is documentation required?
- run functional and stress tests with JDK17+ZGC.
Note that it is not a goal of this issue to perform any benchmarking. This will be the subject of a separate issue.