You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2014/01/14 18:56:50 UTC

svn commit: r1558127 - in /airavata/trunk/modules/orchestrator/orchestrator-core/src: main/java/org/apache/airavata/orchestrator/core/ main/java/org/apache/airavata/orchestrator/core/impl/ main/java/org/apache/airavata/orchestrator/core/job/ main/java/...

Author: lahiru
Date: Tue Jan 14 17:56:50 2014
New Revision: 1558127

URL: http://svn.apache.org/r1558127
Log:
fixing test cases in orchestrator-core.

Modified:
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/HangedJobWorker.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/NewJobWorker.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/HangedJobWorker.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/HangedJobWorker.java?rev=1558127&r1=1558126&r2=1558127&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/HangedJobWorker.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/HangedJobWorker.java Tue Jan 14 17:56:50 2014
@@ -78,12 +78,13 @@ public class HangedJobWorker implements 
             /* Here the worker pick bunch of jobs available to submit and submit that to a single
               GFAC instance, we do not handle job by job submission to each gfac instance
             */
+            try {
+
             GFACInstance gfacInstance = jobSubmitter.selectGFACInstance();
 
             // Now we have picked a gfac instance to submit set of jobs at this time, now its time to
             // select what are the jobs available to submit
 
-            try {
                 List<String> allHangedJobs = orchestratorContext.getRegistry().getAllHangedJobs();
                 if (allHangedJobs.size() == 0) {
                     idleCount++;
@@ -104,7 +105,7 @@ public class HangedJobWorker implements 
 
                 /* After submitting available jobs try to schedule again and then submit*/
                 jobSubmitter.submitJob(jobSubmitter.selectGFACInstance(),allHangedJobs);
-            } catch (RegistryException e) {
+            } catch (Exception e) {
                 logger.error("Error while trying to retrieve available ");
             }
         }

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/NewJobWorker.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/NewJobWorker.java?rev=1558127&r1=1558126&r2=1558127&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/NewJobWorker.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/NewJobWorker.java Tue Jan 14 17:56:50 2014
@@ -78,32 +78,33 @@ public class NewJobWorker implements Run
             }
             /* Here the worker pick bunch of jobs available to submit and submit that to a single
               GFAC instance, we do not handle job by job submission to each gfac instance
-            */
-            GFACInstance gfacInstance = jobSubmitter.selectGFACInstance();
-
-            // Now we have picked a gfac instance to submit set of jobs at this time, now its time to
-            // select what are the jobs available to submit
 
+            */
             try {
+                GFACInstance gfacInstance = jobSubmitter.selectGFACInstance();
+
                 List<String> allAcceptedJobs = orchestratorContext.getRegistry().getAllAcceptedJobs();
                 if (allAcceptedJobs.size() == 0) {
                     idleCount++;
 
                     if (idleCount == 10) {
                         try {
-                            Thread.sleep(submitInterval*2);
+                            Thread.sleep(submitInterval * 2);
                         } catch (InterruptedException e) {
                             logger.error("Error in JobSubmitter during sleeping process before submit jobs");
                             e.printStackTrace();
                         }
-                        idleCount=0;
+                        idleCount = 0;
                     }
                     continue;
                 }
-                jobSubmitter.submitJob(gfacInstance,allAcceptedJobs);
-            } catch (RegistryException e) {
+                jobSubmitter.submitJob(gfacInstance, allAcceptedJobs);
+            } catch (Exception e) {
                 logger.error("Error while trying to retrieve available ");
             }
+            // Now we have picked a gfac instance to submit set of jobs at this time, now its time to
+            // select what are the jobs available to submit
+
         }
     }
 

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java?rev=1558127&r1=1558126&r2=1558127&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java Tue Jan 14 17:56:50 2014
@@ -30,6 +30,7 @@ import org.apache.airavata.common.utils.
 import org.apache.airavata.orchestrator.core.context.OrchestratorContext;
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
+import org.apache.airavata.orchestrator.core.job.JobSubmitter;
 import org.apache.airavata.orchestrator.core.utils.OrchestratorConstants;
 import org.apache.airavata.orchestrator.core.utils.OrchestratorUtils;
 import org.apache.airavata.registry.api.*;
