feat(pyamber): stop materialized state replay - #8266
Conversation
Automated Reviewer SuggestionsBased on the
|
Backport auto-label reportThis
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8266 +/- ##
=========================================
Coverage 93.93% 93.93%
Complexity 4761 4761
=========================================
Files 1191 1191
Lines 48308 48310 +2
Branches 5377 5377
=========================================
+ Hits 45378 45380 +2
Misses 1495 1495
Partials 1435 1435
*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:
|
|
| config | throughput | MB/s | latency | max Δ latest / 7d | |
|---|---|---|---|---|---|
| 🟢 | bs=10 sw=10 sl=64 | 421 | 0.257 | 22,755/31,222/31,222 us | 🟢 -7.2% / 🔴 +100.4% |
| 🟢 | bs=100 sw=10 sl=64 | 953 | 0.581 | 103,049/121,709/121,709 us | 🟢 -14.9% / 🔴 +13.5% |
| 🔴 | bs=1000 sw=10 sl=64 | 1,059 | 0.646 | 941,154/1,061,170/1,061,170 us | 🔴 +7.9% / ⚪ within ±5% |
Baseline details
Latest main 50321e4 from same runner
| config | metric | PR | latest main | 7d avg | Δ latest | Δ 7d |
|---|---|---|---|---|---|---|
| bs=10 sw=10 sl=64 | throughput | 421 tuples/sec | 411 tuples/sec | 787.98 tuples/sec | +2.4% | -46.6% |
| bs=10 sw=10 sl=64 | MB/s | 0.257 MB/s | 0.251 MB/s | 0.481 MB/s | +2.4% | -46.6% |
| bs=10 sw=10 sl=64 | p50 | 22,755 us | 23,318 us | 12,593 us | -2.4% | +80.7% |
| bs=10 sw=10 sl=64 | p95 | 31,222 us | 33,649 us | 15,579 us | -7.2% | +100.4% |
| bs=10 sw=10 sl=64 | p99 | 31,222 us | 33,649 us | 18,786 us | -7.2% | +66.2% |
| bs=100 sw=10 sl=64 | throughput | 953 tuples/sec | 945 tuples/sec | 1,008 tuples/sec | +0.8% | -5.4% |
| bs=100 sw=10 sl=64 | MB/s | 0.581 MB/s | 0.577 MB/s | 0.615 MB/s | +0.7% | -5.6% |
| bs=100 sw=10 sl=64 | p50 | 103,049 us | 103,598 us | 100,701 us | -0.5% | +2.3% |
| bs=100 sw=10 sl=64 | p95 | 121,709 us | 142,962 us | 107,244 us | -14.9% | +13.5% |
| bs=100 sw=10 sl=64 | p99 | 121,709 us | 142,962 us | 116,122 us | -14.9% | +4.8% |
| bs=1000 sw=10 sl=64 | throughput | 1,059 tuples/sec | 1,096 tuples/sec | 1,042 tuples/sec | -3.4% | +1.6% |
| bs=1000 sw=10 sl=64 | MB/s | 0.646 MB/s | 0.669 MB/s | 0.636 MB/s | -3.4% | +1.6% |
| bs=1000 sw=10 sl=64 | p50 | 941,154 us | 911,741 us | 981,959 us | +3.2% | -4.2% |
| bs=1000 sw=10 sl=64 | p95 | 1,061,170 us | 983,804 us | 1,023,080 us | +7.9% | +3.7% |
| bs=1000 sw=10 sl=64 | p99 | 1,061,170 us | 983,804 us | 1,051,697 us | +7.9% | +0.9% |
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,474.66,200,128000,421,0.257,22754.70,31221.66,31221.66
1,100,10,64,20,2099.47,2000,1280000,953,0.581,103049.42,121709.29,121709.29
2,1000,10,64,20,18892.58,20000,12800000,1059,0.646,941154.32,1061169.53,1061169.53
What changes were proposed in this PR?
Honor the materialized input reader's stop flag while replaying persisted state, matching the existing tuple replay behavior. The reader still sends its end marker so downstream port alignment can finish.
Any related issues, documentation, discussions?
Closes #8265
How was this PR tested?
The untouched live probe emitted one state frame after
stop. After the fix it reportedstate_frames_emitted=0andfinished=True.C:\Users\carlo\texera\texera\.venv312\Scripts\python.exe -c "import sys,pytest; sys.path[:0]=[r'C:\Users\carlo\texera\texera-worktrees\investigate-bug69\amber\src\main\python',r'C:\Users\carlo\texera\texera\amber\src\main\python']; raise SystemExit(pytest.main([r'amber/src/test/python/core/storage/runnables/test_input_port_materialization_reader_runnable.py','-q','-p','no:cacheprovider']))"C:\Users\carlo\texera\texera\.venv312\Scripts\ruff.exe check amber/src/main/python amber/src/test/pythonC:\Users\carlo\texera\texera\.venv312\Scripts\ruff.exe format --check amber/src/main/python/core/storage/runnables/input_port_materialization_reader_runnable.py amber/src/test/python/core/storage/runnables/test_input_port_materialization_reader_runnable.pyWas this PR authored or co-authored using generative AI tooling?
Generated-by: Codex