"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, tools, and much more.