Commit 7f9fa43c authored by jan.koester's avatar jan.koester
Browse files

debian: bump version to 20260731+12 for H2 stall/staircase fixes

Bump so prod's stale 20260718+11 install actually picks up the
_finishH2Dispatch/Http3StreamEvent else-branch fix, the reprocess-cap
fairness fix, and the H2 dispatch-offload infrastructure.
parent 7b39fcb5
Loading
Loading
Loading
Loading
+26 −0
Changes for debian/changelog: 26 added lines, 0 removed lines.
Original line number Diff line number Diff line
libhttppp (20260731+12) unstable; urgency=high

  * HttpEvent: fix H2 streaming responses (large images/video) stalling
    permanently after the first chunk whenever the upstream/handler had
    no more data ready yet — _finishH2Dispatch had no else branch (H2)
    and Http3StreamEvent's had an empty one, so if the app handler never
    called HttpResponse::send() nothing was ever sent back, not even an
    error; now sends RST_STREAM(INTERNAL_ERROR) for H2 and
    resetStream(H3_INTERNAL_ERROR) for H3 so the stream terminates
    deterministically instead of hanging the client forever.
  * Http2RequestEvent: the reprocess-count fairness cap (16 per call)
    could strand a >17th buffered simple request on one multiplexed
    connection with no way to ever get processed, since SendData was
    already flushed and empty by the time control returned to epoll. Now
    explicitly sets ResponsePending + calls requestWritablePoll when the
    cap is hit while more complete-frame data is still buffered.
  * HttpEvent: exported threadpool.h-based H2 dispatch offload
    infrastructure (con::ownerPollFd, netplus::lookupConnection(fd),
    netplus::requestWritablePoll(con&)) so a blocking per-request handler
    can run off the event-loop thread without blocking sibling streams on
    the same connection — root cause of the H2 "staircase" (streams on
    one connection served strictly sequentially instead of concurrently).
    New test: httpd_h2_concurrency_test.cpp.

 -- Jan Koester <jan.koester@tuxist.de>  Fri, 31 Jul 2026 08:05:00 +0200

libhttppp (20260718+11) unstable; urgency=high

  * HttpUrl: track the original URL scheme (http/https) separately from