Denis Chudov created IGNITE-24905: ------------------------------------- Summary: MetricSetMbean doesn't support custom composite metrics Key: IGNITE-24905 URL: https://issues.apache.org/jira/browse/IGNITE-24905 Project: Ignite Issue Type: Improvement Reporter: Denis Chudov
{code:java} 2025-01-28 21:47:51:210 +0000 [ERROR][%defaultNode%metastorage-watch-executor-3][JmxExporter] MBean for metric set expiration can't be created. javax.management.NotCompliantMBeanException: Bad getMBeanInfo() at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getNewMBeanClassName(Unknown Source) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Unknown Source) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Unknown Source) at org.apache.ignite.internal.metrics.exporters.jmx.JmxExporter.register(JmxExporter.java:125) at org.apache.ignite.internal.metrics.exporters.jmx.JmxExporter.start(JmxExporter.java:73) at org.apache.ignite.internal.metrics.exporters.jmx.JmxExporter.start(JmxExporter.java:36) at org.apache.ignite.internal.metrics.MetricManagerImpl.lambda$checkAndStartExporter$4(MetricManagerImpl.java:202) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source) at org.apache.ignite.internal.metrics.MetricManagerImpl.checkAndStartExporter(MetricManagerImpl.java:200) at org.apache.ignite.internal.metrics.MetricManagerImpl$ExporterConfigurationListener.onCreate(MetricManagerImpl.java:234) at org.apache.ignite.internal.configuration.notifications.ConfigurationNotifier.notifyPublicListeners(ConfigurationNotifier.java:483) at org.apache.ignite.internal.configuration.notifications.ConfigurationNotifier$1.visitNamedListNode(ConfigurationNotifier.java:201) at org.apache.ignite.internal.configuration.notifications.ConfigurationNotifier$1.visitNamedListNode(ConfigurationNotifier.java:122) at org.apache.ignite.internal.metrics.configuration.MetricNode.traverseChildren(Unknown Source) at org.apache.ignite.internal.configuration.notifications.ConfigurationNotifier.notifyListeners(ConfigurationNotifier.java:122) at org.apache.ignite.internal.configuration.notifications.ConfigurationNotifier$1.visitInnerNode(ConfigurationNotifier.java:153) at org.apache.ignite.internal.configuration.notifications.ConfigurationNotifier$1.visitInnerNode(ConfigurationNotifier.java:122) at org.apache.ignite.internal.configuration.ClusterNode.traverseChildren(Unknown Source) at org.apache.ignite.internal.configuration.notifications.ConfigurationNotifier.notifyListeners(ConfigurationNotifier.java:122) at org.apache.ignite.internal.configuration.notifications.ConfigurationNotifier.notifyListeners(ConfigurationNotifier.java:84) at org.apache.ignite.internal.configuration.ConfigurationRegistry$3$1.visitInnerNode(ConfigurationRegistry.java:198) at org.apache.ignite.internal.configuration.ConfigurationRegistry$3$1.visitInnerNode(ConfigurationRegistry.java:181) at org.apache.ignite.internal.configuration.SuperRoot.traverseChildren(SuperRoot.java:97) at org.apache.ignite.internal.configuration.ConfigurationRegistry$3.onConfigurationUpdated(ConfigurationRegistry.java:181) at org.apache.ignite.internal.configuration.ConfigurationChanger.lambda$configurationStorageListener$9(ConfigurationChanger.java:683) at org.apache.ignite.internal.configuration.storage.DistributedConfigurationStorage.lambda$registerConfigurationListener$3(DistributedConfigurationStorage.java:292) at org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:59) at org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:220) at org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$3(WatchProcessor.java:182) at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source) at java.base/java.util.concurrent.CompletableFuture$Completion.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: Unknown metric class class org.apache.ignite.internal.table.distributed.expiration.metrics.DetailedExpirationMetric at org.apache.ignite.internal.metrics.exporters.jmx.MetricSetMbean.metricClass(MetricSetMbean.java:171) at org.apache.ignite.internal.metrics.exporters.jmx.MetricSetMbean.lambda$getMBeanInfo$0(MetricSetMbean.java:122) at java.base/java.util.Iterator.forEachRemaining(Unknown Source) at java.base/java.util.Collections$UnmodifiableCollection$1.forEachRemaining(Unknown Source) at org.apache.ignite.internal.metrics.exporters.jmx.MetricSetMbean.getMBeanInfo(MetricSetMbean.java:119) ... 34 more{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)