Bug: nodetool with Java 8u331 returns "URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199'"
Status: Resolved
Priority: Urgent
Resolution: Fixed
Created: 26/Apr/22 11:47
Resolved: 05/May/22 11:17

 Error when {{{color:#0747a6}new NodeProbe("127.0.0.1", 7199){color}}} with {color:#de350b}JDK 1.8.0_332{color}:
{code:java}
java.io.IOException: Failed to retrieve RMIServer stub:
 javax.naming.InvalidNameException: Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199
 Root exception is java.lang.IllegalArgumentException: Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199 {code}

Here is the error stack trace:
{noformat}
2022-04-24 07:22:40 [grizzly-http-server-2] [INFO] c.b.h.b.s.c.CassandraMetrics - Probe to cassandra node: '127.0.0.1:7199'
2022-04-24 07:22:40 [grizzly-http-server-2] [WARN] c.b.h.b.s.c.CassandraMetrics - Unable to get metrics from host '127.0.0.1':
java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.InvalidNameException: Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199 [Root exception is java.lang.IllegalArgumentException: Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199]
    at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:369) ~[?:1.8.0_332]
    at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270) ~[?:1.8.0_332]
    at org.apache.cassandra.tools.NodeProbe.connect(NodeProbe.java:191) ~[cassandra-all-3.10.jar:3.10]
    at org.apache.cassandra.tools.NodeProbe.<init>(NodeProbe.java:158) ~[cassandra-all-3.10.jar:3.10]
    at com.baidu.hugegraph.backend.store.cassandra.CassandraMetrics.newNodeProbe(CassandraMetrics.java:308) ~[hugegraph-cassandra-0.13.0.jar:?]
    at com.baidu.hugegraph.backend.store.cassandra.CassandraMetrics.getMetricsByHost(CassandraMetrics.java:100) ~[hugegraph-cassandra-0.13.0.jar:?]
    at com.baidu.hugegraph.backend.store.cassandra.CassandraMetrics.executeAllHosts(CassandraMetrics.java:299) ~[hugegraph-cassandra-0.13.0.jar:?]
    at com.baidu.hugegraph.backend.store.cassandra.CassandraMetrics.metrics(CassandraMetrics.java:86) ~[hugegraph-cassandra-0.13.0.jar:?]
    at com.baidu.hugegraph.backend.store.cassandra.CassandraStore.lambda$registerMetaHandlers$0(CassandraStore.java:99) ~[hugegraph-cassandra-0.13.0.jar:?]
    at com.baidu.hugegraph.backend.store.MetaDispatcher.dispatchMetaHandler(MetaDispatcher.java:45) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
    at com.baidu.hugegraph.backend.store.AbstractBackendStore.metadata(AbstractBackendStore.java:53) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
    at com.baidu.hugegraph.backend.tx.AbstractTransaction.metadata(AbstractTransaction.java:109) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
    at com.baidu.hugegraph.StandardHugeGraph.metadata(StandardHugeGraph.java:975) ~[hugegraph-core-0.13.0.jar:0.13.0.0]
    at com.baidu.hugegraph.auth.HugeGraphAuthProxy.metadata(HugeGraphAuthProxy.java:669) ~[hugegraph-api-0.13.0.jar:0.67.0.0]
    at com.baidu.hugegraph.api.metrics.MetricsAPI.backend(MetricsAPI.java:87) ~[hugegraph-api-0.13.0.jar:0.67.0.0]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_332]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_332]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_332]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_332]
    at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) ~[jersey-common-2.25.1.jar:?]
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) ~[jersey-common-2.25.1.jar:?]
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315) ~[jersey-common-2.25.1.jar:?]
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297) ~[jersey-common-2.25.1.jar:?]
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267) ~[jersey-common-2.25.1.jar:?]
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) ~[jersey-common-2.25.1.jar:?]
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) ~[jersey-server-2.25.1.jar:?]
    at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:384) ~[jersey-container-grizzly2-http-2.25.1.jar:?]
    at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:200) ~[grizzly-http-server-2.4.4.jar:2.4.4]
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569) ~[grizzly-framework-2.4.4.jar:2.4.4]
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549) ~[grizzly-framework-2.4.4.jar:2.4.4]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332]
Caused by: javax.naming.InvalidNameException: Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199
    at com.sun.jndi.url.rmi.rmiURLContext$Parser.newNamingException(rmiURLContext.java:295) ~[?:1.8.0_332]
    at com.sun.jndi.url.rmi.rmiURLContext$Parser.parseCompat(rmiURLContext.java:223) ~[?:1.8.0_332]
    at com.sun.jndi.url.rmi.rmiURLContext$Parser.parse(rmiURLContext.java:109) ~[?:1.8.0_332]
    at com.sun.jndi.url.rmi.rmiURLContext.getRootURLContext(rmiURLContext.java:314) ~[?:1.8.0_332]
    at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:215) ~[?:1.8.0_332]
    at javax.naming.InitialContext.lookup(InitialContext.java:417) ~[?:1.8.0_332]
    at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1955) ~[?:1.8.0_332]
    at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1922) ~[?:1.8.0_332]
    at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:287) ~[?:1.8.0_332]
    ... 40 more
