fix(large-refs): cleanup based on table read#4716
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Updates execution write paths to populate this metadata: Reworks Reviewed by Cursor Bugbot for commit f5fa8ef. Configure here. |
Greptile SummaryThis PR replaces the previous JSONB-scan approach for large execution value cleanup with a proper table-driven system: three new tables (
Confidence Score: 4/5The core cleanup logic is sound, but store.ts has a narrow path where a thrown exception from the registration transaction leaves a blob key permanently untracked. When registerLargeValueOwner throws (e.g., the dependency closure exceeds 5000 or a DB error rolls back the transaction), storeLargeValue never reaches the if (!registered) branch, so deleteUntrackedPersistedValue is never called and the blob key written by persistValue is orphaned. apps/sim/lib/execution/payloads/store.ts — the registration+cleanup block around line 165 needs a try/catch so exceptions from registerPersistedValueOwner also trigger key deletion. Important Files Changed
Reviews (6): Last reviewed commit: "do not attempt blob deletion for infra o..." | Re-trigger Greptile |
|
@greptile |
|
bugbot run |
|
bugbot run |
|
@greptile |
|
bugbot run |
|
@greptile |
|
bugbot run |
|
@greptile |
|
bugbot run |
|
@greptile |
|
bugbot run |
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 f5fa8ef. Configure here.
Summary
Cleanup large refs based on table row tracking state rather than scanning execution_data
Type of Change
Testing
Tested manually
Checklist