@@ -45,13 +46,16 @@ import java.util.concurrent.Executors;
 public class PullBasedOrchestrator implements Orchestrator {
     private final static Logger logger = LoggerFactory.getLogger(PullBasedOrchestrator.class);
 
-    OrchestratorContext orchestratorContext;
+    private OrchestratorContext orchestratorContext;
 
-    AiravataRegistry2 airavataRegistry;
+    private AiravataRegistry2 airavataRegistry;
 
-    ExecutorService executor;
+    private ExecutorService executor;
 
-    AiravataAPI airavataAPI;
+    private AiravataAPI airavataAPI;
+
+    // this is going to be null unless the thread count is 0
+    private JobSubmitter jobSubmitter = null;
 
     public boolean initialize() throws OrchestratorException {
         try {
@@ -81,11 +85,26 @@ public class PullBasedOrchestrator imple
             orchestratorContext = new OrchestratorContext();
             orchestratorContext.setOrchestratorConfiguration(orchestratorConfiguration);
             orchestratorConfiguration.setAiravataAPI(getAiravataAPI());
+            orchestratorContext.setRegistry(airavataRegistry);
             /* Starting submitter thread pool */
 
             // we have a thread to run normal new jobs except to monitor hanged jobs
-            executor = Executors.newFixedThreadPool(orchestratorConfiguration.getThreadPoolSize() + 1);
-            this.startJobSubmitter();
+            if (orchestratorConfiguration.getThreadPoolSize() != 0) {
+                executor = Executors.newFixedThreadPool(orchestratorConfiguration.getThreadPoolSize() + 1);
+                this.startJobSubmitter();
+            } else {
+
+                try {
+                    String submitterClass = this.orchestratorContext.getOrchestratorConfiguration().getSubmitterClass();
+                    Class<? extends JobSubmitter> aClass = Class.forName(submitterClass.trim()).asSubclass(JobSubmitter.class);
+                    jobSubmitter = aClass.newInstance();
+                    jobSubmitter.initialize(this.orchestratorContext);
+                } catch (Exception e) {
+                    String error = "Error creating JobSubmitter in non threaded mode ";
+                    logger.error(error);
+                    throw new OrchestratorException(error, e);
+                }
+            }
         } catch (RegistryException e) {
             logger.error("Failed to initializing Orchestrator");
             OrchestratorException orchestratorException = new OrchestratorException(e);
@@ -141,11 +160,36 @@ public class PullBasedOrchestrator imple
             logger.error("Invalid Experiment ID given: " + request.getUserName());
             return false;
         }
-        String gfacEPR = OrchestratorConstants.EMBEDDED_MODE;
         //todo use a more concrete user type in to this
-        String username = request.getUserName();
         try {
-            airavataRegistry.changeStatus(experimentID, AiravataJobState.State.ACCEPTED, gfacEPR);
+            if (request.getHostDescription() != null) {
+                if (!airavataRegistry.isHostDescriptorExists(request.getHostDescription().getType().getHostName())) {
+                    airavataRegistry.addHostDescriptor(request.getHostDescription());
+                }
+            }
+            if (request.getServiceDescription() != null) {
+                if (!airavataRegistry.isServiceDescriptorExists(request.getServiceDescription().getType().getName())) {
+                    airavataRegistry.addServiceDescriptor(request.getServiceDescription());
+                }
+            }
+            if (request.getApplicationDescription() != null) {
+                if (request.getServiceDescription() != null && request.getHostDescription() != null) {
+                    if(!airavataRegistry.isApplicationDescriptorExists(request.getServiceDescription().getType().getName(),
+                            request.getHostDescription().getType().getHostName(),request.getApplicationDescription().getType().getApplicationName().getStringValue())){
+                    airavataRegistry.addApplicationDescriptor(request.getServiceDescription(),
+                            request.getHostDescription(), request.getApplicationDescription());
+                    }
+                } else {
+                    String error = "Providing just Application Descriptor is not sufficient to save to Registry";
+                    logger.error(error);
+                    throw new OrchestratorException(error);
+                }
+            }
+            airavataRegistry.changeStatus(experimentID, AiravataJobState.State.ACCEPTED);
+            if (orchestratorContext.getOrchestratorConfiguration().getThreadPoolSize() == 0) {
+                jobSubmitter.directJobSubmit(request);
+            }
+
             //todo save jobRequest data in to the database
         } catch (RegistryException e) {
             //todo put more meaningful error message
@@ -178,7 +222,7 @@ public class PullBasedOrchestrator imple
                 String error = "Job is already Finished so cannot cancel the job " + experimentID;
                 logger.error(error);
                 new OrchestratorException(error);
-            }else{
+            } else {
                 // do nothing but simply change the job state to cancelled because job is not yet submitted to the resource
                 orchestratorContext.getRegistry().changeStatus(experimentID, AiravataJobState.State.CANCELLED);
             }

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java?rev=1558127&r1=1558126&r2=1558127&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java Tue Jan 14 17:56:50 2014
@@ -30,24 +30,30 @@ import org.apache.airavata.commons.gfac.
 import org.apache.airavata.gfac.Constants;
 import org.apache.airavata.gfac.GFacAPI;
 import org.apache.airavata.gfac.GFacConfiguration;
+import org.apache.airavata.gfac.GFacException;
 import org.apache.airavata.gfac.context.ApplicationContext;
 import org.apache.airavata.gfac.context.JobExecutionContext;
 import org.apache.airavata.gfac.context.MessageContext;
 import org.apache.airavata.gfac.scheduler.HostScheduler;
 import org.apache.airavata.orchestrator.core.context.OrchestratorContext;
+import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
 import org.apache.airavata.orchestrator.core.job.JobSubmitter;
 import org.apache.airavata.orchestrator.core.utils.OrchestratorConstants;
+import org.apache.airavata.orchestrator.core.utils.OrchestratorUtils;
 import org.apache.airavata.registry.api.AiravataRegistry2;
 import org.apache.airavata.registry.api.JobRequest;
+import org.apache.airavata.registry.api.exception.RegistryException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.xml.sax.SAXException;
 
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPathExpressionException;
 import java.io.File;
+import java.io.IOException;
 import java.net.URL;
-import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 import java.util.Properties;
 
 /**
@@ -61,79 +67,75 @@ public class EmbeddedGFACJobSubmitter im
     private OrchestratorContext orchestratorContext;
 
 
-    public void initialize(OrchestratorContext orchestratorContext) {
+    public void initialize(OrchestratorContext orchestratorContext)  throws OrchestratorException {
         this.orchestratorContext = orchestratorContext;
     }
 
-    public GFACInstance selectGFACInstance() {
+    public GFACInstance selectGFACInstance()  throws OrchestratorException {
         return null;  //To change body of implemented methods use File | Settings | File Templates.
     }
 
 
-    public boolean submitJob(GFACInstance gfac, List<String> experimentIDList) {
+    public boolean submitJob(GFACInstance gfac, List<String> experimentIDList)  throws OrchestratorException {
 
         for (int i = 0; i < experimentIDList.size(); i++) {
             try {
                 // once its fetched it's status will changed to fetched state
                 JobRequest jobRequest = orchestratorContext.getRegistry().fetchAcceptedJob(experimentIDList.get(i));
-                String hostName = jobRequest.getHostDescription().getType().getHostAddress();
-                String serviceName = jobRequest.getServiceDescription().getType().getName();
-                //todo submit the jobs
-
-                //after successfully submitting the jobs set the status of the job to submitted
-
-                orchestratorContext.getRegistry().changeStatus(experimentIDList.get(i), AiravataJobState.State.SUBMITTED, OrchestratorConstants.EMBEDDED_MODE);
-                AiravataAPI airavataAPI = orchestratorContext.getOrchestratorConfiguration().getAiravataAPI();
-                HostDescription registeredHost = null;
-                ServiceDescription serviceDescription = airavataAPI.getApplicationManager().getServiceDescription(serviceName);
-                if (hostName == null) {
-                    List<HostDescription> registeredHosts = new ArrayList<HostDescription>();
-                    Map<String, ApplicationDescription> applicationDescriptors = airavataAPI.getApplicationManager().getApplicationDescriptors(serviceName);
-                    for (String hostDescName : applicationDescriptors.keySet()) {
-                        registeredHosts.add(airavataAPI.getApplicationManager().getHostDescription(hostDescName));
-                    }
-                    Class<? extends HostScheduler> aClass = Class.forName(ServerSettings.getHostScheduler()).asSubclass(HostScheduler.class);
-                    HostScheduler hostScheduler = aClass.newInstance();
-                    registeredHost = hostScheduler.schedule(registeredHosts);
-                } else {
-                    registeredHost = airavataAPI.getApplicationManager().getHostDescription(hostName);
-                }
-                ApplicationDescription applicationDescription =
-                        airavataAPI.getApplicationManager().getApplicationDescription(serviceName, registeredHost.getType().getHostName());
-
-                // When we run getInParameters we set the actualParameter object, this has to be fixed
-                URL resource = EmbeddedGFACJobSubmitter.class.getClassLoader().getResource("gfac-config.xml");
-                Properties configurationProperties = ServerSettings.getProperties();
-                GFacConfiguration gFacConfiguration = GFacConfiguration.create(new File(resource.getPath()), airavataAPI, configurationProperties);
-
-                JobExecutionContext jobExecutionContext = new JobExecutionContext(gFacConfiguration, serviceName);
-                //Here we get only the contextheader information sent specific for this node
-                //Add security context
-
-
-
-                jobExecutionContext.setProperty(Constants.PROP_TOPIC, experimentIDList.get(i));
-                jobExecutionContext.setProperty(Constants.PROP_BROKER_URL, orchestratorContext.getOrchestratorConfiguration().getBrokerURL().toString());
-
-
-                ApplicationContext applicationContext = new ApplicationContext();
-                applicationContext.setApplicationDeploymentDescription(applicationDescription);
-                applicationContext.setHostDescription(registeredHost);
-                applicationContext.setServiceDescription(serviceDescription);
-
-                jobExecutionContext.setApplicationContext(applicationContext);
-
-                jobExecutionContext.setOutMessageContext(new MessageContext(jobRequest.getOutputParameters()));
-                jobExecutionContext.setInMessageContext(new MessageContext(jobRequest.getInputParameters()));
-
-                //addSecurityContext(registeredHost, configurationProperties, jobExecutionContext,
-                  //      configuration.getContextHeader());
-                GFacAPI gfacAPI1 = new GFacAPI();
-                gfacAPI1.submitJob(jobExecutionContext);
+                launchGfacWithJobRequest(jobRequest);
             } catch (Exception e) {
                 logger.error("Error getting job related information");
             }
         }
         return true;
     }
+
+    private void launchGfacWithJobRequest(JobRequest jobRequest) throws RegistryException, ParserConfigurationException, IOException, SAXException, XPathExpressionException, GFacException {
+        String serviceName = jobRequest.getServiceDescription().getType().getName();
+        //todo submit the jobs
+
+        //after successfully submitting the jobs set the status of the job to submitted
+        String experimentID = OrchestratorUtils.getUniqueID(jobRequest);
+        orchestratorContext.getRegistry().changeStatus(experimentID, AiravataJobState.State.SUBMITTED);
+        AiravataAPI airavataAPI = orchestratorContext.getOrchestratorConfiguration().getAiravataAPI();
+        ServiceDescription serviceDescription = jobRequest.getServiceDescription();
+
+        ApplicationDescription applicationDescription = jobRequest.getApplicationDescription();
+
+        // When we run getInParameters we set the actualParameter object, this has to be fixed
+        URL resource = EmbeddedGFACJobSubmitter.class.getClassLoader().getResource("gfac-config.xml");
+        Properties configurationProperties = ServerSettings.getProperties();
+        GFacConfiguration gFacConfiguration = GFacConfiguration.create(new File(resource.getPath()), airavataAPI, configurationProperties);
+
+        JobExecutionContext jobExecutionContext = new JobExecutionContext(gFacConfiguration, serviceName);
+        //Here we get only the contextheader information sent specific for this node
+        //Add security context
+
+
+        ApplicationContext applicationContext = new ApplicationContext();
+        applicationContext.setApplicationDeploymentDescription(applicationDescription);
+        applicationContext.setHostDescription(jobRequest.getHostDescription());
+        applicationContext.setServiceDescription(serviceDescription);
+
+        jobExecutionContext.setApplicationContext(applicationContext);
+
+        jobExecutionContext.setOutMessageContext(new MessageContext(jobRequest.getOutputParameters()));
+        jobExecutionContext.setInMessageContext(new MessageContext(jobRequest.getInputParameters()));
+
+        jobExecutionContext.setProperty(Constants.PROP_TOPIC, experimentID);
+        jobExecutionContext.setProperty(Constants.PROP_BROKER_URL, orchestratorContext.getOrchestratorConfiguration().getBrokerURL().toString());
+
+        GFacAPI gfacAPI1 = new GFacAPI();
+        gfacAPI1.submitJob(jobExecutionContext);
+    }
+
+    public boolean directJobSubmit(JobRequest request) throws OrchestratorException {
+        try {
+            launchGfacWithJobRequest(request);
+        } catch (Exception e) {
+            logger.error("Error launching the job : " + OrchestratorUtils.getUniqueID(request));
+
+        }
+        return true;
+    }
 }

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java?rev=1558127&r1=1558126&r2=1558127&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/job/JobSubmitter.java Tue Jan 14 17:56:50 2014
@@ -23,8 +23,10 @@ package org.apache.airavata.orchestrator
 import java.util.List;
 
 import org.apache.airavata.orchestrator.core.context.OrchestratorContext;
+import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
 import org.apache.airavata.registry.api.AiravataRegistry2;
+import org.apache.airavata.registry.api.JobRequest;
 
 /**
  * This is the submitter interface, orchestrator can
@@ -36,17 +38,25 @@ import org.apache.airavata.registry.api.
 public interface JobSubmitter {
 
 
-    void initialize(OrchestratorContext orchestratorContext);
+    void initialize(OrchestratorContext orchestratorContext) throws OrchestratorException;
 
     /**
      * This will return a single GFACInstance among multiple if available
      * @return
      */
-    GFACInstance selectGFACInstance();
+    GFACInstance selectGFACInstance() throws OrchestratorException;
 
     /**
      * @param gfac
      * @return
      */
-    boolean submitJob(GFACInstance gfac,List<String> experimentIDList);
+    boolean submitJob(GFACInstance gfac,List<String> experimentIDList) throws OrchestratorException;
+
+    /**
+     * This can be used when user doesn't want to run in a threaded pull mode
+     * just get the request data and do the submission
+     * @param request
+     * @return
+     */
+    boolean directJobSubmit(JobRequest request) throws OrchestratorException;
 }

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java?rev=1558127&r1=1558126&r2=1558127&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java Tue Jan 14 17:56:50 2014
@@ -62,4 +62,14 @@ public class OrchestratorUtils {
         return true;
     }
 
+    public static String getUniqueID(JobRequest jobRequest){
+        if(jobRequest.getUserExperimentID() != null){
+            return jobRequest.getUserExperimentID();
+        }else if(jobRequest.getSystemExperimentID() != null){
+            return jobRequest.getSystemExperimentID();
+        }else{
+            return null;
+        }
+
+    }
 }

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java?rev=1558127&r1=1558126&r2=1558127&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/PullBasedOrchestratorTest.java Tue Jan 14 17:56:50 2014
@@ -51,25 +51,25 @@ public class PullBasedOrchestratorTest e
         orchestrator.initialize();
     }
 
