Skip to content

Conversation

@jinyongchoi
Copy link
Contributor

@jinyongchoi jinyongchoi commented Jan 28, 2026

Add documentation for the new 'thread.ring_buffer.retry_limit' configuration option to the following input plugin pages:

  • tail
  • opentelemetry
  • prometheus-textfile
  • blob

This option controls the maximum number of retry attempts when the ring buffer is full before dropping data. Each retry waits 100ms (hardcoded). The default value is 10.

Refs: fluent/fluent-bit#11394

Summary by CodeRabbit

  • Documentation
    • Documented a new thread.ring_buffer.retry_limit configuration across input plugins, describing maximum retry attempts when the ring buffer is full (100 ms between retries; default 10). Appears in multiple input plugin docs.

✏️ Tip: You can customize this high-level summary in your review settings.

Copilot AI review requested due to automatic review settings January 28, 2026 00:50
@jinyongchoi jinyongchoi requested review from a team and eschabell as code owners January 28, 2026 00:50
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 28, 2026

📝 Walkthrough

Walkthrough

Documentation updates to four input plugin guides adding the thread.ring_buffer.retry_limit configuration parameter; no runtime code or control-flow changes.

Changes

Cohort / File(s) Summary
Thread ring buffer docs
pipeline/inputs/blob.md, pipeline/inputs/opentelemetry.md, pipeline/inputs/prometheus-textfile.md, pipeline/inputs/tail.md
Added documentation for thread.ring_buffer.retry_limit: maximum number of retry attempts when the ring buffer is full; each retry waits 100 ms; default 10.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested labels

4.2.1

Suggested reviewers

  • cosmo0920
  • alexakreizinger

Poem

🐇 I hopped through docs with nimble feet,

Counting retries—ten small beats,
When buffers brim and lines must wait,
I tap and tally, patient, light and straight,
Then bound away into the night.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding documentation for the thread.ring_buffer.retry_limit option across multiple input plugin pages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds documentation for the new thread.ring_buffer.retry_limit input configuration option (retry attempts before dropping data when the threaded ring buffer is full).

Changes:

  • Documented thread.ring_buffer.retry_limit for tail, opentelemetry, prometheus-textfile, and blob inputs.
  • Described behavior (max retries, 100ms wait per retry) and default value (10).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
