This is an automated email from the ASF dual-hosted git repository.

isjarana pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git


The following commit(s) were added to refs/heads/develop by this push:
     new 9d4c72691b Change process inputs according to selected CR
     new d61becc45b Merge pull request #401 from isururanawaka/metaschedular
9d4c72691b is described below

commit 9d4c72691bb67aaaa5893d15441363d18774f687
Author: Isuru Ranawaka <[email protected]>
AuthorDate: Fri Mar 10 09:50:55 2023 -0500

    Change process inputs according to selected CR
---
 .../process/scheduling/api/ProcessSchedulerImpl.java           |  7 +++++--
 .../engine/rescheduler/ExponentialBackOffReScheduler.java      |  8 ++++++--
 .../core/repositories/expcatalog/ExperimentRepository.java     | 10 ++++++++++
 3 files changed, 21 insertions(+), 4 deletions(-)

diff --git 
a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/api/ProcessSchedulerImpl.java
 
b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/api/ProcessSchedulerImpl.java
index 689c12bc0f..f53ebbb5df 100644
--- 
a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/api/ProcessSchedulerImpl.java
+++ 
b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/api/ProcessSchedulerImpl.java
@@ -69,6 +69,8 @@ public class ProcessSchedulerImpl implements ProcessScheduler 
{
                             }
                         });
 
+                        
experiment.setExperimentInputs(inputDataObjectTypeList);
+
                         List<InputDataObjectType> 
processInputDataObjectTypeList =  processModel.getProcessInputs();
                         processInputDataObjectTypeList.forEach(obj->{
                             if (obj.getName().equals("Wall_Time")){
@@ -80,12 +82,11 @@ public class ProcessSchedulerImpl implements 
ProcessScheduler {
                         });
 
                         
processModel.setProcessInputs(processInputDataObjectTypeList);
-                        
experiment.setExperimentInputs(inputDataObjectTypeList);
                         
processModel.setProcessResourceSchedule(resourceSchedulingModel);
                         
processModel.setComputeResourceId(resourceSchedulingModel.getResourceHostId());
 
                         registryClient.updateProcess(processModel, 
processModel.getProcessId());
-                        
registryClient.updateExperiment(processModel.getExperimentId(),experiment);
+
                     } else {
                         ProcessStatus newProcessStatus = new ProcessStatus();
                         newProcessStatus.setState(ProcessState.QUEUED);
@@ -94,6 +95,8 @@ public class ProcessSchedulerImpl implements ProcessScheduler 
{
                     }
                 }
             }
+            experiment.setProcesses(processModels);
+            registryClient.updateExperiment(experimentId,experiment);
             return allProcessesScheduled;
         } catch (Exception exception) {
             LOGGER.error(" Exception occurred while scheduling experiment with 
Id {}", experimentId, exception);
diff --git 
a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ExponentialBackOffReScheduler.java
 
b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ExponentialBackOffReScheduler.java
index 4df1c56c9a..af54da0a52 100644
--- 
a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ExponentialBackOffReScheduler.java
+++ 
b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ExponentialBackOffReScheduler.java
@@ -143,11 +143,15 @@ public class ExponentialBackOffReScheduler implements 
ReScheduler {
             });
 
             processModel.setProcessInputs(processInputDataObjectTypeList);
-
             experimentModel.setExperimentInputs(inputDataObjectTypeList);
+            experimentModel.getProcesses().forEach(pr->{
+                if (pr.getProcessId().equals(processModel.getProcessId())){
+                    pr.setProcessInputs(processModel.getProcessInputs());
+                }
+            });
+
             processModel.setProcessResourceSchedule(resourceSchedulingModel);
             
processModel.setComputeResourceId(resourceSchedulingModel.getResourceHostId());
-
             registryClient.updateProcess(processModel, 
processModel.getProcessId());
             registryClient.updateExperiment(processModel.getExperimentId(), 
experimentModel);
         }
diff --git 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java
 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java
index 3160b5b08a..b0cdd34725 100644
--- 
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java
+++ 
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java
@@ -27,6 +27,7 @@ import org.apache.airavata.model.status.ExperimentState;
 import org.apache.airavata.model.status.ExperimentStatus;
 import 
org.apache.airavata.registry.core.entities.expcatalog.ComputationalResourceSchedulingEntity;
 import org.apache.airavata.registry.core.entities.expcatalog.ExperimentEntity;
+import 
org.apache.airavata.registry.core.entities.expcatalog.ProcessInputEntity;
 import org.apache.airavata.registry.core.utils.DBConstants;
 import org.apache.airavata.registry.core.utils.ObjectMapperSingleton;
 import org.apache.airavata.registry.core.utils.QueryConstants;
@@ -111,6 +112,15 @@ public class ExperimentRepository extends 
ExpCatAbstractRepository<ExperimentMod
             experimentEntity.getErrors().forEach(experimentErrorEntity -> 
experimentErrorEntity.setExperimentId(experimentId));
         }
 
+        if (experimentEntity.getProcesses() != null) {
+            experimentEntity.getProcesses().forEach(processEntity -> {
+               List<ProcessInputEntity> processInputEntities =  
processEntity.getProcessInputs();
+               processInputEntities.forEach(pr->{
+                   pr.setProcessId(processEntity.getProcessId());
+               });
+            });
+        }
+
         return execute(entityManager -> entityManager.merge(experimentEntity));
     }
 

Reply via email to