Thursday, January 30, 2014

Tips for Troubleshooting the SDL Tridion Transport Service

The SDL Tridion Transport Service is step two of the content distribution process.  This service is somewhat mystical for two reasons:  it resides on both the Content Manager and Content Delivery systems and it is more difficult to troubleshoot than other services.
Since I've been on a quest lately to shine the light on the unknown, let's take a look at it!

The Transport Service is a mechanism which gathers published items and their dependencies into a package.  It then submits this package from a Content Manager to a Content Delivery system by using sending and receiving modules enabled for different protocols.  These protocols are activated in the cd_transport_conf.xml file for the Content Manager and in the cd_deployer_conf.xml for Content Delivery.

* Local file
* HTTP
* HTTPS
* FTP
* SFTP
* SSHFTP

Under certain conditions, the Transport Service may not start, or start and stop immediately, or otherwise report an error message during the lifecycle of the publishing process.

What can you do to troubleshoot it?  Here is a quick list to walk you through a number of checks:
1. Windows event logs (Tridion.evtx and Application)
Look for messages such as the one below, which is a pretty clear indication that the java version the Transport Service was trying to use could not be loaded (the issue in step 2).

"The description for Event ID 100 from source TCDTransportService cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer. 
If the event originated on another computer, the display information had to be saved with the event. 
The following information was included with the event: 
Could not load Java runtime libraries at C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll" 

2. Does the java version installed match the version required by the specific SDL Tridion version installed?
Some machines are configured to pop up a small notification icon to nudge you  forward to the next java update. It's easy to click on it and accidentally install an unsupported version.  Make sure you have the right version, use "java -version" from a command prompt.

3. Publisher Service will not start if the Transport Service does not start
There is a dependency between the Publisher Service and the Transport Service, hence if you notice the Publisher Service does not start, it may be an indication something is off with the Transport Service

4. The transport service log
This log is located on the Content Manager server.  When set in debug mode from the logback.xml file, it can provide more details around the processing involved in transporting items, and therefore potentially narrow down something more specific about an issue.

5. Is a custom transport used, if so, is it written, configured and used properly?
Occasionally, someone may want to use a protocol other than what is available by default.  This is possible by creating a class which implements the com.tridion.transport.connection.TransportConnector java interface, and creating the appropriate Sender and its protocol schema.
Validate all steps were followed accurately as described in the documentation (login required)
http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/task_E724DA16924F4CF4A3E00B160445F2DA

6.  HTTPS Uploads
Should HTTPS be chosen for transporting items, the only way this can take place if if there is a certificate added in the keystore, so that the transport mechanism is allowed to access its destination.  The certificate may be imported into the default CACERTS keystore or a custom one.
Look for an entry such as the one below to tell if there is a custom store in use:

<Sender Type="HTTPS" Class="com.tridion.transport.connection.connectors.HTTPSTransportConnector">
  <KeyStore Path="c:\mydir\myks.keystore" Secret="mypassword" />
</Sender>
  
An incorrect configuration in cd_transport_conf.xml such as a KeyStore node in cd_transport_conf.xml missing from the HTTPS Sender will cause the Transport Service to fail.
The step by step procedure to add a keystore is explained in the documentation (login required)
http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/concept_90BCCB544F8E46F4AF88EDCDAC17987F

7. Transporting using a proxy
When sending content across servers, from an internal network out to an external public one, many organizations use proxies to protect the data.  It's possible to misconfigure this proxy and cause the transport to break down.  The proxy configuration differs based on type of protocol used, as well as the type of proxy, generic or application specific, and so the changes to watch for will be done in the Publication Target and/or the registry, full details available in the documentation (login required).
http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/concept_455C61B06FAB4502B5AF573332E6C33E

8. Is the cd_license missing?
It may be easy to forget about the cd_license.xml file on the Content Manager server, and this is definitely a requirement for the Transport Service to operate.  

9. Last but not least, simple as it may be, do not forget to restart the Transport Service after changes made to (re)configure it.

As Alfred Pennyworth (Batman Begins, 2005) best put it: "And why do we fall sir?  So that we can learn to pick ourselves up."
Should the Transport Service happen to behave unusually, grab your flashlight, follow my trail and see how quickly you can demystify the strange..

5 comments:

  1. Nice article Elena. One more comment - if publishing to a Deployer with SSHFTP, then make sure any SSH patches on the Depoyer (looing at Linux / Unix systems mostly here...) then it is well tested. Recently lost a lot of time debugging a failing publishing system sue to an SSH patch.

    ReplyDelete
  2. Someone Sometimes with visits your blog regularly and recommended it in my experience to read as well. The way of writing is excellent and also the content is top-notch. Thanks for that insight you provide the readers!
    cab from gatwick to heathrow

    ReplyDelete
  3. I really impressed after read this because of some quality work and informative thoughts . I just wanna say thanks for the writer and wish you all the best for coming!.
    swiss taxi

    ReplyDelete