pipeline/inputs/tail.md Adds thread.ring_buffer.retry_limit to the Tail input config table.
pipeline/inputs/opentelemetry.md Adds thread.ring_buffer.retry_limit to the OpenTelemetry input config table.
pipeline/inputs/prometheus-textfile.md Adds thread.ring_buffer.retry_limit to the Prometheus textfile input config table.
pipeline/inputs/blob.md Adds thread.ring_buffer.retry_limit to the Blob input config table (but key prefix is inconsistent with adjacent entries).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@pipeline/inputs/blob.md`:
- Around line 24-26: The three ring buffer parameters must use the same
namespace; replace the incorrect parameter name thread.ring_buffer.retry_limit
with threaded.ring_buffer.retry_limit so all three read
threaded.ring_buffer.capacity, threaded.ring_buffer.window and
threaded.ring_buffer.retry_limit; update the occurrence of
thread.ring_buffer.retry_limit in blob.md to threaded.ring_buffer.retry_limit to
match the other inputs and maintain naming consistency.

Comment on lines 24 to 26
| `threaded.ring_buffer.capacity` | Set custom ring buffer capacity when the input runs in threaded mode. This determines how many records can be buffered in the ring buffer before blocking. | `1024` |
| `threaded.ring_buffer.window` | Set custom ring buffer window percentage for threaded inputs. This controls when the ring buffer is considered "full" and triggers backpressure handling. | `5` |
| `thread.ring_buffer.retry_limit` | Maximum number of retry attempts when the ring buffer is full before dropping data. Each retry waits 100ms. | `10` |
Copy link
Contributor

@coderabbitai coderabbitai bot Jan 28, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Get repository structure overview
echo "=== Repository structure ==="
ls -la

echo -e "\n=== Check for input plugin directories ==="
find . -type d -name "inputs" | head -20

echo -e "\n=== List files in pipeline/inputs ==="
ls -la pipeline/inputs/ | head -30

Repository: fluent/fluent-bit-docs

Length of output: 3738


🏁 Script executed:

#!/bin/bash
# Check blob.md around lines 24-26
echo "=== blob.md lines 20-30 ==="
sed -n '20,30p' pipeline/inputs/blob.md

# Also check what parameters are in the table
echo -e "\n=== Search for ring_buffer in blob.md ==="
grep -n "ring_buffer" pipeline/inputs/blob.md

# Check other input plugins for ring_buffer parameters
echo -e "\n=== Check for ring_buffer in other input plugins ==="
grep -l "ring_buffer" pipeline/inputs/*.md

# If found, show the exact parameter names in other plugins
echo -e "\n=== ring_buffer parameters in other plugins ==="
for file in $(grep -l "ring_buffer" pipeline/inputs/*.md); do
    echo "File: $file"
    grep -n "ring_buffer" "$file"
done

Repository: fluent/fluent-bit-docs

Length of output: 10541


Fix parameter naming consistency in blob.md.

Lines 24-25 use threaded.ring_buffer.* while line 26 uses thread.ring_buffer.*. All other input plugins (tail, prometheus-textfile, opentelemetry) consistently use thread.ring_buffer.* for all three parameters. Update lines 24-25 to use thread.ring_buffer.capacity and thread.ring_buffer.window respectively.

🧰 Tools
🪛 LanguageTool

[grammar] ~26-~26: Ensure spelling is correct
Context: ... before dropping data. Each retry waits 100ms. ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In `@pipeline/inputs/blob.md` around lines 24 - 26, The three ring buffer
parameters must use the same namespace; replace the incorrect parameter name
thread.ring_buffer.retry_limit with threaded.ring_buffer.retry_limit so all
three read threaded.ring_buffer.capacity, threaded.ring_buffer.window and
threaded.ring_buffer.retry_limit; update the occurrence of
thread.ring_buffer.retry_limit in blob.md to threaded.ring_buffer.retry_limit to
match the other inputs and maintain naming consistency.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The existing threaded.ring_buffer.capacity and threaded.ring_buffer.window keys in blob.md are incorrectly documented. The actual config key prefix registered in the Fluent Bit source code is thread. (not threaded.), which is consistent with all other input plugins (tail, opentelemetry, prometheus_textfile, etc.).

The thread.ring_buffer.retry_limit key in this PR uses the correct prefix. The fix for the existing incorrect threaded. prefix in blob.md will be submitted in a separate PR.

Copy link
Contributor

Choose a reason for hiding this comment

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

@jinyongchoi Thank you for the clarification! You're absolutely right—I apologize for the incorrect suggestion.

The thread.ring_buffer.retry_limit parameter in this PR uses the correct prefix consistent with the Fluent Bit source code and other input plugins. The existing threaded.ring_buffer.capacity and threaded.ring_buffer.window parameters in blob.md are indeed incorrectly documented and should be fixed in your separate PR.

Your current PR documentation is correct as-is. 👍


✏️ Learnings added
Learnt from: jinyongchoi
Repo: fluent/fluent-bit-docs PR: 2363
File: pipeline/inputs/blob.md:0-0
Timestamp: 2026-01-28T01:07:56.666Z
Learning: The correct configuration key prefix for ring buffer parameters in Fluent Bit input plugins is `thread.` (not `threaded.`). This applies to parameters like `thread.ring_buffer.capacity`, `thread.ring_buffer.window`, and `thread.ring_buffer.retry_limit` across all input plugins including tail, opentelemetry, prometheus-textfile, and blob.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@jinyongchoi jinyongchoi force-pushed the docs/add-ring-buffer-retry-limit-option branch from 0a251c6 to ce45d76 Compare January 28, 2026 00:55
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In `@pipeline/inputs/opentelemetry.md`:
- Line 45: Update the unit formatting in the description for
`thread.ring_buffer.retry_limit`: replace "100ms" with "100 ms" using a
non-breaking space so the number and unit stay together (i.e., change the text
in the table cell to use "100 ms"). Ensure only the formatting of the unit is
changed and the rest of the description remains unchanged.

In `@pipeline/inputs/prometheus-textfile.md`:
- Line 21: Update the text for the `thread.ring_buffer.retry_limit` description
to use a non‑breaking space between the number and unit: replace "100ms" with
"100\u00A0ms" so the unit follows the FluentBit.Units style guide and avoids
line breaks (target the description string containing
`thread.ring_buffer.retry_limit`).

In `@pipeline/inputs/tail.md`:
- Line 50: Update the unit formatting for the `thread.ring_buffer.retry_limit`
description by replacing the hard space in "100ms" with a non-breaking space so
it reads "100\u00A0ms" (or use the HTML entity ` ` if appropriate for the
Markdown renderer); locate the table cell containing the text "Each retry waits
100ms." and change it to "Each retry waits 100\u00A0ms." to comply with the
FluentBit.Units style guide.

@jinyongchoi jinyongchoi force-pushed the docs/add-ring-buffer-retry-limit-option branch 2 times, most recently from f3fe82c to 92f8e47 Compare January 28, 2026 01:09
Add documentation for the new 'thread.ring_buffer.retry_limit'
configuration option to the following input plugin pages:
- tail
- opentelemetry
- prometheus-textfile
- blob

This option controls the maximum number of retry attempts when the
ring buffer is full before dropping data. Each retry waits 100ms
(hardcoded). The default value is 10.

Refs: fluent/fluent-bit#113934

Signed-off-by: jinyong.choi <inimax801@gmail.com>
@jinyongchoi jinyongchoi force-pushed the docs/add-ring-buffer-retry-limit-option branch from 92f8e47 to 963dfda Compare January 28, 2026 01:45
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