Debug Jobs without Running Accelerator

On occasion, jobs that run successfully outside of Accelerator fail when run through Accelerator. When this occurs, mostly likely the setups are not the same: the environment, inputs or other parameters may be different, a misconfiguration or there is a problem with NFS.

To resolve such issues, using the command nc debug can show you the steps that Accelerator takes to run the job.

When some jobs are not behaving as expected, use the command nc debug jobId to get the steps that Accelerator uses to run the job.

nc debug

vnc: Usage Message
      NC DEBUG:
  	If a job appears to behave differently when executed by NC
  	than when it runs without using NC, you can use this command
  	to debug the problem.
  	The command gives you the step-by-step description of what
  	NC does to run the job, so that you can do
  	the same thing without going through NC.
  	For example, if you find a job runs fine without NC, but fails
  	in NC, it might simply be that the environment is not set correctly.
  	By following the steps provided by this command, you will be able
  	to determine what is wrong.
  	% nc debug <jobId>
  	-h                   - Show this message

Debug Jobs Example

Following the steps in the example below, modified or as is, you can check if you are running the same job in the same setup as it would be in Accelerator.

By eliminating vovserver and vovtasker from the picture, it very often becomes obvious or easy to figure out what the problem is. Sometimes it is a missing environment variable. Sometimes it is an NFS problem, etc. In the unlikely event that run the same job successfully following these steps, there might be something missing or wrong in how Accelerator runs the job, or something is misconfigured.


% nc debug 01597942

# This job was run on host bear. To run the same
# job without going through Accelerator, please follow these steps:

# 1. Logon to the machine (if necessary)
rsh bear -l john     ; # or ssh bear

# 2. Change to the directory
cd /home/john

# 3. Switch to the environment

# 4. Run the job without wrappers or redirection
./myscript input1 input2