Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix DelayedTrackingUpdateJob spam on update errors (#411)
* Fix DelayedTrackingUpdateJob spam on update errors DelayedTrackingUpdateJob would start spamming when it encountered an error (e.g. a tracker has an issue) and never stop. This seems to stem from a circular dependency between the Job's `doWork` and TrackChapter's `await`. TrackChapter sets up a completely new instance of the DelayedTrackingUpdateJob if any Exception was thrown during the track update. This causes the Job to get replaced (as per the WorkManager's set ExistingWorkPolicy). Because of this, the guard clause at the start of doWork would never trigger, as all instances of the Job would report being the 0th try (because they were completely new instances). This simple fix introduces a boolean `isRetry` parameter to TrackChapter's await method, which is set to `false` by default. DelayedTrackingUpdateJob however sets this parameter to `true`, which means TrackChapter won't try to set up the Job again. * Rename isRetry parameter to setupJobOnFailure This also inverts the logic, so true & false were swapped.
- Loading branch information