Graylog2 / Graylog2/graylog2-server

Consolidate generic retry code and replace outdated library

Open
#8,322 0 comments 0 reactions 0 assignees View on GitHub
improvement infrastructure
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.