You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Devin Bost <de...@gmail.com> on 2021/10/25 17:44:29 UTC

Ignite 2.8.1 - JMX scrape failed: java.lang.IllegalArgumentException

Hi,

I noticed that we're getting a flood of these exceptions, and it looks like
Ignite 2.8.1 claimed to fix the issue. However, we are running 2.8.1, and
we're still seeing the issue.

It looks to be the same issue that was discussed here:
https://github.com/prometheus/jmx_exporter/issues/501
and it appears to be related to this issue as well:
https://github.com/prometheus/jmx_exporter/issues/483

Here's the stack trace:

Oct 25, 2021 5:40:37 PM io.prometheus.jmx.JmxCollector collect
SEVERE: JMX scrape failed: java.lang.IllegalArgumentException: Not an
Attribute:
javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=org.apache.ignite.spi.systemview.view.ComputeJobView,rowType=javax.management.openmbean.CompositeType(name=org.apache.ignite.spi.systemview.view.ComputeJobView,items=((itemName=affinityCacheIds,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=affinityPartitionId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=createTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=executorName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=finishTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=id,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=isFinishing,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isInternal,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isStarted,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isTimedOut,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=originNodeId,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=sessionId,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=startTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=state,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=systemViewRowId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=taskClassName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=taskName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)))),indexNames=(systemViewRowId)),contents={})
at
java.management/javax.management.AttributeList.adding(AttributeList.java:328)
at
java.management/javax.management.AttributeList.adding(AttributeList.java:335)
at
java.management/javax.management.AttributeList.asList(AttributeList.java:165)
at io.prometheus.jmx.JmxScraper.scrapeBean(JmxScraper.java:160)
at io.prometheus.jmx.JmxScraper.doScrape(JmxScraper.java:117)
at io.prometheus.jmx.JmxCollector.collect(JmxCollector.java:542)
at
io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:183)
at
io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:216)
at
io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:137)
at
io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:22)
at
io.prometheus.client.exporter.HTTPServer$HTTPMetricHandler.handle(HTTPServer.java:59)
at
jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
at
jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80)
at
jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:692)
at
jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
at
jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:664)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

How do we resolve this exception?

Devin G. Bost

Re: Ignite 2.8.1 - JMX scrape failed: java.lang.IllegalArgumentException

Posted by Stephen Darlington <st...@gridgain.com>.
I guess this was a response to another thread?

