Commit 1f833ee
committed
fix(execution): cover every subflow field that grows without a bound
The first pass only compacted a loop's completed iteration outputs, which left
the same pause failure reachable by four other routes: a forEach collection, an
in-flight iteration output, two loops each individually under the limit but
oversized together, and a parallel's accumulated branch outputs. Parallel state
was not even asserted, so it shipped an oversized snapshot silently rather than
failing.
Compact every field that accumulates, assert parallel state alongside loop
state, and offload at a threshold far below the snapshot's own — the assertion
measures the combined record, so compacting at its ceiling is a no-op in
exactly the case that needs it.
Skip the pass entirely when the state already fits, so a pause per iteration
inside a modest loop pays one bounded measurement rather than a structural
rebuild each time, and count the compaction against the recorded duration
instead of stopping the clock before it runs.
Add an engine-level test: the serializer tests all passed with the call removed,
leaving the wiring itself undefended.1 parent af500aa commit 1f833ee
4 files changed
Lines changed: 236 additions & 55 deletions
File tree
- apps/sim/executor/execution
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
427 | 427 | | |
428 | 428 | | |
429 | 429 | | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
430 | 476 | | |
431 | 477 | | |
432 | 478 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
495 | 495 | | |
496 | 496 | | |
497 | 497 | | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | 498 | | |
502 | 499 | | |
503 | 500 | | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
504 | 504 | | |
505 | 505 | | |
506 | 506 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
261 | 261 | | |
262 | 262 | | |
263 | 263 | | |
264 | | - | |
265 | | - | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
266 | 275 | | |
267 | 276 | | |
268 | 277 | | |
269 | 278 | | |
270 | 279 | | |
271 | | - | |
272 | | - | |
273 | | - | |
| 280 | + | |
| 281 | + | |
274 | 282 | | |
275 | | - | |
276 | | - | |
277 | | - | |
| 283 | + | |
| 284 | + | |
278 | 285 | | |
279 | 286 | | |
280 | 287 | | |
281 | 288 | | |
282 | 289 | | |
283 | 290 | | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | | - | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
289 | 294 | | |
290 | | - | |
291 | | - | |
292 | | - | |
| 295 | + | |
293 | 296 | | |
294 | | - | |
295 | | - | |
296 | | - | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
297 | 344 | | |
| 345 | + | |
298 | 346 | | |
| 347 | + | |
| 348 | + | |
299 | 349 | | |
300 | | - | |
301 | | - | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
302 | 369 | | |
303 | 370 | | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
| 371 | + | |
308 | 372 | | |
309 | | - | |
310 | | - | |
311 | | - | |
| 373 | + | |
312 | 374 | | |
313 | 375 | | |
314 | | - | |
| 376 | + | |
315 | 377 | | |
316 | 378 | | |
317 | 379 | | |
318 | 380 | | |
319 | 381 | | |
320 | 382 | | |
321 | | - | |
322 | | - | |
323 | | - | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
324 | 387 | | |
325 | 388 | | |
326 | 389 | | |
327 | | - | |
| 390 | + | |
328 | 391 | | |
329 | 392 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
| 188 | + | |
189 | 189 | | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
196 | 224 | | |
197 | | - | |
198 | | - | |
199 | | - | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
200 | 233 | | |
201 | 234 | | |
202 | | - | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
203 | 239 | | |
204 | | - | |
| 240 | + | |
205 | 241 | | |
206 | 242 | | |
207 | 243 | | |
| |||
210 | 246 | | |
211 | 247 | | |
212 | 248 | | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
213 | 279 | | |
214 | 280 | | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
221 | 292 | | |
222 | 293 | | |
223 | 294 | | |
| |||
280 | 351 | | |
281 | 352 | | |
282 | 353 | | |
| 354 | + | |
283 | 355 | | |
284 | 356 | | |
285 | 357 | | |
| |||
0 commit comments