Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't recreate failed PredictionJobSubmissionJobs #175

Open
zwolf opened this issue Jun 7, 2024 · 0 comments
Open

Don't recreate failed PredictionJobSubmissionJobs #175

zwolf opened this issue Jun 7, 2024 · 0 comments

Comments

@zwolf
Copy link
Member

zwolf commented Jun 7, 2024

There are already 2 running jobs in the pool. Kade gets a request from Hamlet to PredictionJobsController#create. The controller kicks off a PredictionJobSubmissionJob. When Batch::Prediction::CreateJob.new(prediction_job).run is called, the bajor_client reaches out to bajor and receives a 409 Conflict because bajor will not schedule another job, because "Active Jobs are running in the batch system - please wait till they are fininshed processing." The PredictionJobsSubmissionJob raises an exception and Sidekiq requeues the job.

When the job re-runs, the job status is checked--but only for submitted? and complete?. Since the previous job failed, the worker continues to run. The failure of the worker should cause it to retry, passing the same argument (prediction job ID).

Instead, for some reason it begins creating new PredictionJobs in kade as the retries are run. Each new PredictionJob is retried individually in Sidekiq, and so a single failure causes multiple jobs to be queued in the sidekiq retry queue multiple times, each with incrementing prediction job IDs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant