elastic / elastic/logstash

Wrap LIR into an execution classs

Open
#7,361 2 comments 1 reaction 0 assignees View on GitHub
LIR
Dominant language
Java
Stars
14.9k
Forks
3.5k
Avg merge
1d 4h
Merged PRs (30d)
88

Description

Tasks for #7291, this is one of the baby step that we want to take to rewrite the pipeline class into java. We will start by wrapping the LIR into an execution class to allow us to achieve the following goals:

- Remove the dynamically created method `filter_func` and the the conditionals.
- Delete the config_ast class
- Bridge the plugins instances creating into that new Execution class.
- Pipeline.rb will keep the control of the following:
- managing threads
- creating the queues

Contributor guide

Open the contributing guide

Research direction

Start by reading Pipeline.rb and the related LIR, config_ast, and plugin-handling code mentioned in the issue. Trace how filter_func and the conditionals are created, how plugins are instantiated, and which thread and queue responsibilities remain in Pipeline.rb. Done means the LIR is wrapped by an Execution class with those responsibilities separated as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, ruby
Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.