elastic / elastic/logstash

sprintf pipeline to pipeline communications

Open
#16,457 1 comment 0 reactions 0 assignees View on GitHub
enhancement status:needs-triage
Dominant language
Java
Stars
14.9k
Forks
3.5k
Avg merge
1d 4h
Merged PRs (30d)
88

Description

sprintf does not work for pipeline to pipeline communication in logstash. send_to block does not acknowledge sprintf formatted inputs.

For example, an ideal logstash output would look like the following:

```
output {
pipeline { send_to => [@metadata][field]}
}
```

Because logstash send_to block does currently not recognize sprintf, must use conditional logic to wrap send_to block. A config must contain the following workaround.

```
output {
if [@metadata][field] {
if [@metadata][field] == "field_value" {
pipeline { send_to => ["pipeline_name", "field_value", ...]}
else {...}
}
```

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Logstash pipeline output plugin's send_to handling and the sprintf formatting path. Reproduce the issue with the configuration shown, then compare literal and sprintf-formatted send_to values. Done means pipeline-to-pipeline communication accepts the formatted input without the conditional workaround.

Written by the indexing model from the issue text.

Assessment

Domain
data-engineering, stream-processing
Issue type
Bug
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.