fix: prevent LoopStart state variable collision - #8126
Conversation
Automated Reviewer SuggestionsBased on the
|
Backport auto-label reportThis
|
|
| config | throughput | MB/s | latency | max Δ latest / 7d | |
|---|---|---|---|---|---|
| 🔴 | bs=10 sw=10 sl=64 | 569 | 0.347 | 17,567/34,252/34,252 us | 🔴 +32.5% / 🔴 +132.0% |
| 🟢 | bs=100 sw=10 sl=64 | 1,317 | 0.804 | 73,779/102,903/102,903 us | 🟢 -7.7% / 🟢 -22.0% |
| ⚪ | bs=1000 sw=10 sl=64 | 1,554 | 0.948 | 640,764/689,027/689,027 us | ⚪ within ±5% / 🟢 +39.8% |
Baseline details
Latest main 98588bf from same runner
| config | metric | PR | latest main | 7d avg | Δ latest | Δ 7d |
|---|---|---|---|---|---|---|
| bs=10 sw=10 sl=64 | throughput | 569 tuples/sec | 672 tuples/sec | 842.25 tuples/sec | -15.3% | -32.4% |
| bs=10 sw=10 sl=64 | MB/s | 0.347 MB/s | 0.41 MB/s | 0.514 MB/s | -15.4% | -32.5% |
| bs=10 sw=10 sl=64 | p50 | 17,567 us | 14,530 us | 11,860 us | +20.9% | +48.1% |
| bs=10 sw=10 sl=64 | p95 | 34,252 us | 25,841 us | 14,764 us | +32.5% | +132.0% |
| bs=10 sw=10 sl=64 | p99 | 34,252 us | 25,841 us | 17,870 us | +32.5% | +91.7% |
| bs=100 sw=10 sl=64 | throughput | 1,317 tuples/sec | 1,311 tuples/sec | 1,084 tuples/sec | +0.5% | +21.5% |
| bs=100 sw=10 sl=64 | MB/s | 0.804 MB/s | 0.8 MB/s | 0.662 MB/s | +0.5% | +21.5% |
| bs=100 sw=10 sl=64 | p50 | 73,779 us | 73,840 us | 94,616 us | -0.1% | -22.0% |
| bs=100 sw=10 sl=64 | p95 | 102,903 us | 111,541 us | 100,981 us | -7.7% | +1.9% |
| bs=100 sw=10 sl=64 | p99 | 102,903 us | 111,541 us | 108,141 us | -7.7% | -4.8% |
| bs=1000 sw=10 sl=64 | throughput | 1,554 tuples/sec | 1,554 tuples/sec | 1,112 tuples/sec | 0.0% | +39.8% |
| bs=1000 sw=10 sl=64 | MB/s | 0.948 MB/s | 0.949 MB/s | 0.679 MB/s | -0.1% | +39.7% |
| bs=1000 sw=10 sl=64 | p50 | 640,764 us | 641,575 us | 930,623 us | -0.1% | -31.1% |
| bs=1000 sw=10 sl=64 | p95 | 689,027 us | 709,762 us | 974,308 us | -2.9% | -29.3% |
| bs=1000 sw=10 sl=64 | p99 | 689,027 us | 709,762 us | 1,002,806 us | -2.9% | -31.3% |
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,351.57,200,128000,569,0.347,17566.85,34251.50,34251.50
1,100,10,64,20,1519.17,2000,1280000,1317,0.804,73779.38,102902.89,102902.89
2,1000,10,64,20,12872.32,20000,12800000,1554,0.948,640764.21,689027.20,689027.20
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8126 +/- ##
=========================================
Coverage 94.03% 94.03%
Complexity 4762 4762
=========================================
Files 1181 1181
Lines 47877 47880 +3
Branches 5324 5324
=========================================
+ Hits 45020 45023 +3
Misses 1433 1433
Partials 1424 1424
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
What changes were proposed in this PR?
Fixes LoopStart state variables being silently overwritten by upstream state. LoopStart now detects collisions between existing loop variables and incoming state variables and raises an error instead of overwriting the loop variable.
Before:

After:

Any related issues, documentation, discussions?
Fixes #7248
How was this PR tested?
Added a unit test verifying that LoopStart rejects incoming state that attempts to overwrite an existing loop state variable.
Ran the targeted pytest test successfully: 1 passed.
Was this PR authored or co-authored using generative AI tooling?
Generated-by: ChatGPT (5.5 mini)