8

I am using object cache to cache the result obtained from broker database. We are using the cache channel service to invalidate the cache so that user can see the latest content. I am getting the following error in log file and the items are not updated on the website.

ERROR RMICacheChannelConnector - RMI Cache channel connector lost connection, will attempt to reconnect
java.rmi.ConnectException: Connection refused to host: 10.202.5.92; nested exception is: 
    java.net.ConnectException: Connection refused: connect
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source) ~[na:1.6.0_41]
    at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) ~[na:1.6.0_41]
    at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) ~[na:1.6.0_41]
    at sun.rmi.server.UnicastRef.invoke(Unknown Source) ~[na:1.6.0_41]
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source) ~[na:1.6.0_41]
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source) ~[na:1.6.0_41]
    at com.sun.proxy.$Proxy46.isAlive(Unknown Source) ~[na:na]
    at com.tridion.cache.RMICacheChannelConnector.validate(RMICacheChannelConnector.java:154) ~[cd_cache.jar:na]
    at com.tridion.cache.CacheChannel$EventThread.processQueue(CacheChannel.java:581) [cd_cache.jar:na]
    at com.tridion.cache.CacheChannel$EventThread.run(CacheChannel.java:628) [cd_cache.jar:na]
    at java.lang.Thread.run(Unknown Source) [na:1.6.0_41]
    at com.tridion.util.LoggingThread.run(LoggingThread.java:117) [cd_core.jar:na]

I have tried restartign the CCS as well as the httpupload but no result. Please advice.

The http uploader is able to connect to cache channel service but getting error when the website application tries to connect to it

 ERROR EventWorker - Could not send message [CacheEvent eventType=Invalidate regionPath=/com_tridion_linking_PageLinkInfo key=80:88832] to listener (65e1cda:13f5fe26756:-7ffdaffffffca55c) Proxy[RemoteCacheListener,RemoteObjectInvocationHandler[UnicastRef [liveRef: [endpoint:[10.202.5.92:38916](remote),objID:[65e1cda:13f5fe26756:-7ffe, -1896972905329995910]]]]] Connection refused to host: 10.202.5.92; nested exception is: 
    java.net.ConnectException: Connection refused: connect
java.rmi.ConnectException: Connection refused to host: 10.202.5.92; nested exception is: 

Adding the configuration setting for CCS

 <ObjectCache Enabled="true">
      <Policy Type="LRU" Class="com.tridion.cache.LRUPolicy">
      </Policy>
      <Features>
        <Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker" />
      </Features>
      <RemoteSynchronization Host="127.0.0.1" Port="1099" Queuesize="128" ServiceMonitorInterval="10000" FlushCacheDuringDisconnectInterval=”0” />                               
    </ObjectCache>
  • Sounds like it could be a firewall issue. I'm not sure what port is used to communicate over Java RMI though. – Rob Stevenson-Leggett Jun 14 '13 at 7:49
  • But its a dev server and the CDE,deployer and cms are on the same server. port is 1099 – rdhaundiyal Jun 14 '13 at 7:51
  • Could you add the XML that you are using to configure the Cache Channel Service please? I have not checked my own dev machine, but it appears strange that this is trying to communicate on IP Address 10.202.5.92 and not 127.0.0.1. – Jonathan Williams Jun 20 '13 at 8:27
  • Hi Jonathan, I have added teh snippet which i have used in HTTP upload and website config file – rdhaundiyal Jun 20 '13 at 10:45
  • 1
    I'd say that "Adding the configuration setting for CCS" in the Q above should be changed to "Adding the configuration setting for Object Cache" since CCS does not read this file. Further: "... but getting error when the website application tries to connect to it" is also not correct statement. The web application does not know that "... PageLinkInfo key=80:88832 ..." needs to be invalidated. It is only the deployer/uploader that knows that and sends this message to CCS. Then CCS tries to propagate that info to the web app. Does the error come from the CCS log? My comment is for clarification. – Venko Ivanov Jun 20 '13 at 11:19
9

Are you running the CCS on the same server as your webapplication?

I would recheck the following:

  • If the IP and Port (default is 1099) is correctly configured
  • Firewall issues
  • Try to publish items after restart CCS and webapp 2 times, sometimes the first update will fail (known issue in 2009, but probably also in 2011).
  • Use for the time being until you found the solution the FlushCacheDuringDisconnectInterval attribute.

Hope it helps.

  • Hi Harmen, I have already checked the above items. The CCs and web app are running on the same server so i believe there should not be any firewall issue. – rdhaundiyal Jun 14 '13 at 10:15
  • Maybe the RMI CCS does not use one port, but a range of ports. The port you configure is for initialization. The actual messages will be sent over another port. Just as a note, this won't matter if you do not have a firewall. – Jan H Jun 14 '13 at 11:37
  • Hi... as far as my knowledge goes, this should be a configuration issue. Running the webapplication, uploader/deployer and the CCS on 1 server without any firewall shouldn't cause any issues with proper configuration. In this case, considder to contact Tridion support. A lot of settings should be checked, like broker config file and your server settings. There is too much to check and mention on this topic. – Harmen Jun 14 '13 at 14:23
6

The best is to contact Tridion Customer Support and provide them with the configuration files you use: in this case the cd_broker_conf.xml or(/and) cd_storage_conf.xml.

I assume that the RemoteSynchronization element is "properly" configured (otherwise the CCS will not try to establish connection). It could be that the error message above is generated because the CCS tried to contact an application instance that does not exist anymore (after restarting the web app for example) and the cache issues are caused by improperly configured bindings (in the uploader or in the web application).

From Tridion Customer Support you can get (only for troubleshooting) a version of the CCS that logs much more debug info than just error messages and a page that shows what information is being cached + flush functionality (at least this was the case with the pre 2011 releases).

  • Hi Venko, The application and caching was working fine earlier and i did check the logs a few week ago and it was able to connect to CCS. but suddenly it started throwing this error – rdhaundiyal Jun 16 '13 at 7:05
  • 2
    I don't believe in "suddenly"... Unless the hardware crashed or the god got bored... Is the error comming from the CCS log (sorry for the question but: I don't have a 2011 at the moment & processQueue in the stack raises some questions to me)? Try to restart all the processes (depl./ccs/webapp) and contact Customer support. – Venko Ivanov Jun 17 '13 at 9:08
3

Object cache and remote synchronization was disabled in the cd_storage_conf of CMS installation config folder. After enabling and restarting Tridion services and recyling app pool of website i am not getting the error . I still need to test for some more time but can this be the reason. In Cache Channel documentation it is not mentioned anywhere to enable the entries in CMS config files

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.