Skip to content

Bound HTTP probes so readiness checks can retry - #513

Merged
dajudge merged 2 commits into
masterfrom
fix/http-request-timeouts
Oct 13, 2026
Merged

dajudge merged 2 commits into
masterfrom
fix/http-request-timeouts

Conversation

@dajudge

@dajudge dajudge commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • add configurable connect and read timeouts to RequestBuilder
  • use two-second per-attempt timeouts for the NodePort host probe
  • add a deterministic regression test whose first local HTTP connection accepts the request but deliberately never responds, then verifies that Awaitility can make a successful second attempt
  • preserve the existing exception-driven HTTP response/error-stream handling

Why

The failure in #509 was not caused by Mockito. The pod, Service endpoint, Docker port mapping, and in-container NodePort path were all healthy by diagnostic time. The first host-side request had instead remained blocked for the entire Awaitility window because TinyHttpClient had no connection or read timeout.

The regression test reproduces the blocking behavior without relying on a timing-sensitive Kubernetes or iptables race. A connect-blackhole test would depend on host routing and firewall behavior, so the local accepted-but-unresponsive socket is the deterministic CI fixture.

Verification

The full Kubernetes version matrix is expected to exercise the updated NodePort probe. The focused regression test verifies that a stalled attempt fails within the configured bound and a later attempt succeeds.

Related to #509, but intentionally kept separate from the Mockito dependency update.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-13T02:33:05.443384Z fa63f2f Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

dajudge commented Oct 13, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Swish!

Reviewed commit: 48d0f4fab1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

dajudge commented Oct 13, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Can't wait for the next one!

Reviewed commit: fa63f2fcf4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@dajudge
dajudge merged commit 0811143 into master Oct 13, 2026
59 checks passed
@dajudge
dajudge deleted the fix/http-request-timeouts branch October 13, 2026 05:42
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