[ 
https://issues.apache.org/jira/browse/GOBBLIN-1881?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Urmi Mustafi updated GOBBLIN-1881:
----------------------------------
    Description: 
The following error is thrown when attempting to schedule reminder events. 

{{The job ... referenced by the trigger does not 
exist.","stackTrace":[\\{"index":0,"call":"storeTrigger","columnNumber":null,"fileName":"RAMJobStore.java","lineNumber":422,"nativeMethod":"0","source":"org.quartz.simpl.RAMJobStore"},\\{"index":1,"call":"scheduleJob","columnNumber":null,"fileName":"QuartzScheduler.java","lineNumber":932,"nativeMethod":"0","source":"org.quartz.core.QuartzScheduler"},\\{"index":2,"call":"scheduleJob","columnNumber":null,"fileName":"StdScheduler.java","lineNumber":258,"nativeMethod":"0","source":"org.quartz.impl.StdScheduler"},\\{"index":3,"call":"scheduleReminderForEvent","columnNumber":null,"fileName":"FlowTriggerHandler.java","lineNumber":187,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.orchestration.FlowTriggerHandler"},\\{"index":4,"call":"handleTriggerEvent","columnNumber":null,"fileName":"FlowTriggerHandler.java","lineNumber":124,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.orchestration.FlowTriggerHandler"},\\{"index":5,"call":"orchestrate","columnNumber":null,"fileName":"Orchestrator.java","lineNumber":267,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.orchestration.Orchestrator"},\{"index":6,"call":"runJob","columnNumber":null,"fileName":"GobblinServiceJobScheduler.java","lineNumber":47}}

 

The issue above from FlowTriggerHandler reveals two problems
 * The job referenced is not found by scheduler
 ** We add a check for if this happens by searching for the jobKey within the 
scheduler and emit a metric
 ** The job key is constructed with flow name/group instead of job name/group, 
this could be an issue for multi-hop jobs but in general should not be. 
 * Upon looking closely at the code, we also need to update the job props of 
the job in the scheduler to keep track of the event to set reminder for. The 
job props we set 
[here|https://jarvis.corp.linkedin.com/codesearch/result/?name=FlowTriggerHandler.java&path=gobblin-elr%2Fgobblin-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgobblin%2Fservice%2Fmodules%2Forchestration&reponame=linkedin%2Fgobblin-elr#176]
 are never used in 
[createTriggerForJob|https://jarvis.corp.linkedin.com/codesearch/result/?name=JobScheduler.java&path=gobblin-elr%2Fgobblin-runtime%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgobblin%2Fscheduler&reponame=linkedin%2Fgobblin-elr#588]
 We want to use {{StdScheduler.scheduleJob(JobDetail jobDetail, Set<? extends 
Trigger> triggersForJob, boolean replace)}} to replace the jobDetail we 
construct when making a reminder event. 

 

  was:
{{The job (StressTest.gobblin-test-1638398777124) referenced by the trigger 
does not 
exist.","stackTrace":[\{"index":0,"call":"storeTrigger","columnNumber":null,"fileName":"RAMJobStore.java","lineNumber":422,"nativeMethod":"0","source":"org.quartz.simpl.RAMJobStore"},\{"index":1,"call":"scheduleJob","columnNumber":null,"fileName":"QuartzScheduler.java","lineNumber":932,"nativeMethod":"0","source":"org.quartz.core.QuartzScheduler"},\{"index":2,"call":"scheduleJob","columnNumber":null,"fileName":"StdScheduler.java","lineNumber":258,"nativeMethod":"0","source":"org.quartz.impl.StdScheduler"},\{"index":3,"call":"scheduleReminderForEvent","columnNumber":null,"fileName":"FlowTriggerHandler.java","lineNumber":187,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.orchestration.FlowTriggerHandler"},\{"index":4,"call":"handleTriggerEvent","columnNumber":null,"fileName":"FlowTriggerHandler.java","lineNumber":124,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.orchestration.FlowTriggerHandler"},\{"index":5,"call":"orchestrate","columnNumber":null,"fileName":"Orchestrator.java","lineNumber":267,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.orchestration.Orchestrator"},\{"index":6,"call":"runJob","columnNumber":null,"fileName":"GobblinServiceJobScheduler.java","lineNumber":476,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.scheduler.GobblinServiceJobScheduler"},\{"index":7,"call":"executeImpl","columnNumber":null,"fileName":"GobblinServiceJobScheduler.java","lineNumber":725,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.scheduler.GobblinServiceJobScheduler$GobblinServiceJob"},\{"index":8,"call":"execute","columnNumber":null,"fileName":"BaseGobblinJob.java","lineNumber":58,"nativeMethod":"0","source":"org.apache.gobblin.scheduler.BaseGobblinJob"},\{"index":9,"call":"run","columnNumber":null,"fileName":"JobRunShell.java","lineNumber":202,"nativeMethod":"0","source":"org.quartz.core.JobRunShell"},\{"index":10,"call":"run","columnNumber":null,"fileName":"SimpleThreadPool.java","lineNumber":573,"nativeMethod":"0","source":"org.quartz.simpl.SimpleThreadPool$WorkerThread"}],"type":"org.quartz.JobPersistenceException}}

 

The issue above from FlowTriggerHandler reveals two problems
 * the job referenced is not found by scheduler
 ** let's check why/when this is the case by searching for the jobKey within 
the scheduler
 ** the job key is constructed with flow name/group instead of job name/group, 
is that the issue? 
 * We also need to update the job props of the job in the scheduler to keep 
track of the event to set reminder for. The job props we set 
[here|https://jarvis.corp.linkedin.com/codesearch/result/?name=FlowTriggerHandler.java&path=gobblin-elr%2Fgobblin-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgobblin%2Fservice%2Fmodules%2Forchestration&reponame=linkedin%2Fgobblin-elr#176]
 are never used in 
[createTriggerForJob|https://jarvis.corp.linkedin.com/codesearch/result/?name=JobScheduler.java&path=gobblin-elr%2Fgobblin-runtime%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgobblin%2Fscheduler&reponame=linkedin%2Fgobblin-elr#588]
 We want to use {{StdScheduler.scheduleJob(JobDetail jobDetail, Set<? extends 
Trigger> triggersForJob, boolean replace)}} to replace the jobDetail we 
construct when making a reminder event. 
 *  

 


> Fix Setting Reminder Scheduler Event
> ------------------------------------
>
>                 Key: GOBBLIN-1881
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1881
>             Project: Apache Gobblin
>          Issue Type: Bug
>            Reporter: Urmi Mustafi
>            Priority: Major
>
> The following error is thrown when attempting to schedule reminder events. 
> {{The job ... referenced by the trigger does not 
> exist.","stackTrace":[\\{"index":0,"call":"storeTrigger","columnNumber":null,"fileName":"RAMJobStore.java","lineNumber":422,"nativeMethod":"0","source":"org.quartz.simpl.RAMJobStore"},\\{"index":1,"call":"scheduleJob","columnNumber":null,"fileName":"QuartzScheduler.java","lineNumber":932,"nativeMethod":"0","source":"org.quartz.core.QuartzScheduler"},\\{"index":2,"call":"scheduleJob","columnNumber":null,"fileName":"StdScheduler.java","lineNumber":258,"nativeMethod":"0","source":"org.quartz.impl.StdScheduler"},\\{"index":3,"call":"scheduleReminderForEvent","columnNumber":null,"fileName":"FlowTriggerHandler.java","lineNumber":187,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.orchestration.FlowTriggerHandler"},\\{"index":4,"call":"handleTriggerEvent","columnNumber":null,"fileName":"FlowTriggerHandler.java","lineNumber":124,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.orchestration.FlowTriggerHandler"},\\{"index":5,"call":"orchestrate","columnNumber":null,"fileName":"Orchestrator.java","lineNumber":267,"nativeMethod":"0","source":"org.apache.gobblin.service.modules.orchestration.Orchestrator"},\{"index":6,"call":"runJob","columnNumber":null,"fileName":"GobblinServiceJobScheduler.java","lineNumber":47}}
>  
> The issue above from FlowTriggerHandler reveals two problems
>  * The job referenced is not found by scheduler
>  ** We add a check for if this happens by searching for the jobKey within the 
> scheduler and emit a metric
>  ** The job key is constructed with flow name/group instead of job 
> name/group, this could be an issue for multi-hop jobs but in general should 
> not be. 
>  * Upon looking closely at the code, we also need to update the job props of 
> the job in the scheduler to keep track of the event to set reminder for. The 
> job props we set 
> [here|https://jarvis.corp.linkedin.com/codesearch/result/?name=FlowTriggerHandler.java&path=gobblin-elr%2Fgobblin-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgobblin%2Fservice%2Fmodules%2Forchestration&reponame=linkedin%2Fgobblin-elr#176]
>  are never used in 
> [createTriggerForJob|https://jarvis.corp.linkedin.com/codesearch/result/?name=JobScheduler.java&path=gobblin-elr%2Fgobblin-runtime%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fgobblin%2Fscheduler&reponame=linkedin%2Fgobblin-elr#588]
>  We want to use {{StdScheduler.scheduleJob(JobDetail jobDetail, Set<? extends 
> Trigger> triggersForJob, boolean replace)}} to replace the jobDetail we 
> construct when making a reminder event. 
>  



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

Reply via email to