Skip to content

chore: pin celeris main (ea3d528) in the refapps, debugvars and the bench server - #312

Merged
FumingPower3925 merged 1 commit into
mainfrom
chore/pin-celeris-main
Sep 8, 2026
Merged

chore: pin celeris main (ea3d528) in the refapps, debugvars and the bench server#312
FumingPower3925 merged 1 commit into
mainfrom
chore/pin-celeris-main

Conversation

@FumingPower3925

Copy link
Copy Markdown
Contributor

Bumps the ten modules that pin celeris from the v1.5.11 release tag to a pseudo-version of celeris main, so the nightly and the 24h soak validate the release candidate rather than the last shipped tag.

celeris main is green at ea3d528 and carries four io_uring fixes landed today that v1.5.11 does not have:

issue fix
goceleris/celeris#521 the process-global H2 stream worker pool starved once GOMAXPROCS*4 streaming handlers were live (2/8 handlers started on a 2-worker pool, 8/8 after)
goceleris/celeris#522 completeSend deadlocked the worker against itself on cs.detachMu; SEND_ZC ENOMEM was treated as fatal, killing 16 healthy conns per run
goceleris/celeris#523 a dropped H2 eventfd POLL_ADD was swallowed while h2PollArmed is never cleared, leaving the eventfd permanently deaf
goceleris/celeris#525 the SEND_ZC first-CQE branch was keyed on the mutable w.sendZC instead of the CQE's own F_MORE, stranding conns at cs.sending == true where the dirty-list flush skips them; plus r.pending reconciled against the kernel's submitted count

All ten modules build. A pseudo-version rather than a tag on purpose: nothing is published, and the pin goes back to a release tag when one is cut.

Why now: celeris main went green with #525, so this is the first point where a nightly would exercise the fixed engine. Known-still-open against this pin: goceleris/celeris#484 (inbound truncation) and the goceleris/celeris#519 residue.

…ench server

Bumps the ten modules that pin celeris from the v1.5.11 release tag to a
pseudo-version of celeris main, so the nightly and soak validate the code
that is actually a release candidate rather than the last shipped tag.

celeris main is green at ea3d528 and carries four io_uring fixes landed
today that the v1.5.11 pin does not have:

  #521  the process-global H2 stream worker pool starved once
        GOMAXPROCS*4 streaming handlers were live
  #522  completeSend deadlocked the worker against itself on cs.detachMu,
        and SEND_ZC ENOMEM was treated as fatal, killing healthy conns
  #523  a dropped H2 eventfd POLL_ADD was swallowed, leaving the eventfd
        permanently deaf
  #525  the SEND_ZC first-CQE branch was keyed on the mutable w.sendZC
        instead of the CQE's own F_MORE flag, stranding connections at
        cs.sending == true where the dirty-list flush skips them; plus
        r.pending is now reconciled against the kernel's submitted count

A pseudo-version rather than a tag on purpose: nothing is published, and
the pin reverts to a release tag when one is cut.
@FumingPower3925
FumingPower3925 merged commit d0881f3 into main Sep 8, 2026
18 checks passed
@FumingPower3925
FumingPower3925 deleted the chore/pin-celeris-main branch September 8, 2026 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant