[ 
https://issues.apache.org/jira/browse/GOBBLIN-1868?focusedWorklogId=874741&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-874741
 ]

ASF GitHub Bot logged work on GOBBLIN-1868:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 04/Aug/23 20:58
            Start Date: 04/Aug/23 20:58
    Worklog Time Spent: 10m 
      Work Description: umustafi commented on code in PR #3731:
URL: https://github.com/apache/gobblin/pull/3731#discussion_r1284842645


##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/DagManager.java:
##########
@@ -206,7 +212,12 @@ public String toString() {
   protected final Long defaultJobStartSlaTimeMillis;
   @Getter
   private final JobStatusRetriever jobStatusRetriever;
-  private final Orchestrator orchestrator;
+  private final FlowStatusGenerator flowStatusGenerator;
+  private final UserQuotaManager quotaManager;
+  private final ClassAliasResolver<SpecCompiler> aliasResolver;

Review Comment:
   `FlowExecutionUtil` is stateless to be used by `Orchestrator` and 
`DagManager` so these classes are initialized to pass to the Util class. I can 
make the util class stateless but it doesn't end up removing these fields from 
the `Orchestrator` so I instead added to `DagManager`. 





Issue Time Tracking
-------------------

    Worklog Id:     (was: 874741)
    Time Spent: 2h  (was: 1h 50m)

> Refactor Common Utils between Orchestrator & DagManager
> -------------------------------------------------------
>
>                 Key: GOBBLIN-1868
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1868
>             Project: Apache Gobblin
>          Issue Type: Bug
>          Components: gobblin-service
>            Reporter: Urmi Mustafi
>            Assignee: Abhishek Tiwari
>            Priority: Major
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> Create a Util class to contain functionality re-used between the DagManager 
> and Orchestrator when launching executions of a flow spec. In the common 
> case, the Orchestrator receives a flow to orchestrate, performs necessary 
> validations, and forwards the execution responsibility to the DagManager. The 
> DagManager's responsibility is to carry out any flow action requests. 
> However, with launch executions now being stored in the DagActionStateStore, 
> on restart or leadership change the DagManager has to perform validations 
> before executing any launch actions the previous leader was unable to 
> complete. Rather than duplicating the code or introducing a circular 
> dependency between the DagManager and Orchestrator, this class is utilized to 
> store the common functionality. It is stateless and requires all stateful 
> pieces to be passed as input from the caller.
> * Note: We expect further refactoring to be done to the DagManager in later 
> stage of multi-active development so we do not attempt *major* reorganization 
> as abstractions may change. 
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to