Skip to content

Patch race condition in callbacks in JobIteration #358

@adrianna-chang-shopify

Description

@adrianna-chang-shopify

Related to: #335

We patched this in the Maintenance Tasks gem here, but this is reopening JobIteration's private API and is ideally something we should solve upstream if possible.

I attempted to write an upstream patch to do so on this branch, but ran into issues when testing against Core (see CI Build). There are a number of batch iteration jobs that depend on the reenqueue happening from within #iterate_with_enumerator, prior to the shutdown / after perform callbacks happen in order to gracefully retry from the last cursor if an error gets raised while processing a batch. The complexity level for these jobs is quite high, so it will need more investigation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds explorationSomething we're not sure if we want to build / solvestale

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions