Troubleshooting

Error handling in WebMDS is currently done by throwing exceptions, which are displayed by Tomcat as stack traces.

  1. If you attempt to use WebMDS to collect information from a service that is not running, you will see a stack trace that begins with:

    org.globus.mds.webmds.xmlSources.resourceProperties.ResourcePropertySourceException: ; nested exception is: 
    	java.net.ConnectException: Connection refused
    

  2. When WebMDS sends resource property queries to a secure WSRF service instance (such as an MDS4 Index Server), the WebMDS server must trust the certificate authority that issued the certificate used by the WSRF service instance. If the WebMDS server does not trust the CA used by the remote service, then WebMDS queries will produce a stack trace that includes the following:

    faultString: org.globus.common.ChainedIOException: Authentication failed 
    [Caused by: Failure unspecified at GSS-API level [Caused by: Unknown CA]]
    

    This can be solved by configuring the Tomcat server that hosts WebMDS to trust the appropriate CA, by either

    • placing the CA certificate in /etc/grid-security/certificates, or

    • placing the CA certificate somewhere else, and setting the Tomcat process's X509_CERT_DIR system parameter to the directory in which the CA certificate was installed. One way to do this is to set the CATALINA_OPTS environment variable and then restart Tomcat:

      export CATALINA_OPTS=-DX509_CERT_DIR=/path/to/cert/dir
      $CATALINA_HOME/bin/shutdown.sh
      $CATALINA_HOME/bin/startup.sh
      

  3. If the JVM used by Tomcat is configured to use a blocking random-number source, WebMDS connections to secure Index Servers (or other secure WSRF servers) can hang. This is the default configuration for many installations. One solution is to set the CATALINA_OPTS environment variable to ensure that Tomcat's JVM will use a non-blocking random-number source:

    export CATALINA_OPTS=-Djava.security.egd=/dev/urandom
    $CATALINA_HOME/bin/shutdown.sh
    $CATALINA_HOME/bin/startup.sh
    

    Note: if you encounter this problem with WebMDS, you may also encounter a similar problem with the Globus container on the same system.