-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
V3.0 branch #8
base: master
Are you sure you want to change the base?
V3.0 branch #8
Conversation
0bc64c9
to
5009e4b
Compare
e02ccf7
to
bacf10c
Compare
Fixed race condition in tokenBucket() Fixed race conditions in leakybucket Added Otter cost func, and reduced memory and time it takes to run the benchmarks Fixed flapping cache eviction test Added LRUMutexCache restored LRUCache
Attempt to switch logging to Go standard slog SDK logging
I dunno if you've considered it, but this cache lib https://github.com/dgraph-io/ristretto is really fast (I see you've been looking into other cache implementations for v3) (I see now otter implementor claiming theirs is much better than even ristretto, though :) ) |
@pete-woods Yes, I've tried to use ristretto for gubernator. It appears to be "eventual" in that if you write a value to the cache, then immediately retrieve it, it's possible the value you just wrote doesn't exist, as the write path hasn't synchronized with the underlying store. This occurs even though the API confirmed the write of the value as successful. For this reason I used otter. |
I created another issue #40 that might be worth considering for v3 |
Purpose
Prep Gubernator for a v3.0 release. This is a long running branch where we will merge V3 related feature once they are ready.
Removing GRPC Support
GRPC turned out to be more trouble than it was worth. Although GRPC has consistent semantics like flow control, request cancellation, and error handling, and decent performance. However, it is not without
its issues.
Merged
TODO
See V3 Milestone -->