[ 
https://issues.apache.org/jira/browse/IGNITE-24905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Chudov reassigned IGNITE-24905:
-------------------------------------

    Assignee: Denis Chudov

> 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
>            Assignee: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> {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)

Reply via email to