Skip to content

Commit 96090ca

Browse files
fix(tables): stop the fold sweep from starting a page query past its budget (#8766)
1 parent b7fa794 commit 96090ca

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

‎apps/sim/lib/table/row-changes.ts‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,16 +138,18 @@ export async function foldPendingTableRowChanges(budgetMs: number): Promise<Fold
138138
let afterTableId = ''
139139
let folded = 0
140140
let skipped = 0
141+
const outOfBudget = (): FoldSweepResult => {
142+
logger.warn('Table row-change fold sweep ran out of budget', { folded, skipped, budgetMs })
143+
return { folded, skipped, budgetExhausted: true }
144+
}
141145

142146
for (;;) {
147+
if (Date.now() >= deadline) return outOfBudget()
143148
const tableIds = await nextPendingTableIds(afterTableId)
144149
if (tableIds.length === 0) return { folded, skipped, budgetExhausted: false }
145150

146151
for (const tableId of tableIds) {
147-
if (Date.now() >= deadline) {
148-
logger.warn('Table row-change fold sweep ran out of budget', { folded, skipped, budgetMs })
149-
return { folded, skipped, budgetExhausted: true }
150-
}
152+
if (Date.now() >= deadline) return outOfBudget()
151153
afterTableId = tableId
152154
if (await foldTableRowChanges(tableId)) folded++
153155
else skipped++

0 commit comments

Comments
 (0)