> On 26 Oct 2021, at 18:03, Prasad Kommoju <pk...@futurewei.com> wrote:
> 
> Here is the excerpt of the code:
>  
> It is a thinclient. Since I use this also to benchmark with millions of entries, I keep committing after a batch of rows, which is why there is a commit in the loop.
>  
> final String tblName = "PersonSQL";
> 
>         final String schName = "\"PersonSQL\"";
>         final String scanCacheName = "PersonSCN";
>         final String sqlCacheName = "com.futurewei.sfqx.SqlFieldQueryXML.PersonSQL";
> …
>         try {
>             // SQL Version:
>             ClientCache<String, PersonSQL> personSQLCache = client.cache(sqlCacheName);
> 
> …
>             PersonSQL[] samplePers = new PersonSQL[numEntries];
>             long[] qryTimes = new long[sample];
>             long[] resCount = new long[sample];
>             ClientTransaction ttxn = null;
>             Boolean noTxn = true;
>             int i, j = 0;
>             if (doPopulate) {
>                 long popStart = System.nanoTime();
>                 for (i = 0; i < numEntries; ++i) {
>                     try {
>                         if (noTxn) {
>                             ttxn = client.transactions().txStart();
>                             noTxn = false;
>                         }
>                         PersonSQL person = createPerson(rnd);
>                         personSQLCache.put(person.getSsn(), person);
> 
>                    …
>                         if ((i % sample) == 0) {
>                             samplePers[j++] = person;
>                             ttxn.commit();
>                             noTxn = true;
>                         }
>                     } catch (Exception e) {
>                         System.out.println("Failed to add entries to PersonCache" + e.getMessage());
>                         ttxn.rollback();
>                         throw e;
>                     }
>                 }
>  
>  
>  
> ---------------------
> Regards,
> Prasad Kommoju
>  
> From: Stephen Darlington <st...@gridgain.com> 
> Sent: Tuesday, October 26, 2021 1:42 AM
> To: user@ignite.apache.org
> Subject: Re: Ignite 2.8.1 - JMX scrape failed: java.lang.IllegalArgumentException
>  
> Why not switch to the OpenCensus exporter for Ignite?
>  
> https://ignite.apache.org/docs/latest/monitoring-metrics/new-metrics-system#opencensus <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fignite.apache.org%2Fdocs%2Flatest%2Fmonitoring-metrics%2Fnew-metrics-system%23opencensus&data=04%7C01%7Cpkommoju%40futurewei.com%7C25635cbc24554b6c872108d9985c8689%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637708345441910602%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=b9Ezq3Ttm%2FrCmIoplIg1t8SoJJ3gLA4yJqu7OE7czQc%3D&reserved=0>
>  
> For the JMX exporter, there appears to be a blacklistObjectNames you can use to exclude certain metrics.
>  
> Regards,
> Stephen
> 
> 
> On 25 Oct 2021, at 18:44, Devin Bost <devin.bost@gmail.com <ma...@gmail.com>> wrote:
>  
> Hi,
>  
> I noticed that we're getting a flood of these exceptions, and it looks like Ignite 2.8.1 claimed to fix the issue. However, we are running 2.8.1, and we're still seeing the issue.
>  
> It looks to be the same issue that was discussed here: https://github.com/prometheus/jmx_exporter/issues/501 <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fprometheus%2Fjmx_exporter%2Fissues%2F501&data=04%7C01%7Cpkommoju%40futurewei.com%7C25635cbc24554b6c872108d9985c8689%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637708345441920560%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Rl%2FyNpWpMnqrCfQZy6eXu1SxnB%2FS9kcUGndWslr5D1o%3D&reserved=0>
> and it appears to be related to this issue as well: https://github.com/prometheus/jmx_exporter/issues/483 <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fprometheus%2Fjmx_exporter%2Fissues%2F483&data=04%7C01%7Cpkommoju%40futurewei.com%7C25635cbc24554b6c872108d9985c8689%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637708345441920560%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=IzOGC7Mql08DrUxFCKJZsOxGMFUvjEqDiBCTQrhdbaw%3D&reserved=0>
>  
> Here's the stack trace:
>  
> Oct 25, 2021 5:40:37 PM io.prometheus.jmx.JmxCollector collect
> SEVERE: JMX scrape failed: java.lang.IllegalArgumentException: Not an Attribute: javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=org.apache.ignite.spi.systemview.view.ComputeJobView,rowType=javax.management.openmbean.CompositeType(name=org.apache.ignite.spi.systemview.view.ComputeJobView,items=((itemName=affinityCacheIds,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=affinityPartitionId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=createTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=executorName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=finishTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=id,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=isFinishing,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isInternal,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isStarted,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isTimedOut,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=originNodeId,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=sessionId,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=startTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=state,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=systemViewRowId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=taskClassName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=taskName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)))),indexNames=(systemViewRowId)),contents={})
> at java.management/javax.management.AttributeList.adding(AttributeList.java:328)
> at java.management/javax.management.AttributeList.adding(AttributeList.java:335)
> at java.management/javax.management.AttributeList.asList(AttributeList.java:165)
> at io.prometheus.jmx.JmxScraper.scrapeBean(JmxScraper.java:160)
> at io.prometheus.jmx.JmxScraper.doScrape(JmxScraper.java:117)
> at io.prometheus.jmx.JmxCollector.collect(JmxCollector.java:542)
> at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:183)
> at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:216)
> at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:137)
> at io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:22)
> at io.prometheus.client.exporter.HTTPServer$HTTPMetricHandler.handle(HTTPServer.java:59)
> at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
> at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
> at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80)
> at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:692)
> at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
> at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:664)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:829)
>  
> How do we resolve this exception? 
>  
> Devin G. Bost



RE: Ignite 2.8.1 - JMX scrape failed: java.lang.IllegalArgumentException

Posted by Prasad Kommoju <pk...@futurewei.com>.
Here is the excerpt of the code:

It is a thinclient. Since I use this also to benchmark with millions of entries, I keep committing after a batch of rows, which is why there is a commit in the loop.

final String tblName = "PersonSQL";

        final String schName = "\"PersonSQL\"";
        final String scanCacheName = "PersonSCN";
        final String sqlCacheName = "com.futurewei.sfqx.SqlFieldQueryXML.PersonSQL";
...
        try {
            // SQL Version:
            ClientCache<String, PersonSQL> personSQLCache = client.cache(sqlCacheName);

...
            PersonSQL[] samplePers = new PersonSQL[numEntries];
            long[] qryTimes = new long[sample];
            long[] resCount = new long[sample];
            ClientTransaction ttxn = null;
            Boolean noTxn = true;
            int i, j = 0;
            if (doPopulate) {
                long popStart = System.nanoTime();
                for (i = 0; i < numEntries; ++i) {
                    try {
                        if (noTxn) {
                            ttxn = client.transactions().txStart();
                            noTxn = false;
                        }
                        PersonSQL person = createPerson(rnd);
                        personSQLCache.put(person.getSsn(), person);

                   ...
                        if ((i % sample) == 0) {
                            samplePers[j++] = person;
                            ttxn.commit();
                            noTxn = true;
                        }
                    } catch (Exception e) {
                        System.out.println("Failed to add entries to PersonCache" + e.getMessage());
                        ttxn.rollback();
                        throw e;
                    }
                }



---------------------
Regards,
Prasad Kommoju

From: Stephen Darlington <st...@gridgain.com>
Sent: Tuesday, October 26, 2021 1:42 AM
To: user@ignite.apache.org
Subject: Re: Ignite 2.8.1 - JMX scrape failed: java.lang.IllegalArgumentException

Why not switch to the OpenCensus exporter for Ignite?

https://ignite.apache.org/docs/latest/monitoring-metrics/new-metrics-system#opencensus<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fignite.apache.org%2Fdocs%2Flatest%2Fmonitoring-metrics%2Fnew-metrics-system%23opencensus&data=04%7C01%7Cpkommoju%40futurewei.com%7C25635cbc24554b6c872108d9985c8689%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637708345441910602%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=b9Ezq3Ttm%2FrCmIoplIg1t8SoJJ3gLA4yJqu7OE7czQc%3D&reserved=0>

For the JMX exporter, there appears to be a blacklistObjectNames you can use to exclude certain metrics.

Regards,
Stephen


On 25 Oct 2021, at 18:44, Devin Bost <de...@gmail.com>> wrote:

Hi,

I noticed that we're getting a flood of these exceptions, and it looks like Ignite 2.8.1 claimed to fix the issue. However, we are running 2.8.1, and we're still seeing the issue.

It looks to be the same issue that was discussed here: https://github.com/prometheus/jmx_exporter/issues/501<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fprometheus%2Fjmx_exporter%2Fissues%2F501&data=04%7C01%7Cpkommoju%40futurewei.com%7C25635cbc24554b6c872108d9985c8689%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637708345441920560%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Rl%2FyNpWpMnqrCfQZy6eXu1SxnB%2FS9kcUGndWslr5D1o%3D&reserved=0>
and it appears to be related to this issue as well: https://github.com/prometheus/jmx_exporter/issues/483<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fprometheus%2Fjmx_exporter%2Fissues%2F483&data=04%7C01%7Cpkommoju%40futurewei.com%7C25635cbc24554b6c872108d9985c8689%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637708345441920560%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=IzOGC7Mql08DrUxFCKJZsOxGMFUvjEqDiBCTQrhdbaw%3D&reserved=0>

Here's the stack trace:

Oct 25, 2021 5:40:37 PM io.prometheus.jmx.JmxCollector collect
SEVERE: JMX scrape failed: java.lang.IllegalArgumentException: Not an Attribute: javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=org.apache.ignite.spi.systemview.view.ComputeJobView,rowType=javax.management.openmbean.CompositeType(name=org.apache.ignite.spi.systemview.view.ComputeJobView,items=((itemName=affinityCacheIds,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=affinityPartitionId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=createTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=executorName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=finishTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=id,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=isFinishing,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isInternal,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isStarted,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isTimedOut,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=originNodeId,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=sessionId,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=startTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=state,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=systemViewRowId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=taskClassName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=taskName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)))),indexNames=(systemViewRowId)),contents={})
at java.management/javax.management.AttributeList.adding(AttributeList.java:328)
at java.management/javax.management.AttributeList.adding(AttributeList.java:335)
at java.management/javax.management.AttributeList.asList(AttributeList.java:165)
at io.prometheus.jmx.JmxScraper.scrapeBean(JmxScraper.java:160)
at io.prometheus.jmx.JmxScraper.doScrape(JmxScraper.java:117)
at io.prometheus.jmx.JmxCollector.collect(JmxCollector.java:542)
at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:183)
at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:216)
at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:137)
at io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:22)
at io.prometheus.client.exporter.HTTPServer$HTTPMetricHandler.handle(HTTPServer.java:59)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:692)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:664)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

