Skip to content

Add dogstatsd-http-forwarder#305

Open
vickenty wants to merge 8 commits intomasterfrom
vickenty/dhf
Open

Add dogstatsd-http-forwarder#305
vickenty wants to merge 8 commits intomasterfrom
vickenty/dhf

Conversation

@vickenty
Copy link
Copy Markdown
Contributor

@vickenty vickenty commented Apr 8, 2026

A basic queueing forwarder for dogstatsd http payloads built around java.net.http classes.

@vickenty vickenty marked this pull request as ready for review April 9, 2026 12:19
@vickenty vickenty requested a review from a team as a code owner April 9, 2026 12:19
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 48e43fd8fb

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +113 to +117
case 200:
responseOk++;
onSuccess();
break;
default:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Treat all 2xx responses as successful deliveries

The success branch only handles status 200, so valid POST success responses such as 202 or 204 are treated as failures and sent through retry/backoff. In environments where the intake endpoint returns non-200 2xx codes, this will repeatedly requeue payloads until maxTries is exceeded and data is dropped, even though the server already accepted the request.

Useful? React with 👍 / 👎.

Comment on lines +91 to +92
HttpRequest.Builder builder =
HttpRequest.newBuilder(url).POST(BodyPublishers.ofByteArray(payload));
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Configure an HTTP request timeout on outbound sends

The request is built without HttpRequest.Builder.timeout(...), so only connection establishment is bounded while the response wait can block forever. If an upstream accepts the connection but never responds, client.send can hang the single forwarding thread indefinitely, causing queue growth until callers block (WhenFull.BLOCK) or payloads are evicted (WhenFull.DROP).

Useful? React with 👍 / 👎.

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