Retry stale pooled TLS uploads on fresh connections #58

Merged
ober merged 1 commit from fix/tls-upload-write-retry into main 2026-09-19 15:59:27 -04:00
Owner

Summary

  • retry a failed pooled HTTPS exchange once on a fresh TLS connection
  • preserve propagation of failures from already-fresh connections
  • add a regression test for pooled/fresh recovery selection
  • document keep-alive recovery and synchronize version metadata at 2.0.13

Root cause

The stale pooled-connection recovery branch was inverted. When a pooled TLS
handle failed its first write, the client rethrew the error; when a fresh
connection failed, it retried. Concurrent uploads could therefore churn through
dead keep-alive handles until upload-file-object! exhausted its outer retries.

Verification

  • make test — all tests passed
  • jerboa_security_scan against origin/main — no changed-line findings
  • clean make binary — passed on macOS arm64
  • make binary-smoke — installed bundle smoke passed
  • source and packaged binaries both report 2.0.13
## Summary - retry a failed pooled HTTPS exchange once on a fresh TLS connection - preserve propagation of failures from already-fresh connections - add a regression test for pooled/fresh recovery selection - document keep-alive recovery and synchronize version metadata at 2.0.13 ## Root cause The stale pooled-connection recovery branch was inverted. When a pooled TLS handle failed its first write, the client rethrew the error; when a fresh connection failed, it retried. Concurrent uploads could therefore churn through dead keep-alive handles until `upload-file-object!` exhausted its outer retries. ## Verification - `make test` — all tests passed - `jerboa_security_scan` against `origin/main` — no changed-line findings - clean `make binary` — passed on macOS arm64 - `make binary-smoke` — installed bundle smoke passed - source and packaged binaries both report `2.0.13`
Retry stale pooled TLS uploads on fresh connections
All checks were successful
version-policy / required (pull_request) Successful in 3m44s
required-ci / required (pull_request) Successful in 5m57s
de16f7d33d
ober scheduled this pull request to auto merge when all checks succeed 2026-09-19 15:58:14 -04:00
ober merged commit 867dd3e29c into main 2026-09-19 15:59:27 -04:00
ober referenced this pull request from a commit 2026-09-19 15:59:28 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ober/jerboa-drive!58
No description provided.