ES JVM use ZGC, esrally can't work

There is an error in the rally code (jvm_stats) when I set the ES Jvm use ZGC.


Traceback (most recent call last):

  File "/usr/local/python38/lib/python3.8/site-packages/esrally/", line 85, in guard
    return f(self, msg, sender)

  File "/usr/local/python38/lib/python3.8/site-packages/esrally/driver/", line 222, in receiveMsg_StartBenchmark

  File "/usr/local/python38/lib/python3.8/site-packages/esrally/driver/", line 460, in start_benchmark

  File "/usr/local/python38/lib/python3.8/site-packages/esrally/", line 76, in on_benchmark_start

  File "/usr/local/python38/lib/python3.8/site-packages/esrally/", line 977, in on_benchmark_start
    self.jvm_stats_per_node = self.jvm_stats()

  File "/usr/local/python38/lib/python3.8/site-packages/esrally/", line 1027, in jvm_stats
    old_gen_collection_time = gc["old"]["collection_time_in_millis"]

KeyError: 'old'

The ES reture gc data is

Whilst we don't support ZGC in Elasticsearch, Rally should be robust and fail gracefully when it is unable to collect such additional stats. Given this requires code changes please follow this bug report here.


1 Like


With ZGC, /_nodes/stats entry point do not report anymore old, young gc information for the jvm.

Enabling ZGC is experimental and rally do not support this for the time being.


This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.