[INFRAUTILS-36] showSvcStatus: Status retrieval JMX Operation failed for node 127.0.0.1 (NoSuchElementException) at acquireServiceStatusDetailed(DiagStatusServiceMBeanImpl.java:119) Created: 02/May/18 Updated: 02/May/18 Resolved: 02/May/18 |
|
| Status: | Resolved |
| Project: | infrautils |
| Component/s: | None |
| Affects Version/s: | Fluorine |
| Fix Version/s: | Fluorine |
| Type: | Bug | Priority: | Medium |
| Reporter: | Michael Vorburger | Assignee: | Michael Vorburger |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
jluhrsen raised this on https://lists.opendaylight.org/pipermail/infrautils-dev/2018-May/000689.html : karaf@root()> feature:install odl-openflowplugin-flow-services-rest odl-infrautils-diagstatus odl-infrautils-ready karaf@root()> showSvcStatus Timestamp: Tue May 01 16:19:56 PDT 2018 Status retrieval JMX Operation failed for node 127.0.0.1~ karaf@root()> and this log: 2018-05-01T16:19:56,330 | ERROR | pipe-showSvcStatus | DiagStatusCommand | 250 - org.opendaylight.infrautils.diagstatus-shell - 1.4.0.SNAPSHOT | Exception while reaching Host 127.0.0.1
javax.management.RuntimeMBeanException: java.util.NoSuchElementException: No value present
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(DefaultMBeanServerInterceptor.java:839) [?:?]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrowMaybeMBeanException(DefaultMBeanServerInterceptor.java:852) [?:?]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:821) [?:?]
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [?:?]
at org.opendaylight.infrautils.diagstatus.MBeanUtils.invokeMBeanFunction(MBeanUtils.java:134) [248:org.opendaylight.infrautils.diagstatus-api:1.4.0.SNAPSHOT]
at org.opendaylight.infrautils.diagstatus.shell.DiagStatusCommand.getLocalStatusSummary(DiagStatusCommand.java:71) [250:org.opendaylight.infrautils.diagstatus-shell:1.4.0.SNAPSHOT]
at org.opendaylight.infrautils.diagstatus.shell.DiagStatusCommand.execute(DiagStatusCommand.java:49) [250:org.opendaylight.infrautils.diagstatus-shell:1.4.0.SNAPSHOT]
at org.apache.karaf.shell.commands.basic.AbstractCommand.execute(AbstractCommand.java:34) [49:org.apache.karaf.shell.core:4.1.5]
at Proxyb09c3b98_2f98_4a06_b5dd_f9bfb4b3d6de.execute(Unknown Source) [?:?]
at org.apache.karaf.shell.compat.CommandTracker.execute(CommandTracker.java:120) [49:org.apache.karaf.shell.core:4.1.5]
at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68) [49:org.apache.karaf.shell.core:4.1.5]
at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86) [49:org.apache.karaf.shell.core:4.1.5]
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:571) [49:org.apache.karaf.shell.core:4.1.5]
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:497) [49:org.apache.karaf.shell.core:4.1.5]
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:386) [49:org.apache.karaf.shell.core:4.1.5]
at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:417) [49:org.apache.karaf.shell.core:4.1.5]
at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229) [49:org.apache.karaf.shell.core:4.1.5]
at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59) [49:org.apache.karaf.shell.core:4.1.5]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.util.NoSuchElementException: No value present
at java.util.Optional.get(Optional.java:135) ~[?:?]
at org.opendaylight.infrautils.diagstatus.internal.DiagStatusServiceMBeanImpl.acquireServiceStatusDetailed(DiagStatusServiceMBeanImpl.java:119) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) ~[?:?]
at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) ~[?:?]
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) ~[?:?]
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) ~[?:?]
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) ~[?:?]
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) ~[?:?]
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) ~[?:?]
at javax.management.StandardMBean.invoke(StandardMBean.java:405) ~[?:?]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) ~[?:?]
... 19 more
|
| Comments |
| Comment by Michael Vorburger [ 02/May/18 ] |
|
> at org.opendaylight.infrautils.diagstatus.internal.DiagStatusServiceMBeanImpl.acquireServiceStatusDetailed(DiagStatusServiceMBeanImpl.java:119) ~[?:?] I was a bit puzzled by this because line 119 in DiagStatusServiceMBeanImpl has no Optional.get(), until I remember that jluhrsen was working on .append(status.getErrorCause().get()) which is causing this. So this is a mistake on that change, which is not present. I'll therefore put a review comment on that change and close this issue. Staring at this code, and this comment from jluhrsen, has however prompted me to question something in that code:
and I'll follow-up on that in |
| Comment by Jamo Luhrsen [ 02/May/18 ] |
|
I updated I tried to see if I could replicate the problem with a unit test and I thought I was close with this but I realize Anyway, I can help/debug, but I think I'm limited with what I can do on my own from there. Looking for |