Graylog2 / Graylog2/graylog2-server
Research: simplify input architecture
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
The class hierarchy, instantiation, and persisting of inputs is quite complex, making it hard to maintain and prone to regressions.
E.g.:
- static fields are persisted in a different format than how they are represented in memory, making serializing of inputs more [complicated](https://github.com/Graylog2/graylog2-server/issues/11739) and requiring multiple DB writes to update a single input
- different objects are built from the same DTO, depending on [context](https://github.com/Graylog2/graylog-plugin-enterprise/pull/2923)
- modifying the state of an input triggers events, that can cause unexpected side effects
- sharing between core and forwarder make changes to input classes more difficult
Desired results:
- documentation of input architecture and lifecycle
- list of issues that impact maintainability and performance of the input object life-cycle
- assessment of cost/benefit of addressing them
- new issues created, targeting specific improvements that were deemed worthwhile in the prior analysis
Contributor guide
Assessment
This issue has not been assessed yet.