s3wal: real-S3 e2e push p50 ~1.07 s (~2.8x the PG+S3 baseline on the same bucket region) — census and trim per-push S3 round trips
Maintainers usually reply within 1 day
@ThomasK33 is already working on this.
Since Sep 11, 2026.
Assessment
This issue has not been assessed yet.
Description
From the 2026-08-27 real-S3 session (eu-central-1, ~7 ms HTTP RTT to the S3 endpoint): sequential empty-commit git push against a live serve node measured
- s3wal (bucket = ref+meta authority + blobs): p50 1070 ms (n=20, p90 1171 ms)
- PG+S3 (containerized Postgres + same-region S3 blobs): p50 386 ms (n=20)
- loopback-SeaweedFS s3wal e2e (Phase 4 bench): p50 138 ms
The §3 simulated-push cell (manifest GET + 8 MiB pack PUT + 2 CAS advances) costs only ~204 ms p50 on the same bucket, so the e2e path is paying roughly 25–30 additional sequential S3 round trips' worth of latency per push somewhere between receive-pack, the update hook, hydrate, LFS/quota/meta accounting, and generation bumps. Known suspect: hook processes reconstruct stores from env URLs per invocation (fresh S3 client, config load, TLS) rather than reusing the serve process's connections.
Not a Gate 1a-B kill criterion (that gate measures the simulated-push cell, which passes with wide margin), but ~1.1 s per uncontended push is the number a real adopter feels. Worth: (1) a per-push S3 round-trip census (count + purpose), (2) trimming the obvious redundancies, (3) re-measuring.
Generated with mux • Model: anthropic:claude-fable-5 • Thinking: xhigh
- Dominant language
- Go
- Stars
- 0
- Forks
- 0
- Avg merge
- 6h 16m
- Merged PRs (30d)
- 243
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from coder/openstorage
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
coder/openstorage#807 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 49/100
coder/openstorage#806 ·
Maintainers usually reply within 1 day
-
api: merge/preview ignores strategy, squash and allow_unrelated_historiesPossibly taken @ThomasK33 claimed this today. Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
coder/openstorage#805 ·
Maintainers usually reply within 1 day
-
githttp: +import remote serves clone and fetch, and its pushes stay out of the normal branch listPossibly taken @ThomasK33 claimed this today. Open
Difficulty 5/5 Over a week Newbie friendliness 20/100
coder/openstorage#804 · 2 comments ·
Maintainers usually reply within 1 day
-
api: branches/create ignores expected_target_sha, so a guarded create or move can overwrite a branchPossibly taken @ThomasK33 claimed this today. Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
coder/openstorage#803 ·
Maintainers usually reply within 1 day
All issues in coder/openstorage
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
coder/coder-logstream-kube#255 · 1 comment ·
-
kind/features
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
TencentBlueKing/bk-nodemgr#3991 ·
Maintainers usually reply within 1 day
-
meta
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
last9/last9-mcp-server#554 ·
Maintainers usually reply within 1 day