10

We are facing an issue with dynamic component linking in our prod server, as the component is showing but the corresponding link is taking time to be active. It is showing as 'dead link' though data is present in broker. Also, it is coming for our staging web server (same content server for both prod and stage).

We have checked and compared the configurations of prod and stage for content setup/broker and other things and it is correct. Adding to this, apart from linking there are also issues with other published content (email address, not getting reflected in site but updated in broker). It seems to me that some problem with communication between broker and prod servers. But we are not able to locate it.

Please suggest the areas we need to look into and any help in this regard is most welcome.

***The following is the CCS configuration in broker and also the service is running properly. could you please let me know where the problem might be in this configuration file?

<ObjectCache Enabled="true">
   <Policy Type="LRU" Class="com.tridion.cache.LRUPolicy">
      <Param Name="MemSize" Value="16mb" /> 
   </Policy>
   <Features>
      <Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker" /> 
   </Features>
   <CacheBindings>
      <CacheBinding Name="BinaryMeta" 
                    Class="com.tridion.broker.binaries.meta.CachedBinaryMetaHome" /> 
      <CacheBinding Name="ComponentMeta" 
             Class="com.tridion.broker.components.meta.CachedComponentMetaHome" /> 
      <CacheBinding Name="ComponentPresentationMeta" 
     Class="com.tridion.broker.componentpresentations.meta.CachedComponentPresentationMetaHome" /> 
      <CacheBinding Name="LinkInfo" Class="com.tridion.broker.linking.CachedLinkInfoHome" /> 
      <CacheBinding Name="PageMeta" Class="com.tridion.broker.pages.meta.CachedPageMetaHome" /> 
      <CacheBinding Name="Template" Class="com.tridion.broker.xslt.CachedXSLTHome" /> 
      <CacheBinding Name="XSLT" Class="com.tridion.broker.xslt.CachedXSLTHome" /> 
      <CacheBinding Name="ASPComponentPresentation"
            Class="com.tridion.broker.componentpresentations.CachedComponentPresentationHome" /> 
      <CacheBinding Name="JSPComponentPresentation" 
            Class="com.tridion.broker.componentpresentations.CachedComponentPresentationHome" /> 
      <CacheBinding Name="TextComponentPresentation" 
            Class="com.tridion.broker.componentpresentations.CachedComponentPresentationHome" /> 
      <CacheBinding Name="XMLComponentPresentation" 
            Class="com.tridion.broker.componentpresentations.CachedComponentPresentationHome" /> 
   </CacheBindings>
   <RemoteSynchronization Host="127.0.0.1" Port="1099" Queuesize="128" 
                          ServiceMonitorInterval="1200" /> 
</ObjectCache>

Just adding some more information, I have looked into this for a time now, and restarting IIS is solving the issues for time being. If this is caching problem, then it might be with the IIS/Load balancer end. Please correct me if I am wrong. Is the problem still can be with CCS as restating APP server solves the issue. Kindly suggest

2 Answers 2

12

From your description, I suspect you may have cache enabled on your app servers, but not using (or not correctly configured) the Cache Channel Service.

There's some info on the Tridion object Cache on Tridion World and also on SDL Live Content (login required)

Update

The configuration seems OK as far as I can remember the 2009 config... can you double check that there is something listening on port 1099? And maybe change the CCS logs to debug, you should see messages whenever events are broadcast (as well as some messages when CCS clients connect).

Update 2

Comments getting unwieldy. The CCS over RMI is relatively straightforward to configure if you can measure what you're doing. First thing I would start by doing is making sure the CCS itself can log properly. My knowledge of the 2009 CCS is rusty unfortunately, so I may be stating stuff that only applies to 2011 or 2013.

  1. Configure logging for CCS - in the configuration files that your CCS instance uses, make sure you enable DEBUG logging
  2. Make sure the app servers can connect to port 1099
  3. Make sure you understand how RMI works, this is a good starting point: http://www.netcluesoft.com/rmi-through-a-firewall.html
  4. Read the logs and try to figure out what's going on.

If you can't open all the ports required for RMI you can try implementing a solution as described here.

10
  • Many thanks for explaining Nuno. I have edited the question with CCS configuration for your reference, can you please have a kind look into it? Commented Sep 27, 2013 at 13:20
  • Thanks again. Yes, I have checked that from the server that port 1099 is in listening mode (using 'netstat -anv'). Also, one thing, we have CCS configured in broker configurations which reside in the web servers, there 'Remote Synchronization host' is also pointing to the server from where the CCS windows service is running, is there a change required there? After changing the configuration file (logger mode), do I need to restart any service, I guess not. Please suggest. Any other indications. Commented Sep 30, 2013 at 6:38
  • Well, it's slightly more complicated than that. The CCS service must be running on port 1099 on the deployer server and the app servers must be connecting to that one, not to a local one, and yes changing configuration requires a restart, the configuration is only read once.
    – Nuno Linhares
    Commented Sep 30, 2013 at 12:06
  • Just adding some more information, I have looked into this for a time now, and restarting IIS is solving the issues for time being. If this is caching problem, then it might be with the IIS/Load balancer end. Please correct me if I am wrong. Is the problem still can be with CCS as restating APP server solves the issue. Kindly suggest. Commented Oct 7, 2013 at 9:12
  • If the problem is with the connection to the CCS, one would expect a restart of IIS to solve it, at least until you publish something again. After a restart, the cache is empty and all items (content, links) have to be retrieved from the broker again.
    – Quirijn
    Commented Oct 8, 2013 at 8:21
2

As Nuno has suggested, it should be related to the Cache.

Check (along with Cache Channel Service as suggested by Nuno), if you are using some custom caching in the your back-end (server side cache). If it is there, ensure there is mechanism to "Invalidate" the cache.

To confirm if it is related to the cache you may try updating and publishing and post that restart the COM+ and IIS app pool for your SDL Tridion Content Manager and check after clearing you browser cache. If the issue is no more there, then surely this is related to the Cache - If the caching is enabled with Cache Channel Service - Follow the suggestions as mentioned by Nuno and if it is Custom Logic for managing Cache - endure you also build a Cache Invalidation logic.

3
  • Thanks for clarifying. As, I have edited the question with CCS configuration for any indication for the same. Commented Sep 27, 2013 at 13:20
  • I don't see how restarting the TCM app pool would help to debug issues with CD caching. Can you perhaps explain a bit further what you mean? Commented Oct 9, 2013 at 17:15
  • @DominicCronin: (At the time I answered this question) it was not pretty clear which type of caching is in place. I was not referring to the CD caching, but if there is a Custom Cache being implemented in the server side out of the SDL Tridion and if there is some invalidation logic for resetting that cache then it may depend on the TCM APP Pool Commented Oct 9, 2013 at 17:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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