phet commented on code in PR #3749:
URL: https://github.com/apache/gobblin/pull/3749#discussion_r1305155379


##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/FlowTriggerHandler.java:
##########
@@ -181,36 +179,43 @@ private void scheduleReminderForEvent(Properties 
jobProps, MultiActiveLeaseArbit
         this.jobDoesNotExistInSchedulerCount.inc();
         return;
       }
-      JobKey reminderJobKey = constructReminderJobKey(origJobKey, 
status.getEventTimeMillis());
-      JobDetailImpl jobDetail = createJobDetailForReminderEvent(origJobKey, 
reminderJobKey, cronExpression,
-          status.getEventTimeMillis(), originalEventTimeMillis);
-      // Create a new trigger that is set to fire at the minimum reminder wait 
time calculated
+      JobKey reminderJobKey = constructReminderJobKey(origJobKey, status);
+      JobDetailImpl jobDetail = createJobDetailForReminderEvent(origJobKey, 
reminderJobKey, status,
+          triggerEventTimeMillis, schedulerMaxBackoffMillis);

Review Comment:
   since `createJobDetailForReminderEvent` is not `static`, let's access 
`this.schedulerMaxBackoffMillis` behind-the-scenes (rather than passing as an 
arg)



##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/FlowTriggerHandler.java:
##########
@@ -181,36 +179,43 @@ private void scheduleReminderForEvent(Properties 
jobProps, MultiActiveLeaseArbit
         this.jobDoesNotExistInSchedulerCount.inc();
         return;
       }
-      JobKey reminderJobKey = constructReminderJobKey(origJobKey, 
status.getEventTimeMillis());
-      JobDetailImpl jobDetail = createJobDetailForReminderEvent(origJobKey, 
reminderJobKey, cronExpression,
-          status.getEventTimeMillis(), originalEventTimeMillis);
-      // Create a new trigger that is set to fire at the minimum reminder wait 
time calculated
+      JobKey reminderJobKey = constructReminderJobKey(origJobKey, status);
+      JobDetailImpl jobDetail = createJobDetailForReminderEvent(origJobKey, 
reminderJobKey, status,
+          triggerEventTimeMillis, schedulerMaxBackoffMillis);
+      // Create a new trigger with a `reminder` suffix that is set to fire at 
the minimum reminder wait time calculated
       Trigger reminderTrigger = 
JobScheduler.createTriggerForJob(reminderJobKey,
-          (Properties) 
jobDetail.getJobDataMap().get(GobblinServiceJobScheduler.PROPERTIES_KEY), 
Optional.absent());
+          getJobPropertiesFromJobDetail(jobDetail), 
Optional.of(createSuffixForJobTrigger(status)));
       // TODO: remove this comment once we've confirmed this function works
-      log.info("Flow Trigger Handler - [{}, eventTimestamp: {}] -  attempting 
to schedule reminder for event {}",
-          flowAction, originalEventTimeMillis, status.getEventTimeMillis());
+      log.info("Flow Trigger Handler - [{}, eventTimestamp: {}] -  attempting 
to schedule reminder for event {} with"
+              + "reminderJobKey {} and reminderTriggerKey {}", flowAction, 
triggerEventTimeMillis,
+          status.getEventTimeMillis(), reminderJobKey, 
reminderTrigger.getKey());
       this.schedulerService.getScheduler().scheduleJob(jobDetail, 
reminderTrigger);

Review Comment:
   any reason not to continue "all the way" and combine these four 
closely-related cascading invocations that are merely sub-steps toward 
accomplishing the overall goal?
   ```
   protected Trigger createAndScheduleReminder(
       JobKey origJobKey,
       MultiActiveLeaseArbiter.LeasedToAnotherStatus status,
       long triggerEventTimeMillis
     ) {
     String reminderSuffix = createSuffixForJobTrigger(status);
     JobKey reminderJobKey = new JobKey(origJobKey.getName() + reminderSuffix + 
origJobKey.getGroup());
     JobDetailImpl jobDetail = createJobDetailForReminderEvent(origJobKey, 
reminderJobKey, status, triggerEventTimeMillis, this.schedulerMaxBackoffMillis);
     Trigger reminderTrigger = JobScheduler.createTriggerForJob(reminderJobKey,
         getJobPropertiesFromJobDetail(jobDetail),
         Optional.of(reminderSuffix));
     // TODO: remove this comment once we've confirmed this function works
     log.info("Flow Trigger Handler - [{}, eventTimestamp: {}] -  attempting to 
schedule reminder for event {} with"
             + "reminderJobKey {} and reminderTriggerKey {}", flowAction, 
triggerEventTimeMillis,
         status.getEventTimeMillis(), reminderJobKey, reminderTrigger.getKey());
     this.schedulerService.getScheduler().scheduleJob(jobDetail, 
reminderTrigger);
     return reminderTrigger;
   }
   ```
   (return `Trigger` for logging)



-- 
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