Unify TCP input/output plugins into a single integration plugin
- Dominant language
- Java
- Stars
- 14.9k
- Forks
- 3.5k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 88
Description
Logstash currently support two plugins to deal with TCP inbound and outbound connections, the [logstash-input-tcp](https://github.com/logstash-plugins/logstash-input-tcp) and [logstash-output-tcp](https://github.com/logstash-plugins/logstash-output-tcp). Both plugins share the same functionality, running in `server` mode (listening for client connections) and `client` mode (connecting and writing data to a remote TCP server).
The output plugin is way behind the input one, which already uses Netty for inbound connections and has a much better test coverage, functionality and confidence. The output plugin, especially the server mode, seems to not be updated frequently and has no test coverage at all.
Considering they share most of their code and functionality, unifying both plugins seems to be a good idea, it would improve maintainability and the user confidence in the plugins.
Contributor guide
Research direction
Start by comparing the logstash-input-tcp and logstash-output-tcp plugin repositories, focusing on the input plugin's Netty implementation and existing tests. The work is done when their shared server and client functionality is unified into one integration plugin with comparable test coverage and maintainability.
Written by the indexing model from the issue text.
Assessment
- Domain
- networking
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100