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

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

                Author: ASF GitHub Bot
            Created on: 11/Jul/24 21:23
            Start Date: 11/Jul/24 21:23
    Worklog Time Spent: 10m 
      Work Description: phet commented on code in PR #3998:
URL: https://github.com/apache/gobblin/pull/3998#discussion_r1674706380


##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/DagActionReminderScheduler.java:
##########
@@ -192,4 +171,44 @@ public static Trigger 
createReminderJobTrigger(DagActionStore.LeaseParams leaseP
         .startAt(new Date(getCurrentTimeMillis.get() + reminderDurationMillis))
         .build();
   }
+
+  public class ReminderJobFactory implements JobFactory {
+    @Override
+    public Job newJob(TriggerFiredBundle bundle, Scheduler scheduler) {
+      return new ReminderJob();
+    }
+  }
+
+  /**
+   * Class used to store information regarding a pending dagAction that needs 
to be revisited at a later time
+   * by {@link DagManagement} interface to re-attempt a lease on if it has not 
been completed by the previous owner.
+   * These jobs are scheduled and used by the {@link 
DagActionReminderScheduler}.
+   */
+  public class ReminderJob implements Job {

Review Comment:
   non-static inner classes are good for tightly-coupled abstractions.  as you 
just found, they have some pitfalls.  in this case, it's not so closely coupled 
and hence seems better off as a `static` inner class.  just give it a `private 
final DagManagement` member and `@RequiredArgsCtor`
   
   the `ReminderJobFactory` however would still need to be non-`static`.  it's 
the one that will take its (parent instance's) 
`DagActionReminderScheduler.this.dagManagement` member and pass that along to 
the job's ctor.





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

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

> fix bug for quartz scheduler instantiate ReminderJob
> ----------------------------------------------------
>
>                 Key: GOBBLIN-2108
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-2108
>             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