This happens when accessing a gauge implementation that is provided by metrics (MemoryUsageGaugeSet), so we can catch this only in MetricUtils.convertGauge - it would be better to catch this earlier but that would mean reimplementing the gauge set.
InternalError is a really broad scope of error to ignore/log just because we assume it must be this specific situation ... can we at least improve the catch block to check the name/class of the Gauge to confirm it is in fact part of the MemoryUsageGaugeSet – and if not re-throw as is ?
or at the very least: check that the InternalError mentions "Memory Pool" ???