An open source Valkey client library that supports Valkey and Redis open source 6.2, 7.0 and 7.2. Valkey GLIDE is designed for reliability, optimized performance, and high-availability, for Valkey and Redis OSS based applications. GLIDE is a multi language client library, written in Rust with programming language bindings, such as Java and Python
Apache License 2.0
265
stars
55
forks
source link
Dependencies in redis-rs and Go lib.rs: Unmainted dependencies are used in redis-rs need to be replaced #2669
In redis-rs and lib.rs of go we use two un-miantened dependencies which needs to be replaced.
We're using backoff and derivative.
Both need to be replaced but including some refactoring in the code itself.
derivative can be replaced by fuse and backoff can be replaced by tokio-retry2.
tokio-retry2 introduces better capabilities than backoff and can be used to enhance our backoff functionality as well.
The changes introduce refactor need, since code change is needed.
In general, our exp-backoff needs to be re-considered, it is written in a way that lets the functions internally to decide when to stop trying instead of using the built-in functionality of limiting tries.
Describe the bug
In redis-rs and lib.rs of go we use two un-miantened dependencies which needs to be replaced. We're using
backoff
andderivative
. Both need to be replaced but including some refactoring in the code itself.derivative
can be replaced byfuse
andbackoff
can be replaced bytokio-retry2
.tokio-retry2
introduces better capabilities thanbackoff
and can be used to enhance our backoff functionality as well. The changes introduce refactor need, since code change is needed. In general, our exp-backoff needs to be re-considered, it is written in a way that lets the functions internally to decide when to stop trying instead of using the built-in functionality of limiting tries.Suppressed in https://github.com/valkey-io/valkey-glide/pull/2670
Expected Behavior
Using maintained crates.
Current Behavior
Using non maintained crates.
Reproduction Steps
Remove lines and build.
Possible Solution
As mentioned in the description.
Additional Information/Context
No response
Client version used
1.2rc
Engine type and version
--
OS
--
Language
Rust
Language Version
--
Cluster information
No response
Logs
No response
Other information
No response