feat(pytexera): create missing binary buckets - #8262
Conversation
Backport auto-label reportThis
|
Automated Reviewer SuggestionsBased on the
|
|
| config | throughput | MB/s | latency | max Δ latest / 7d | |
|---|---|---|---|---|---|
| 🔴 | bs=10 sw=10 sl=64 | 342 | 0.209 | 29,708/38,859/38,859 us | 🔴 +16.2% / 🔴 +149.4% |
| 🔴 | bs=100 sw=10 sl=64 | 769 | 0.47 | 124,491/177,038/177,038 us | 🔴 +25.8% / 🔴 +65.1% |
| ⚪ | bs=1000 sw=10 sl=64 | 907 | 0.553 | 1,098,566/1,212,022/1,212,022 us | ⚪ within ±5% / 🔴 +18.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 | 342 tuples/sec | 385 tuples/sec | 787.98 tuples/sec | -11.2% | -56.6% |
| bs=10 sw=10 sl=64 | MB/s | 0.209 MB/s | 0.235 MB/s | 0.481 MB/s | -11.1% | -56.5% |
| bs=10 sw=10 sl=64 | p50 | 29,708 us | 25,559 us | 12,593 us | +16.2% | +135.9% |
| bs=10 sw=10 sl=64 | p95 | 38,859 us | 39,564 us | 15,579 us | -1.8% | +149.4% |
| bs=10 sw=10 sl=64 | p99 | 38,859 us | 39,564 us | 18,786 us | -1.8% | +106.8% |
| bs=100 sw=10 sl=64 | throughput | 769 tuples/sec | 821 tuples/sec | 1,008 tuples/sec | -6.3% | -23.7% |
| bs=100 sw=10 sl=64 | MB/s | 0.47 MB/s | 0.501 MB/s | 0.615 MB/s | -6.2% | -23.6% |
| bs=100 sw=10 sl=64 | p50 | 124,491 us | 121,452 us | 100,701 us | +2.5% | +23.6% |
| bs=100 sw=10 sl=64 | p95 | 177,038 us | 140,744 us | 107,244 us | +25.8% | +65.1% |
| bs=100 sw=10 sl=64 | p99 | 177,038 us | 140,744 us | 116,122 us | +25.8% | +52.5% |
| bs=1000 sw=10 sl=64 | throughput | 907 tuples/sec | 921 tuples/sec | 1,042 tuples/sec | -1.5% | -13.0% |
| bs=1000 sw=10 sl=64 | MB/s | 0.553 MB/s | 0.562 MB/s | 0.636 MB/s | -1.6% | -13.1% |
| bs=1000 sw=10 sl=64 | p50 | 1,098,566 us | 1,076,346 us | 981,959 us | +2.1% | +11.9% |
| bs=1000 sw=10 sl=64 | p95 | 1,212,022 us | 1,208,774 us | 1,023,080 us | +0.3% | +18.5% |
| bs=1000 sw=10 sl=64 | p99 | 1,212,022 us | 1,208,774 us | 1,051,697 us | +0.3% | +15.2% |
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,584.24,200,128000,342,0.209,29708.40,38859.14,38859.14
1,100,10,64,20,2599.84,2000,1280000,769,0.470,124491.34,177037.76,177037.76
2,1000,10,64,20,22061.42,20000,12800000,907,0.553,1098565.65,1212022.15,1212022.15
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8262 +/- ##
============================================
- Coverage 93.93% 93.90% -0.04%
+ Complexity 4762 4761 -1
============================================
Files 1191 1191
Lines 48308 49054 +746
Branches 5377 5377
============================================
+ Hits 45380 46062 +682
- Misses 1494 1557 +63
- Partials 1434 1435 +1
*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?
Treat the S3 missing-bucket ClientError codes from
HeadBucketas a signal to create the large binary bucket. Preserve all other client errors.The regression covers both a 404 missing bucket and a 403 error that must propagate.
Any related issues, documentation, discussions?
Closes #8261
How was this PR tested?
A botocore S3 stub reproduced the untouched failure with
ClientError: 404. After the fix, it consumed bothHeadBucketandCreateBucketand reportedbucket_created=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-bug67\amber\src\main\python',r'C:\Users\carlo\texera\texera\amber\src\main\python']; raise SystemExit(pytest.main([r'amber/src/test/python/pytexera/storage/test_large_binary_manager.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/pytexera/storage/large_binary_manager.py amber/src/test/python/pytexera/storage/test_large_binary_manager.pyWas this PR authored or co-authored using generative AI tooling?
Generated-by: Codex