Hi, I am having very strange problems with globus GRAM.
Submission of job with globusrun-ws hangs on "Job Unsubmitted" message. I tried to submit job from two different machines with the same result. globusrun-ws -submit -J -S -F ng2.auckland.ac.nz:8443 -Ft Fork -o test.epr -c /bin/echo "hello" Delegating user credentials...Done. Submitting job...Done. Job ID: uuid:6eeadb2c-6ffa-11dd-a2f7-00163e000005 Termination time: 08/23/2008 03:28 GMT Current job state: Unsubmitted Sample java program (attached) and CoG client (cog-job-submit) work normally. Globus restart does not help, unless I remove persisted directory. Persisted is on local partition. I figured that single file in ManagedExecutableJobResourceStateType causes the problem (xml attached). When I remove this file and restart globus, globusws-run works normally. When I copy this file into persisted/ManagedExecutableJobResourceState, and restart globus, it breaks again. My globus breaks every 3-7 days so there are other job resouces that cause this problem. globus version is 4.0.7 from VDT 1.10 What is going on here? Regards, Yuriy
91b6ff30-6f57-11dd-a716-ec9d0a188c65.xml
Description: XML document
package globus;
import org.globus.gsi.*;
import org.globus.gsi.gssapi.*;
import org.globus.exec.utils.rsl.*;
import org.globus.exec.client.GramJob;
import org.globus.exec.client.GramJobListener;
import org.ietf.jgss.GSSCredential;
import org.ietf.jgss.GSSManager;
import org.globus.exec.utils.client.ManagedJobFactoryClientHelper;
import org.apache.axis.message.addressing.EndpointReferenceType;
import org.globus.exec.utils.rsl.RSLHelper;
import org.globus.axis.util.Util;
import org.globus.exec.generated.StateEnumeration;
import org.oasis.wsrf.faults.BaseFaultTypeDescription;
import org.oasis.wsrf.faults.BaseFaultType;
public class SubmitJob implements GramJobListener {
public boolean completed = false;
public static void main(String[] args ){
try {
SubmitJob submit = new SubmitJob();
String server = "ng2.auckland.ac.nz";
String serviceAddress = "https://"+server+":8443/wsrf/services/ManagedJobFactoryService";
Util.registerTransport();
GSSCredential cred = new
GlobusGSSCredentialImpl(GlobusCredential.getDefaultCredential(),0);
EndpointReferenceType factoryEndpoint = ManagedJobFactoryClientHelper.getFactoryEndpoint(serviceAddress,"Fork");
GramJob job1 = submit.createTest(1,cred);
GramJob job2 = submit.createTest(2,cred);
GramJob job3 = submit.createTest(3,cred);
// job1.submit(factoryEndpoint);
// job2.submit(factoryEndpoint);
job3.submit(factoryEndpoint);
try{
//do what you want to do before sleeping
Thread.currentThread().sleep(100000);//sleep for 1000 ms
//do what you want to do after sleeptig
}
catch(InterruptedException ie){
//If this thread was intrrupted by nother thread
}
//job1.refreshStatus();
}
catch (Exception e){
e.printStackTrace();
}
}
public GramJob createTest(int n,GSSCredential cred) throws RSLParseException{
GramJob job = new GramJob("<job><executable>/home/grid-bestgrid/testingjava/script.sh</executable>"+
"<directory>/home/grid-bestgrid/testingjava/</directory>" +
"<argument>"+n+"</argument>" +
"<argument>testing.txt</argument>" +
"</job>");
job.addListener(this);
job.setCredentials(cred);
return job;
}
public void stateChanged(GramJob job) {
System.out.println(job.getState());
// BaseFaultType fault = job.getFault();
//BaseFaultTypeDescription[] desc = fault.getDescription();
//for (BaseFaultTypeDescription d : desc){
// System.out.println(d.get_value());
//}
}
}
