Graylog2 / Graylog2/graylog2-server
Consolidate generic retry code and replace outdated library
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
## Expected Behavior
Graylog should rely on a well-maintained library providing easy-to-use implementations of common retry logic. Usage of that library should be wrapped in classes in a core package of graylog2-server, so that it is easy to mock in tests and replace when the time comes.
## Current Behavior
We are currently using https://github.com/rholder/guava-retrying in many places, which seems to be dead.
Also it is always used directly, so replacing it will require more work than it should.
## Possible Solution
[failsafe](https://github.com/jhalterman/failsafe) might be a lightweight alternative.
We should create our own wrapper around it and replace all usages of `com.rholder.retry` with that.
## Context
* Graylog Version: 4.0.0-SNAPSHOT
Contributor guide
Assessment
This issue has not been assessed yet.