-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
Bug Report
Describe the bug
Error when outputing OTLP version 3.2.7 (and 3.2.8). Error happen on metrics, logs and traces.
Error have never happen on older versions, for example 3.2.6 works with exactly same test setup.
[error] [engine] chunk '422061-1741761815.979790809.flb' cannot be retried: task_id=0, input=opentelemetry.0 > output=opentelemetry.0
Se more details below.
To Reproduce
Build fluent-bit with the following defines:
cmake .. -DFLB_SIGNV4=Off -DFLB_AWS=Off -DFLB_FILTER_AWS=Off -DFLB_OUT_S3=Off -DFLB_OUT_KINESIS_FIREHOSE=Off -DFLB_OUT_KINESIS_STREAMS=Off -DFLB_OUT_CLOUDWATCH_LOGS=Off -DFLB_OUT_BIGQUERY=Off
- Start opentelemetry-collector. Official https://github.com/open-telemetry/opentelemetry-collector
Installation according to: https://opentelemetry.io/docs/collector/installation/
Start:
bin> ./otelcorecol_linux_amd64 --config otelconfig.yaml
otelconfig.yaml
receivers:
otlp:
protocols:
http:
endpoint: 127.0.0.1:4319
processors:
batch:
memory_limiter:
# 75% of maximum memory up to 2G
limit_mib: 1536
# 25% of limit up to 2G
spike_limit_mib: 512
check_interval: 5s
exporters:
debug:
verbosity: detailed
service:
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [debug]
metrics:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [debug]
logs:
receivers: [otlp]
processors: [memory_limiter, batch]
exporters: [debug]
- Start Fluent-bit.
./fluent-bit -c ~/fluent-bit.yaml
fluent-bit.yaml
service:
log_level: trace
pipeline:
inputs:
- name: opentelemetry
tag: input_open
listen: 127.0.0.1
port: 4318
successful_response_code: 200
outputs:
- name: opentelemetry
host: 127.0.0.1
port: 4319
match: '*'
- Send a otlp message.
Install protocurl: https://github.com/qaware/protocurl
Use protocurl to send a standard otlp metric message. (https://github.com/open-telemetry/opentelemetry-proto)
opentelemetry-proto> protocurl \
-i opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest \
-o opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse \
-u http://localhost:4318/v1/logs \
-d @examples/logs.json \
-I .
- Check result from otel-collector:
[2025/03/12 07:43:36] [debug] [task] created task=0x7e5244033dd0 id=0 OK
[2025/03/12 07:43:36] [debug] [upstream] KA connection #36 to 127.0.0.1:4319 is connected
[2025/03/12 07:43:36] [ warn] [output:opentelemetry:opentelemetry.0] error performing HTTP request, remote host=127.0.0.1:4319 connection error
[2025/03/12 07:43:36] [debug] [upstream] KA connection #36 to 127.0.0.1:4319 is now available
[2025/03/12 07:43:36] [debug] [upstream] KA connection #36 to 127.0.0.1:4319 has been disconnected by the remote service
[2025/03/12 07:43:36] [debug] [out flush] cb_destroy coro_id=0
[2025/03/12 07:43:36] [debug] [retry] new retry created for task_id=0 attempts=1
[2025/03/12 07:43:36] [ warn] [engine] failed to flush chunk '422061-1741761815.979790809.flb', retry in 9 seconds: task_id=0, input=opentelemetry.0 > output=opentelemetry.0 (out_id=0)
[2025/03/12 07:43:45] [ warn] [output:opentelemetry:opentelemetry.0] error performing HTTP request, remote host=127.0.0.1:4319 connection error
[2025/03/12 07:43:45] [debug] [out flush] cb_destroy coro_id=1
[2025/03/12 07:43:45] [debug] [task] task_id=0 reached retry-attempts limit 1/1
[2025/03/12 07:43:45] [error] [engine] chunk '422061-1741761815.979790809.flb' cannot be retried: task_id=0, input=opentelemetry.0 > output=opentelemetry.0
[2025/03/12 07:43:45] [debug] [task] destroy task=0x7e5244033dd0 (task_id=0)
Expected behavior
Result from v3.2.6:
[2025/03/12 07:47:58] [debug] [task] created task=0x756318033e90 id=0 OK
[2025/03/12 07:47:58] [debug] [upstream] KA connection #36 to 127.0.0.1:4319 is connected
[2025/03/12 07:47:58] [ info] [output:opentelemetry:opentelemetry.0] 127.0.0.1:4319, HTTP status=200
[2025/03/12 07:47:58] [debug] [upstream] KA connection #36 to 127.0.0.1:4319 is now available
[2025/03/12 07:47:58] [debug] [out flush] cb_destroy coro_id=0
[2025/03/12 07:47:58] [debug] [task] destroy task=0x756318033e90 (task_id=0)
Screenshots
Your Environment
- Version used: 3.2.7 (and 3.2.8)
- Configuration: See above configuration
- Environment name and version (e.g. Kubernetes? What version?):
- Server type and version: N/A
- Operating System and version: Ubuntu 24.04 (x86), target system is embedded Linux on arm64. Same problem on both OS and hardware.
- Filters and plugins: See above configuration
Additional context
Can not use v3.2.7 and v3.2.8 as we can not get out any logs.