Skip to content

Commit fac7849

Browse files
committed
loop/parallel results compaction
1 parent 13c6741 commit fac7849

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

apps/sim/executor/orchestrators/loop.test.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*/
44
import { beforeEach, describe, expect, it, vi } from 'vitest'
55
import { clearLargeValueCacheForTests } from '@/lib/execution/payloads/cache'
6-
import { isLargeValueRef } from '@/lib/execution/payloads/large-value-ref'
6+
import { isLargeArrayManifest } from '@/lib/execution/payloads/large-array-manifest-metadata'
77
import { EDGE } from '@/executor/constants'
88
import { LoopOrchestrator } from '@/executor/orchestrators/loop'
99
import type { ExecutionContext } from '@/executor/types'
@@ -99,6 +99,8 @@ describe('LoopOrchestrator', () => {
9999
await orchestrator.evaluateLoopContinuation(ctx, 'loop-1')
100100

101101
const output = setBlockOutput.mock.calls[0][1]
102-
expect(isLargeValueRef(output.results[0][0].result)).toBe(true)
102+
expect(Array.isArray(output.results[0])).toBe(true)
103+
expect(isLargeArrayManifest(output.results[0][0].result)).toBe(true)
104+
expect(output.results[0][0].result.totalCount).toBe(200_000)
103105
})
104106
})

apps/sim/executor/orchestrators/loop.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { toError } from '@sim/utils/errors'
33
import { generateRequestId } from '@/lib/core/utils/request'
44
import { isExecutionCancelled, isRedisCancellationEnabled } from '@/lib/execution/cancellation'
55
import { executeInIsolatedVM } from '@/lib/execution/isolated-vm'
6-
import { compactExecutionPayload, compactSubflowResults } from '@/lib/execution/payloads/serializer'
6+
import { compactSubflowResults } from '@/lib/execution/payloads/serializer'
77
import { isLikelyReferenceSegment } from '@/lib/workflows/sanitization/references'
88
import { buildLoopIndexCondition, DEFAULTS, EDGE, PARALLEL } from '@/executor/constants'
99
import type { DAG } from '@/executor/dag/builder'
@@ -252,13 +252,13 @@ export class LoopOrchestrator {
252252
}
253253

254254
if (iterationResults.length > 0) {
255-
const compactedIterationResults = (await compactExecutionPayload(iterationResults, {
255+
const compactedIterationResults = await compactSubflowResults(iterationResults, {
256256
workspaceId: ctx.workspaceId,
257257
workflowId: ctx.workflowId,
258258
executionId: ctx.executionId,
259259
userId: ctx.userId,
260260
requireDurable: true,
261-
})) as NormalizedBlockOutput[]
261+
})
262262
scope.allIterationOutputs.push(compactedIterationResults)
263263
}
264264

0 commit comments

Comments
 (0)