In preparation for an upgrade to Debian Bookworm, upgrade the Cassandra clusters to Java 17.
There is no default configuration specific to Java 17 in Cassandra 4.1.8 (the version in production use at the time of writing), so Cassandra 5.0.6 has been used as starting point (where support is considered experimental).
modules/cassandra/templates/jvm17-server.options-4.x.erb (as compared to modules/cassandra/templates/jvm11-server.options-4.x.erb):
| -XX:+ParallelRefProcEnabled | Was unset in Java 11 config (defaults to enabled?). Explicitly enables parallel reference processing. |
| -XX:MaxTenuringThreshold=2 | Was unset/commented out for Java 11 (commented entry was '1'), now 2 |
| -XX:G1HeapRegionSize | From 8m to 16m. We increased this to 8m in https://w.wiki/HvWr. |
| -XX:+UnlockExperimentalVMOptions | Was unset for Java 11, now (explicitly) enabled. |
| -XX:G0NewSizePercent=50 | Was unset in Java 11, now (explicitly) 50%. |
| -XX:MaxGCPauseMillis=300 | From unset (200ms?) to 300ms. |
| -XX:InitiatingHeapOccupancyPercent=70 | From unset (40%?) to 70% |
| -XX:ParallelGCThreads=16 | From unset in Java 11 to 16 threads now. Defaults to 5/8 the number of logical cores(?) |
