fix(tables): heartbeat export job before upload so the stale janitor can't kill a live finalize#5017
Conversation
…can't kill a live finalize
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview If the job is canceled or superseded at that gate, the runner throws The stale-execution cron response and comments are aligned with behavior already in place: table jobs cover import, export, and delete, with renamed metrics ( Reviewed by Cursor Bugbot for commit f0c50f0. Configure here. |
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 285950b. Configure here.
Greptile SummaryAdds a pre-upload ownership heartbeat to the table export runner so that a canceled or janitor-failed job exits before paying for the expensive storage upload, and renames the misleadingly-named
Confidence Score: 5/5Safe to merge — the change adds a cancellation gate before the upload with correct error handling and a targeted test, and the cron rename is a cosmetic-only fix. The finalize gate inserts two lines that mirror the already-proven loop-entrance pattern; uploadedKey is still null at that point so the catch-block cleanup path is correct. The test accurately models the exact call sequence. The cron renaming touches no logic. No regressions are apparent. No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "chore(tables): rename stale-janitor coun..." | Re-trigger Greptile |
|
Addressed the 4/5 note: renamed |
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit f0c50f0. Configure here.
Summary
updateJobProgress) immediately before the export upload — the finalize phase (in-memory join + storage upload) previously emitted no progress updates, so the janitor's stale window was the only bound on slow storageUPDATEalready applied to all three)EXECUTION_TIMEOUT_ASYNC_ENTERPRISEType of Change
Testing
Added a finalize-gate test (cancel between last page and upload → no upload); all 227 table suite tests pass; typecheck clean
Checklist