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 <stephen.darling...@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.b...@gmail.com<mailto:devin.b...@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