"java.rmi.NoSuchObjectException: no such object in table" during fabric:ensemble-add
Issue
When trying to enlarge the Fabric registry using the Karaf command fabric:ensemble-add it fails quickly with the error
io.fabric8.api.FabricException: java.rmi.NoSuchObjectException: no such object in table
Other Fabric operations like fabric:createor fabric:join work just fine.
The Fabric containers to be added to the ensemble run on OSes that have customized /etc/hosts files, where the actual host name is mapped to the loopback interface as in this example:
127.0.0.1 roothost.localdomain roothost
The problem exists irrespective of the Fabric resolver being specified (e.g. manual_ipor localip).
The full error of running fabric:ensemble-add reads:
2018-08-16 12:45:18,147 | ERROR | l Console Thread | Console | 37 - org.apache.karaf.shell.console - 2.4.0.redhat-630347 | Exception caught while executing command
io.fabric8.api.EnsembleModificationFailed: io.fabric8.api.FabricException: java.rmi.NoSuchObjectException: no such object in table
at io.fabric8.api.EnsembleModificationFailed.launderThrowable(EnsembleModificationFailed.java:47)
at io.fabric8.internal.ZooKeeperClusterServiceImpl.createCluster(ZooKeeperClusterServiceImpl.java:406)
at io.fabric8.commands.EnsembleAddAction.doExecute(EnsembleAddAction.java:126)
at org.apache.karaf.shell.console.AbstractAction.execute(AbstractAction.java:33)
at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
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 org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
at io.fabric8.commands.$EnsembleAdd466540623.execute(Unknown Source)
at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:92)
at org.apache.karaf.shell.console.jline.Console.run(Console.java:197)
at org.apache.karaf.shell.console.jline.DelayedStarted.run(DelayedStarted.java:79)
Caused by: io.fabric8.api.FabricException: java.rmi.NoSuchObjectException: no such object in table
at io.fabric8.api.FabricException.launderThrowable(FabricException.java:43)
at io.fabric8.service.ContainerTemplate.createConnector(ContainerTemplate.java:163)
at io.fabric8.service.ContainerTemplate$1.createConnector(ContainerTemplate.java:54)
at io.fabric8.service.NonCachingJmxTemplate.execute(NonCachingJmxTemplate.java:32)
at io.fabric8.service.ContainerTemplate.execute(ContainerTemplate.java:84)
at io.fabric8.internal.ZooKeeperClusterServiceImpl.publicPort(ZooKeeperClusterServiceImpl.java:441)
at io.fabric8.internal.ZooKeeperClusterServiceImpl.createCluster(ZooKeeperClusterServiceImpl.java:271)
... 19 more
Caused by: java.rmi.NoSuchObjectException: no such object in table
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:283)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:260)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2430)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:308)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
at io.fabric8.service.ContainerTemplate.createConnector(ContainerTemplate.java:159)
... 24 more
Environment
- Fuse 6.3
- Fabric mode
- using manual_ip or localip resolver in Fabric
- custom /etc/hosts configuration
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
