Description
The SolrMetricManager.overridableRegistryName() method is a great idea but unfortunately in practice I've found it doesn't really work; it seems fundamentally flawed. I wish it could work. The main issue I think is that the callers of SMM.registerGauge/registerMetric assumes it can place a gauge/metric and have it be the only once there (force==true). But it won't be if it's shared.
Another problem is in at least one of the reporters – JmxMetricsReporter.JmxListener#registerMBean will get in a race condition to remove an already-registered MBean but in the process of removing it, it'll already get removed concurrently by some other core working on the same name. This results in javax.management.InstanceNotFoundException logged as a warning; nothing serious. But I suspect conceptually there is a problem since which MBean should "win"? Shrug.
Attachments
Attachments
Issue Links
- links to