Caused by: java.lang.IllegalArgumentException: Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199
    at java.net.URI.create(URI.java:852) ~[?:1.8.0_332]
    at com.sun.jndi.url.rmi.rmiURLContext$Parser.parseCompat(rmiURLContext.java:213) ~[?:1.8.0_332]
    at com.sun.jndi.url.rmi.rmiURLContext$Parser.parse(rmiURLContext.java:109) ~[?:1.8.0_332]
    at com.sun.jndi.url.rmi.rmiURLContext.getRootURLContext(rmiURLContext.java:314) ~[?:1.8.0_332]
    at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:215) ~[?:1.8.0_332]
    at javax.naming.InitialContext.lookup(InitialContext.java:417) ~[?:1.8.0_332]
    at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1955) ~[?:1.8.0_332]
    at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1922) ~[?:1.8.0_332]
    at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:287) ~[?:1.8.0_332]
    ... 40 more
Caused by: java.net.URISyntaxException: Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199
    at java.net.URI$Parser.fail(URI.java:2873) ~[?:1.8.0_332]
    at java.net.URI$Parser.parseIPv6Reference(URI.java:3494) ~[?:1.8.0_332]
    at java.net.URI$Parser.parseServer(URI.java:3244) ~[?:1.8.0_332]
    at java.net.URI$Parser.parseAuthority(URI.java:3180) ~[?:1.8.0_332]
    at java.net.URI$Parser.parseHierarchical(URI.java:3122) ~[?:1.8.0_332]
    at java.net.URI$Parser.parse(URI.java:3078) ~[?:1.8.0_332]
    at java.net.URI.<init>(URI.java:588) ~[?:1.8.0_332]
    at java.net.URI.create(URI.java:850) ~[?:1.8.0_332]
    at com.sun.jndi.url.rmi.rmiURLContext$Parser.parseCompat(rmiURLContext.java:213) ~[?:1.8.0_332]
    at com.sun.jndi.url.rmi.rmiURLContext$Parser.parse(rmiURLContext.java:109) ~[?:1.8.0_332]
    at com.sun.jndi.url.rmi.rmiURLContext.getRootURLContext(rmiURLContext.java:314) ~[?:1.8.0_332]
    at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:215) ~[?:1.8.0_332]
    at javax.naming.InitialContext.lookup(InitialContext.java:417) ~[?:1.8.0_332]
    at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1955) ~[?:1.8.0_332]
    at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1922) ~[?:1.8.0_332]
    at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:287) ~[?:1.8.0_332]
    ... 40 more {noformat}