redpanda-data / redpanda-data/benthos

New HTTP Client Processor Field for Ignoring Timeout Error

Open
#81 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement needs investigation
Dominant language
Go
Stars
571
Forks
120
Avg merge
2d 1h
Merged PRs (30d)
18

Description

Dear All,
I would like to propose a new configuration field for the http client processor, which allows to ignore exceeded timeouts. This boolean field could, for example, be named ignore_timeout and be by default false. This field may or may not regard retries, however, after the first or last time-out respectively, no connection error is fired, but instead an empty object {} is passed down-stream.

- http:
    url: "http://10.0.0.0"
    verb: "GET"
    ignore_timeout: true

This is useful for requests that are expected to time-out. For example if a request triggers a long running action (think hours) with variable runtime, of which its state can be checked through other means.

See: https://discord.com/channels/746368194196799589/754099840354615296/1276137809941495829

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the HTTP client processor entry point and trace its timeout and retry handling. Determine how a boolean ignore_timeout setting should interact with retries; done means the YAML configuration is accepted, the timeout outcome emits an empty object instead of a connection error when enabled, and the default remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.