[ZBX-19587] clarify why JMX item is unsupported in case of InstanceNotFoundException Created: 2021 Jun 18 Updated: 2024 Apr 10 Resolved: 2021 Nov 29 |
|
Status: | Closed |
Project: | ZABBIX BUGS AND ISSUES |
Component/s: | Java gateway (J) |
Affects Version/s: | 5.4.1 |
Fix Version/s: | 5.0.18rc1, 5.4.8rc1, 6.0.0alpha7, 6.0 (plan) |
Type: | Problem report | Priority: | Major |
Reporter: | Oleksii Zagorskyi | Assignee: | Vladislavs Sokurenko |
Resolution: | Fixed | Votes: | 1 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Attachments: |
![]() |
||||
Issue Links: |
|
||||
Team: | |||||
Sprint: | Sprint 77 (Jun 2021), Sprint 78 (Jul 2021), Sprint 79 (Aug 2021), Sprint 80 (Sep 2021), Sprint 81 (Oct 2021), Sprint 82 (Nov 2021) | ||||
Story Points: | 0.5 |
Description |
I use key:
jmx["java.lang:type=GarbageCollector,name=PS MarkSweep",LastGcInfo.startTime]
Imagine that I used incorrect mbean name so my items gets unsupported with an error description in frontend just: java.lang:type=GarbageCollector,name=PS MarkSweep While if look to debug of java gateway we also can see this quite useful word: javax.management.InstanceNotFoundException Here is full debug: 2021-06-18 13:47:49.324 [pool-1-thread-1] DEBUG com.zabbix.gateway.SocketProcessor - dispatched request to class com.zabbix.gateway.JMXItemChecker 2021-06-18 13:47:49.325 [pool-1-thread-1] DEBUG c.z.g.ZabbixJMXConnectorFactory - connecting to JMX agent at 'service:jmx:rmi:///jndi/rmi://127.0.0.1:12345/jmxrmi' 2021-06-18 13:47:49.425 [pool-1-thread-1] DEBUG com.zabbix.gateway.ItemChecker - getting value for item 'jmx["java.lang:type=GarbageCollector,name=PS MarkSweep",LastGcInfo.startTime]' 2021-06-18 13:47:49.441 [pool-1-thread-1] DEBUG com.zabbix.gateway.ItemChecker - caught exception for item 'jmx["java.lang:type=GarbageCollector,name=PS MarkSweep",LastGcInfo.startTime]' javax.management.InstanceNotFoundException: java.lang:type=GarbageCollector,name=PS MarkSweep at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095) ~[na:na] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:643) ~[na:na] at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678) ~[na:na] at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1445) ~[na:na] at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) ~[na:na] at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) ~[na:na] at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401) ~[na:na] at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:639) ~[na:na] at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:na] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346) ~[na:na] at sun.rmi.transport.Transport$1.run(Transport.java:200) ~[na:na] at sun.rmi.transport.Transport$1.run(Transport.java:197) ~[na:na] at java.security.AccessController.doPrivileged(Native Method) ~[na:na] at sun.rmi.transport.Transport.serviceCall(Transport.java:196) ~[na:na] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) ~[na:na] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) ~[na:na] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) ~[na:na] at java.security.AccessController.doPrivileged(Native Method) ~[na:na] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) ~[na:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:na] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:na] at java.lang.Thread.run(Thread.java:745) ~[na:na] at java.rmi/sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:303) ~[na:na] at java.rmi/sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:279) ~[na:na] at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:164) ~[na:na] at jdk.remoteref/jdk.jmx.remote.internal.rmi.PRef.invoke(Unknown Source) ~[na:na] at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source) ~[na:na] at java.management.rmi/javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:904) ~[na:na] at com.zabbix.gateway.JMXItemChecker.getStringValue(JMXItemChecker.java:184) ~[zabbix-java-gateway.jar:na] at com.zabbix.gateway.ItemChecker.getJSONValue(ItemChecker.java:92) ~[zabbix-java-gateway.jar:na] at com.zabbix.gateway.JMXItemChecker.getValues(JMXItemChecker.java:107) ~[zabbix-java-gateway.jar:na] at com.zabbix.gateway.SocketProcessor.run(SocketProcessor.java:79) ~[zabbix-java-gateway.jar:na] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:830) ~[na:na] 2021-06-18 13:47:49.444 [pool-1-thread-1] DEBUG c.z.gateway.BinaryProtocolSpeaker - sending the following data in response: {"data":[{"error":"java.lang:type=GarbageCollector,name=PS MarkSweep"}],"response" 2021-06-18 13:47:49.445 [pool-1-thread-1] DEBUG com.zabbix.gateway.SocketProcessor - finished processing incoming connection I wonder, wold it be possible to include the "InstanceNotFoundException" part to error message too? That would be much more clear that it's a response form a remote JMX agent, but not sole local side issue. |
Comments |
Comment by Oleksii Zagorskyi [ 2021 Jun 18 ] |
Interesting that this issue supposed to be fixed in |
Comment by Vladislavs Sokurenko [ 2021 Nov 09 ] |
Fixed in pull request feature/ZBX-19587-5.0 |
Comment by Vladislavs Sokurenko [ 2021 Nov 12 ] |
Fixed in:
|