Bug Report
Describe the bug
In Fluent Bit v5.0.x, the built-in HTTP server (port 2020) deadlocks when any pipeline component makes an HTTP request to it from within the main event loop.
To Reproduce
Minimal config:
[SERVICE]
HTTP_Server On
HTTP_Listen 0.0.0.0
HTTP_Port 2020
Flush 1
[INPUT]
Name exec
Tag test
Command curl -s http://127.0.0.1:2020/api/v1/metrics/prometheus
Interval_Sec 30
[OUTPUT]
Name null
Match *
- Start Fluent Bit, confirm the health check works:
curl http://127.0.0.1:2020/api/v1/uptime # works fine
- Wait 30s for exec to fire, then try again:
curl http://127.0.0.1:2020/api/v1/uptime # hangs forever
This works fine on v1.9.x and v4.2.x, but breaks on every v5.0.x release I've tested (v5.0.0 through v5.0.4).
Expected behavior
The built-in HTTP server should remain responsive while the in_exec plugin is running, as it did in v1.9.x and v4.2.x.
Screenshots
N/A
Your Environment
- Version used: broken in v5.0.0 through v5.0.4, works in v1.9.10 and v4.2.2
- Configuration: see minimal config above
- Environment name and version: ECS Fargate (ARM64), also reproduced locally on macOS
- Server type and version: N/A
- Operating System and version: Amazon Linux 2023 (Fargate), macOS 15 (local)
- Filters and plugins:
in_exec, out_null (minimal repro)
Additional context
My use case is emitting Fluent Bit internal metrics out as CloudWatch metrics. The flow is (1) scrape Fluent Bit metrics endpoint with in_exec, (2) transform metrics into CloudWatch embedded metric format via filter_lua, and then (3) emit to CloudWatch as logs via out_cloudwatch_logs, which CloudWatch automatically converts to metrics.
Bug Report
Describe the bug
In Fluent Bit v5.0.x, the built-in HTTP server (port 2020) deadlocks when any pipeline component makes an HTTP request to it from within the main event loop.
To Reproduce
Minimal config:
curl http://127.0.0.1:2020/api/v1/uptime # works finecurl http://127.0.0.1:2020/api/v1/uptime # hangs foreverThis works fine on v1.9.x and v4.2.x, but breaks on every v5.0.x release I've tested (v5.0.0 through v5.0.4).
Expected behavior
The built-in HTTP server should remain responsive while the
in_execplugin is running, as it did in v1.9.x and v4.2.x.Screenshots
N/A
Your Environment
in_exec,out_null(minimal repro)Additional context
My use case is emitting Fluent Bit internal metrics out as CloudWatch metrics. The flow is (1) scrape Fluent Bit metrics endpoint with
in_exec, (2) transform metrics into CloudWatch embedded metric format viafilter_lua, and then (3) emit to CloudWatch as logs viaout_cloudwatch_logs, which CloudWatch automatically converts to metrics.