Description
Scenario:
- Import Schedule service data with temporal expression id.
- JobManager creates a child Job with temExprId in pending status when the imported Job is in running status.
- Now the parent Job is in running status and the child Job, which is in pending status, transitions to queued status if Job Poll size is full. In this scenario, if we restart the server then both Jobs are Crashed and JobManager creates child Job without tempExprdId.
Example: Please refer to the attached screenshots.
- Job 32993100 is imported with TempExprId
- When Job 32993100 is in running status, then Job 32993101 is created with TempExprId in pending status but job 32993101 is moved to Queued status if job poll size is full.
- If we restart the server then JobPoller runs reloadCrashedJobs() and both jobs are crashed and JobManager creates two child jobs (32993200, 32993201) without TempExprId.
So in this case of missing temporal expression id job manager will not be able to schedule further jobs.
Expected: If Queued Job (32993101) is crashed then its corresponding Job (32993200) should have TempExprId to continue further scheduling.