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

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

                Author: ASF GitHub Bot
            Created on: 15/Aug/24 18:55
            Start Date: 15/Aug/24 18:55
    Worklog Time Spent: 10m 
      Work Description: phet commented on code in PR #4027:
URL: https://github.com/apache/gobblin/pull/4027#discussion_r1718847660


##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/proc/DagProcUtils.java:
##########
@@ -191,15 +194,10 @@ public static void cancelDag(Dag<JobExecutionPlan> dag, 
DagManagementStateStore
     }
   }
 
-  private static void sendCancellationEvent(Dag.DagNode<JobExecutionPlan> 
dagNodeToCancel, Properties props)
-      throws ExecutionException, InterruptedException {
+  private static void sendCancellationEvent(Dag.DagNode<JobExecutionPlan> 
dagNodeToCancel) {
     JobExecutionPlan jobExecutionPlan = dagNodeToCancel.getValue();
-    Future<?> future = jobExecutionPlan.getJobFuture().get();
-    String serializedFuture = 
DagManagerUtils.getSpecProducer(dagNodeToCancel).serializeAddSpecResponse(future);
-    props.put(ConfigurationKeys.SPEC_PRODUCER_SERIALIZED_FUTURE, 
serializedFuture);
     Map<String, String> jobMetadata = 
TimingEventUtils.getJobMetadata(Maps.newHashMap(), jobExecutionPlan);
     
DagProc.eventSubmitter.getTimingEvent(TimingEvent.LauncherTimings.JOB_CANCEL).stop(jobMetadata);

Review Comment:
   Ideally we'd have a unit test verifying that `.getTimingEvent` is called on 
an `EventSubmitter` mock/spy, but that's challenging because 
`DagProc.eventSubmitter` is `static`.
   
   instead the `DagProcFactory` might pass an ES param to each `DagProc` 
derived type it creates (all can still share the same one).  the DPF itself 
could probably create the `MetricContext` and `EventSubmitter` and since the 
DPF is a `@Singleton`, those DO NOT need to be `static`.
   
   of course this means making `DagProcUtils::submitJobToExecutor`, 
`::cancelDag` and `::cancelDagNode` into methods of the `DagProc` base class





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

    Worklog Id:     (was: 930474)
    Time Spent: 40m  (was: 0.5h)

> provide job future before calling SpecProducer::cancelJob
> ---------------------------------------------------------
>
>                 Key: GOBBLIN-2133
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-2133
>             Project: Apache Gobblin
>          Issue Type: Bug
>            Reporter: Arjun Singh Bora
>            Priority: Major
>          Time Spent: 40m
>  Remaining Estimate: 0h
>




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

Reply via email to