Improve pipeline reload feature.
- Dominant language
- Java
- Stars
- 14.9k
- Forks
- 3.5k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 88
Description
### Issue description
There are number of situations which can prevent pipeline(s) from reloading:
- general cases where plugins do not have an ability to shutdown or abort the batch
- depending on which plugin is being used, users may not get a same expectation. Some plugins, for example `http-output` aborts the batch and reloads when using PQ but not a case when using memory queue.
- some plugins internally handles the abort batch. For example, [`http-output` raises `PluginInternalQueueLeftoverError`](https://github.com/logstash-plugins/logstash-output-http/blob/main/lib/logstash/outputs/http.rb#L183C13-L183C45) when received shutdown and has inflight events. Or, `es-output` has its own way of handling (`raise org.logstash.execution.AbortedBatchException.new if abort_batch_present?`) after LS 8.8+ versions.
- specific cases:
- such as https://github.com/elastic/logstash/issues/16101
### Acceptance Criteria
We need to address
- pipeline reload standardization all across the plugins.
- test pipeline-to-pipeline communications
Contributor guide
Research direction
Start by reading the linked http-output shutdown handling and the es-output abort behavior described in the issue, then review the specific case in issue 16101. The work is done when pipeline reload behavior is standardized across plugins and pipeline-to-pipeline communication is tested.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100