How do we resolve this exception?

Devin G. Bost


Re: Ignite 2.8.1 - JMX scrape failed: java.lang.IllegalArgumentException

Posted by Stephen Darlington <st...@gridgain.com>.
Why not switch to the OpenCensus exporter for Ignite?

https://ignite.apache.org/docs/latest/monitoring-metrics/new-metrics-system#opencensus

For the JMX exporter, there appears to be a blacklistObjectNames you can use to exclude certain metrics.

Regards,
Stephen

> On 25 Oct 2021, at 18:44, Devin Bost <de...@gmail.com> wrote:
> 
> Hi,
> 
> I noticed that we're getting a flood of these exceptions, and it looks like Ignite 2.8.1 claimed to fix the issue. However, we are running 2.8.1, and we're still seeing the issue.
> 
> It looks to be the same issue that was discussed here: https://github.com/prometheus/jmx_exporter/issues/501 <https://github.com/prometheus/jmx_exporter/issues/501>
> and it appears to be related to this issue as well: https://github.com/prometheus/jmx_exporter/issues/483 <https://github.com/prometheus/jmx_exporter/issues/483>
> 
> Here's the stack trace:
> 
> Oct 25, 2021 5:40:37 PM io.prometheus.jmx.JmxCollector collect
> SEVERE: JMX scrape failed: java.lang.IllegalArgumentException: Not an Attribute: javax.management.openmbean.TabularDataSupport(tabularType=javax.management.openmbean.TabularType(name=org.apache.ignite.spi.systemview.view.ComputeJobView,rowType=javax.management.openmbean.CompositeType(name=org.apache.ignite.spi.systemview.view.ComputeJobView,items=((itemName=affinityCacheIds,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=affinityPartitionId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=createTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=executorName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=finishTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=id,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=isFinishing,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isInternal,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isStarted,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=isTimedOut,itemType=javax.management.openmbean.SimpleType(name=java.lang.Boolean)),(itemName=originNodeId,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=sessionId,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=startTime,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=state,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=systemViewRowId,itemType=javax.management.openmbean.SimpleType(name=java.lang.Integer)),(itemName=taskClassName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)),(itemName=taskName,itemType=javax.management.openmbean.SimpleType(name=java.lang.String)))),indexNames=(systemViewRowId)),contents={})
> at java.management/javax.management.AttributeList.adding(AttributeList.java:328)
> at java.management/javax.management.AttributeList.adding(AttributeList.java:335)
> at java.management/javax.management.AttributeList.asList(AttributeList.java:165)
> at io.prometheus.jmx.JmxScraper.scrapeBean(JmxScraper.java:160)
> at io.prometheus.jmx.JmxScraper.doScrape(JmxScraper.java:117)
> at io.prometheus.jmx.JmxCollector.collect(JmxCollector.java:542)
> at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:183)
> at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:216)
> at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:137)
> at io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:22)
> at io.prometheus.client.exporter.HTTPServer$HTTPMetricHandler.handle(HTTPServer.java:59)
> at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
> at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
> at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80)
> at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:692)
> at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
> at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:664)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:829)
> 
> How do we resolve this exception? 
> 
> Devin G. Bost