Refactor: Move From Elasticsearch Ruby client to the the Java Rest client
- Dominant language
- Java
- Stars
- 14.9k
- Forks
- 3.5k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 88
Description
Refactor the usage of the elasticsearch client into a common way.
Currently the _module_ feature uses the Elasticsearch Ruby client and the X-Pack config management uses the elasticsearch output as a factory to create a concrete es client.
With the release of the ES Java Rest client we now have a pure java and solid implementation of the API. We should move our custom code to use the official client.
Also Logstash core should provide a small infrastructure to retrieve a correctly configured client with the the right TLS options.
The refactor has the following goals:
- Reduce duplication of logic
- Improve user feedback
- Optimize the threadpools.
Contributor guide
Research direction
The issue names the module feature, X-Pack config management, the Elasticsearch output, and Logstash core, but no files or tests. Start by tracing how those entry points create and configure Elasticsearch clients, including TLS options. Done means shared official Java Rest client infrastructure replaces the Ruby-client and factory paths while reducing duplication, improving feedback, and optimizing thread pools.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elasticsearch, java, ruby
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100