You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Thomas Vandahl (Jira)" <ji...@apache.org> on 2021/11/28 16:54:00 UTC

[jira] [Resolved] (JCS-185) NoSuchObjectException: no such object in table | RemoteCacheListener

     [ https://issues.apache.org/jira/browse/JCS-185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Vandahl resolved JCS-185.
--------------------------------
    Fix Version/s: jcs-3.1
         Assignee: Thomas Vandahl
       Resolution: Not A Bug

> NoSuchObjectException: no such object in table | RemoteCacheListener
> --------------------------------------------------------------------
>
>                 Key: JCS-185
>                 URL: https://issues.apache.org/jira/browse/JCS-185
>             Project: Commons JCS
>          Issue Type: Bug
>          Components: RMI Remote Cache
>    Affects Versions: jcs-2.2
>            Reporter: Eduard Wirch
>            Assignee: Thomas Vandahl
>            Priority: Major
>             Fix For: jcs-3.1
>
>
> The JCS client reports this error when starting up:
> {code}
> 20-Nov-2017 12:00:37.856 SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.commons.jcs.auxiliary.remote.RemoteCacheManager.newRemoteCacheNoWait Problem adding listener. Message: RemoteException occurred in server thread; nested exception is: 
> 	java.rmi.NoSuchObjectException: no such object in table | RemoteCacheListener = 
>  RemoteCacheListener: 
>  AbstractRemoteCacheListener: 
>  RemoteHost = localhost:1103
>  ListenerId = 0
>  java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
> 	java.rmi.NoSuchObjectException: no such object in table
> 	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:377)
> 	at sun.rmi.transport.Transport$1.run(Transport.java:200)
> 	at sun.rmi.transport.Transport$1.run(Transport.java:197)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
> 	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:748)
> 	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 java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
> 	at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
> 	at com.sun.proxy.$Proxy174.addCacheListener(Unknown Source)
> 	at org.apache.commons.jcs.engine.CacheWatchRepairable.addCacheListener(CacheWatchRepairable.java:116)
> 	at org.apache.commons.jcs.auxiliary.remote.RemoteCacheManager.addRemoteCacheListener(RemoteCacheManager.java:183)
> 	at org.apache.commons.jcs.auxiliary.remote.RemoteCacheManager.newRemoteCacheNoWait(RemoteCacheManager.java:294)
> 	at org.apache.commons.jcs.auxiliary.remote.RemoteCacheManager.getCache(RemoteCacheManager.java:264)
> 	at org.apache.commons.jcs.auxiliary.remote.RemoteCacheFactory.createCache(RemoteCacheFactory.java:122)
> 	at org.apache.commons.jcs.engine.control.CompositeCacheConfigurator.parseAuxiliary(CompositeCacheConfigurator.java:500)
> 	at org.apache.commons.jcs.engine.control.CompositeCacheConfigurator.parseRegion(CompositeCacheConfigurator.java:261)
> 	at org.apache.commons.jcs.engine.control.CompositeCacheConfigurator.parseRegion(CompositeCacheConfigurator.java:161)
> 	at org.apache.commons.jcs.engine.control.CompositeCacheConfigurator.parseRegions(CompositeCacheConfigurator.java:136)
> 	at org.apache.commons.jcs.engine.control.CompositeCacheManager.doConfigure(CompositeCacheManager.java:490)
> 	at org.apache.commons.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:441)
> 	at org.apache.commons.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:391)
> 	at org.apache.commons.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:373)
> 	at org.apache.commons.jcs.JCS.getCacheManager(JCS.java:163)
> 	at org.apache.commons.jcs.JCS.getInstance(JCS.java:190)
> 	<my code>
> Caused by: java.rmi.NoSuchObjectException: no such object in table
> 	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)
> 	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)
> 	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162)
> 	at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
> 	at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
> 	at com.sun.proxy.$Proxy61.getLocalHostAddress(Unknown Source)
> 	at org.apache.commons.jcs.auxiliary.remote.server.RemoteCacheServer.addCacheListener(RemoteCacheServer.java:1385)
> 	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.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
> 	at sun.rmi.transport.Transport$1.run(Transport.java:200)
> 	at sun.rmi.transport.Transport$1.run(Transport.java:197)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
> 	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	... 1 more
> {code}
> The setup is like this:
> *Server*
> {code}
> registry.host=localhost
> registry.port=1103
> remote.cache.service.port=1102
> {code}
> is run in a Docker container, where port 1103 is published (and 1102 not).
> *Client*
> {code}
> jcs.auxiliary.RFailover.attributes.FailoverServers=localhost:1103
> jcs.auxiliary.RFailover.attributes.LocalPort=1102
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)