public:grid:troubleshooting

Troubleshooting

This page contains an overview of various problems you might run into when working with the Grid, and solutions to these problems, if available. Subjects are more or less categorized, but feel free to reorganize this page.

srmcp

If you receive the following incomprehensible error message when trying to srmcp a file

org.globus.ftp.exception.ServerException: Server refused performing the request. Custom message: Server reported transfer failure (error code 1) [Nested exception message:  Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host)].  Nested exception is org.globus.ftp.exception.UnexpectedReplyCodeException:  Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host)
 at org.globus.ftp.vanilla.TransferMonitor.run(TransferMonitor.java:182)
 at org.globus.ftp.vanilla.TransferMonitor.start(TransferMonitor.java:109)
 at org.globus.ftp.FTPClient.transferRunSingleThread(FTPClient.java:1489)
 at org.globus.ftp.FTPClient.get2(FTPClient.java:1752)
 at org.dcache.srm.util.GridftpClient$TransferThread.run(GridftpClient.java:978)
 at java.lang.Thread.run(Thread.java:636)
GridftpClient:  transfer exception
org.globus.ftp.exception.ServerException: Server refused performing the request. Custom message: Server reported transfer failure (error code 1) [Nested exception message:  Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host)].  Nested exception is org.globus.ftp.exception.UnexpectedReplyCodeException:  Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host)
 at org.globus.ftp.vanilla.TransferMonitor.run(TransferMonitor.java:182)
 at org.globus.ftp.vanilla.TransferMonitor.start(TransferMonitor.java:109)
 at org.globus.ftp.FTPClient.transferRunSingleThread(FTPClient.java:1489)
 at org.globus.ftp.FTPClient.get2(FTPClient.java:1752)
 at org.dcache.srm.util.GridftpClient$TransferThread.run(GridftpClient.java:978)
 at java.lang.Thread.run(Thread.java:636)
copy failed with the error
org.globus.ftp.exception.ServerException: Server refused performing the request. Custom message: Server reported transfer failure (error code 1) [Nested exception message:  Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host)].  Nested exception is org.globus.ftp.exception.UnexpectedReplyCodeException:  Custom message: Unexpected reply: 426 Transfer aborted (Transfer failed: No route to host)
 at org.globus.ftp.vanilla.TransferMonitor.run(TransferMonitor.java:182)
 at org.globus.ftp.vanilla.TransferMonitor.start(TransferMonitor.java:109)
 at org.globus.ftp.FTPClient.transferRunSingleThread(FTPClient.java:1489)
 at org.globus.ftp.FTPClient.get2(FTPClient.java:1752)
 at org.dcache.srm.util.GridftpClient$TransferThread.run(GridftpClient.java:978)
 at java.lang.Thread.run(Thread.java:636)
 try again
sleeping for 10000 before retrying

then use the -streams_num=1 options to reduce the number of transfer streams to 1.

This error seems only to occur when copying relatively small files. It's a mystery to me why the end-user should be bothered with these gory (under-the-hood) details.

srmmkdir

The srmmkdir command is not symmetric. It is not possible to use it to create a directory on a local disk.

$ srmmkdir file:///`pwd`/foo/
Wed Nov 24 09:24:56 CET 2010: illegal source url for multiple sources modefile:////home/lfrsgm01/foo/
srm client error:
java.lang.IllegalArgumentException: illegal source url for multiple sources modefile:////home/lfrsgm01/foo/

This is unfortunate, because it makes testing of scripts on a local system more difficult. Simply changing the URI from srm:// to file:/// doesn't work.

srmls

The srmls command does not support wildcards. This is quite irritating, because you have to do the filtering on the client side using grep. For example, to get a list of all the L2009_*.tar files in the directory /data/lofar/lotest/disk/, you would have to use:

$ srmls srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/lofar/lotest/disk/ | grep '/L2009_[^/]*\.tar'

This, however, will not always give you a complete list, because storage systems like dCache limit the number of listed files to 1000. So, if you have more than 1000 files in a directory, you'll have to use srmls multiple times in conjunction with the options -offset= and -count=. Very inconvenient!

  • Last modified: 2017-03-08 15:27
  • by 127.0.0.1