Re: Cannot disable system view JMX exporter via configuration
An update on the workaround. I'm now using below whitelist in my prometheus.yaml as previous workaround filtered out all spark driver and executor metrics: whitelistObjectNames: - "metrics:name=*" -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite throws "Failed to resolve class name" Exception
Hi Ilya, Sorry I get back to you late. I have key-value classes on the server node. The peer class loading is enabled. I'm not getting this error consistently so it's hard to reproduce. Below is the code snippet that throws the error: First I got CacheState object with tableName as the key: public class CacheState implements Serializable { private static final long serialVersionUID = 1L; @QuerySqlField(index=true) private String tableName; @QuerySqlField private long updateVersion; public CacheState() { } public CacheState(String tableName) { this.tableName = tableName; } public String getTableName() { return tableName; } public void setTableName(String tableName) { this.tableName = tableName; } public long getUpdateVersion() { return updateVersion; } public void setUpdateVersion(long updateVersion) { this.updateVersion = updateVersion; } And the error is thrown from this class: public class WindowOptimizer { private final Ignite ignite; private IgniteCache cacheStates; public void init() { if (cacheStates == null) { cacheStates = ignite.cache(CacheState.class.getSimpleName().toLowerCase()); } } } private IgniteFuture> updateCacheState(IgniteCompute compute, BaselinePeriod period, OffsetDateTime now, WindowOptimizerCfg cfg) { final IgniteFuture> future = compute.broadcastAsync(updater); future.listen(f -> { CacheState cacheState = cacheStates.get(tableName);<--- this line throws Exception }) } Thanks, tsipporah -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Ignite throws "Failed to resolve class name" Exception
Hi experts, I'm running ignite server node in k8s and recently I upgraded ignite to 2.10.0. Ignite is started with below command: /opt/rta/os/jre/bin/java -XX:+AggressiveOpts -Djava.net.preferIPv4Stack=true -XX:+UseG1GC -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -DIGNITE_QUIET=false -DIGNITE_SUCCESS_FILE=/opt/rta/os/ignite/work/ignite_success_f0dac24c-d7aa-48bd-82d6-1492ab47e18f -DIGNITE_HOME=/opt/rta/os/ignite -DIGNITE_PROG_NAME=/opt/rta/os/ignite/bin/ignite.sh -cp /opt/rta/os/ignite/libs/*:/opt/rta/os/ignite/libs/ignite-control-utility/*:/opt/rta/os/ignite/libs/ignite-indexing/*:/opt/rta/os/ignite/libs/ignite-kubernetes/*:/opt/rta/os/ignite/libs/ignite-rest-http/*:/opt/rta/os/ignite/libs/ignite-spring/*:/opt/rta/os/ignite/libs/licenses/*:/opt/rta/os/ignite/libs/rta-windows/* org.apache.ignite.startup.cmdline.CommandLineStartup /opt/rta/os/ignite/config/ignite-config.xml >From time to time I'm getting below exception that complain about "Failed to resolve class name": SEVERE: Failed to notify listener: com.rta.rtanalytics.baseline.common.compute.WindowOptimizer$$Lambda$918/1241362859@cd85226 javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Failed to resolve class name [platformId=0, platform=Java, typeId=-1052093315] at org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1263) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2083) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.get(IgniteCacheProxyImpl.java:1110) at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.get(GatewayProtectedCacheProxy.java:676) at com.rta.rtanalytics.baseline.common.compute.WindowOptimizer.lambda$updateCacheState$44eb080f$1(WindowOptimizer.java:177) at org.apache.ignite.internal.util.future.IgniteFutureImpl$InternalFutureListener.apply(IgniteFutureImpl.java:214) at org.apache.ignite.internal.util.future.IgniteFutureImpl$InternalFutureListener.apply(IgniteFutureImpl.java:179) at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:399) at org.apache.ignite.internal.util.future.GridFutureAdapter.unblock(GridFutureAdapter.java:347) at org.apache.ignite.internal.util.future.GridFutureAdapter.unblockAll(GridFutureAdapter.java:335) at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:511) at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:490) at org.apache.ignite.internal.processors.task.GridTaskWorker.finishTask(GridTaskWorker.java:1650) at org.apache.ignite.internal.processors.task.GridTaskWorker.finishTask(GridTaskWorker.java:1618) at org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1193) at org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:975) at org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1161) at org.apache.ignite.internal.processors.job.GridJobWorker.finishJob(GridJobWorker.java:965) at org.apache.ignite.internal.processors.job.GridJobWorker.finishJob(GridJobWorker.java:813) at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:662) at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:521) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: class org.apache.ignite.IgniteCheckedException: Failed to resolve class name [platformId=0, platform=Java, typeId=-1052093315] at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7587) at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:260) at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:172) at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:141) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:4893) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.repairableGet(GridCacheAdapter.java:4852) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:1470) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.get(IgniteCacheProxyImpl.java:1107) ... 22 more Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException: Failed to resolve class name [plat
Re: Cannot disable system view JMX exporter via configuration
Thanks for the reply. As a workaround, now I'm adding below whitelist to my prometheus.yaml and it's working. whitelistObjectNames: - "java.lang:type=OperatingSystem" - "java.lang:type=Threading" - "java.lang:type=Memory" tsippo -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Cannot disable system view JMX exporter via configuration
Hi experts, I have a question regarding setting system view JMX exporter via configuration. When I was using ignite 2.8.0 I had problem using prometheus jmx exporter to export metrics, with same issue described here https://issues.apache.org/jira/browse/IGNITE-13996 . And the workaround provided in this link was working for me: http://apache-ignite-users.70518.x6.nabble.com/prometheus-jmx-scrape-failed-td32000.html Basically the workaround was to disable JmxSystemViewExporterSpi via configuration IgniteConfiguration#setSystemViewExporterSpi. But after upgrading to 2.10.0 I can no longer use SqlViewExporterSpi since it's been removed from ignite-indexing package for reason described here: https://issues.apache.org/jira/browse/IGNITE-12921?filter=-4&jql=text%20~%20%22systemviewexporterspi%22%20order%20by%20created%20DESC. So I tried to disable JmxSystemViewExporterSpi as below: SystemViewExporter systemViewExporter = new JmxSystemViewExporterSpi(); systemViewExporter.setExportFilter( i -> false); IgniteConfiguration.setSystemViewExporterSpi(systemViewExporter) But then I got "Duplicate SPI name" Error. So it looks like I can no longer disable JmxSystemViewExporterSpi in 2.10.0? Is there any workaround to address this issue? 2021-04-06T19:34:27.129 [query-activatorhread] INFO org.apache.ignite.internal.processors.failure.FailureProcessor - Configured failure handler: [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT 2021-04-06T19:34:27.226 [query-activatorhread] ERROR org.apache.ignite.internal.IgniteKernal%shared-grid - Failed to start manager: GridManagerAdapter [enabled=true, name=o.a.i.i.managers.systemview.GridSystemViewManager] class org.apache.ignite.IgniteCheckedException: Duplicate SPI name (need to explicitly configure 'setName()' property): JmxSystemViewExporterSpi at org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:268) at org.apache.ignite.internal.managers.systemview.GridSystemViewManager.start(GridSystemViewManager.java:93) at org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1968) at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1184) at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2112) at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1758) at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1143) at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:663) at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:604) at org.apache.ignite.Ignition.getOrStart(Ignition.java:419) at com.rta.spark.framework.ignite.IgniteSystem.igniteConfig(IgniteSystem.java:124) Thanks, Tsippo -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/