-    @Test
-    public void noUserIDTest() throws Exception {
-        ExperimentRequest experimentRequest = new ExperimentRequest();
-        //experimentRequest.setUserExperimentID("test-" + UUID.randomUUID().toString());
-        experimentRequest.setUserName("orchestrator");
-
-        String systemExpID = orchestrator.createExperiment(experimentRequest);
-
-        JobRequest jobRequest = createJobRequest(systemExpID);
-
-        boolean b = orchestrator.launchExperiment(jobRequest);
-
-        if(b){
-            // This means orchestrator successfully accepted the job
-            Assert.assertTrue(true);
-        }else {
-            Assert.assertFalse(true);
-        }
-    }
+//    @Test
+//    public void noUserIDTest() throws Exception {
+//        ExperimentRequest experimentRequest = new ExperimentRequest();
+//        //experimentRequest.setUserExperimentID("test-" + UUID.randomUUID().toString());
+//        experimentRequest.setUserName("orchestrator");
+//
+//        String systemExpID = orchestrator.createExperiment(experimentRequest);
+//
+//        JobRequest jobRequest = createJobRequest(systemExpID);
+//
+//        boolean b = orchestrator.launchExperiment(jobRequest);
+//
+//        if(b){
+//            // This means orchestrator successfully accepted the job
+//            Assert.assertTrue(true);
+//        }else {
+//            Assert.assertFalse(true);
+//        }
+//    }
 
     @Test
     public void userIDTest() throws Exception {

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties?rev=1558127&r1=1558126&r2=1558127&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/orchestrator.properties Tue Jan 14 17:56:50 2014
@@ -1,6 +1,6 @@
 job.submitter=org.apache.airavata.orchestrator.core.impl.EmbeddedGFACJobSubmitter
 submitter.interval=10000
-threadpool.size=10
+threadpool.size=0
 start.submitter=true
 embedded.mode=true