Skip to content

fix: Update fluent-bit to cap pushes and refused request log - #671

Merged
Aradhya-Tripathi merged 3 commits into
developfrom
fix/fluent-bit-batching
Oct 19, 2026
Merged

Aradhya-Tripathi merged 3 commits into
developfrom
fix/fluent-bit-batching

Conversation

@Aradhya-Tripathi

@Aradhya-Tripathi Aradhya-Tripathi commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

@greptile-apps

greptile-apps Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The changes stay within Pilot’s Fluent Bit log-shipping workflow on configured hosts.

Add Lua behavior tests and remove the repeated comment before merging to satisfy repository requirements.

Reviews (3) · Last reviewed commit: "fix(fluent-bit): Keep a complete last ch..." · Reviewed by Greptile

Comment thread pilot/managers/fluentbit/templates/fluent-bit.conf.template
Comment thread pilot/managers/fluentbit/templates/pilot.lua Outdated
Comment thread pilot/managers/fluentbit/templates/pilot.lua
Comment thread pilot/managers/fluentbit/templates/fluent-bit.conf.template Outdated
Comment thread pilot/managers/fluentbit/templates/fluent-bit.conf.template
Aradhya-Tripathi and others added 2 commits October 19, 2026 19:55
Flush 30 did not cap requests: each tail input keeps its own chunks and
the http output sends each chunk as its own request, so six busy inputs
could spend Datum's 12 requests a minute before any retry.

A rewrite_tag filter after the Lua normalizer now re-emits every line
under datum.logs through one emitter, and the output matches only that
tag, so a flush sends one chunk. Retry_Limit drops to 3 and the scheduler
spaces retries 10-60s apart: 2 chunks a minute, each sent at most 4
times, is at most 8 requests a minute even while Datum refuses all of
them. Checked against Fluent Bit 5.1.4 with a refusing endpoint and busy
inputs: worst 60s window was 9 requests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cap_message stripped any trailing UTF-8 sequence after the 8 KiB cut,
so a character that fit whole was dropped too: 8190 ASCII bytes and
"éX" lost the "é". It now steps back to the last character's lead byte
and drops it only when fewer bytes remain than that byte announces.

Checked in Fluent Bit 5.1.4 with 2, 3 and 4 byte characters landing
just inside and just across the cut.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Aradhya-Tripathi
Aradhya-Tripathi merged commit 93d5907 into develop Oct 19, 2026
6 checks passed
@Aradhya-Tripathi
Aradhya-Tripathi deleted the fix/fluent-bit-batching branch October 19, 2026 17:50
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