umustafi commented on code in PR #3846:
URL: https://github.com/apache/gobblin/pull/3846#discussion_r1425850602


##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/Orchestrator.java:
##########
@@ -359,6 +363,11 @@ public void submitFlowToDagManager(FlowSpec flowSpec, 
Dag<JobExecutionPlan> jobE
     try {
       // Send the dag to the DagManager
       this.dagManager.get().addDag(jobExecutionPlanDag, true, true);
+
+      // Delete spec from flow catalog for adhoc executions after persisting 
it in DagManager
+      if (!flowSpec.getConfig().hasPath(ConfigurationKeys.JOB_SCHEDULE_KEY)) {
+        this.flowCatalog.get().remove(flowSpec.getUri(), new Properties(), 
false);
+      }

Review Comment:
   Yes, it will. If we've gotten to the point where `addDag` persists the `dag` 
to `dagStateStore`, now its responsibility of `dagManager` to execute it. The 
multi-active scheduler component ensures persisting to `dagActionStore` so the 
event will not be reprocessed through `dagActionChangeMonitor`.  The 
`dagActionChangeMonitor` only commits the offset after submitting a launch 
event to the `Orchestrator` for compiling and completing the `addDag` call. The 
new leader's `DagManager` will recover it from `DagStateStore` if the old 
leader never completes it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to