JvmMonitor: Handle more generation and collector scenarios. (#12469)
authorGian Merlino <gian@imply.io>
Wed, 27 Apr 2022 18:18:40 +0000 (11:18 -0700)
committerGitHub <noreply@github.com>
Wed, 27 Apr 2022 18:18:40 +0000 (11:18 -0700)
commit72d15ab321851e8b97ac10fcd6c71c5828af3ab6
tree9c606b3a84c031fe822af4db1a98065bca004ffd
parente7e49ec9c857641efe1548f438e2d203248de7ea
JvmMonitor: Handle more generation and collector scenarios. (#12469)

* JvmMonitor: Handle more generation and collector scenarios.

ZGC on Java 11 only has a generation 1 (there is no 0). This causes
a NullPointerException when trying to extract the spacesCount for
generation 0. In addition, ZGC on Java 15 has a collector number 2
but no spaces in generation 2, which breaks the assumption that
collectors always have same-numbered spaces.

This patch adjusts things to be more robust, enabling the JvmMonitor
to work properly for ZGC on both Java 11 and 15.

* Test adjustments.

* Improve surefire arglines.

* Need a placeholder
benchmarks/pom.xml
core/pom.xml
core/src/main/java/org/apache/druid/java/util/metrics/JvmMonitor.java
core/src/test/java/org/apache/druid/java/util/metrics/JvmMonitorTest.java
pom.xml
processing/pom.xml