-
Notifications
You must be signed in to change notification settings - Fork 45
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
fix: rpc caching not behaving as expected (cleared too often) #1115
fix: rpc caching not behaving as expected (cleared too often) #1115
Conversation
d2b3cd4
to
910031e
Compare
4489649
to
d61effe
Compare
b349cc3
to
0a3b414
Compare
Signed-off-by: Simon Schrottner <[email protected]>
Signed-off-by: Simon Schrottner <[email protected]>
Signed-off-by: Simon Schrottner <[email protected]>
Signed-off-by: Simon Schrottner <[email protected]>
Signed-off-by: Simon Schrottner <[email protected]>
5822abc
to
5678da0
Compare
6afae99
to
838b248
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing work. Minor nit and I made one small change here which I hope you don't mind. Otherwise on my system the timeout was not detected.
2a4cd90
to
07052a0
Compare
All dependencies are resolved. Ready to merge ;) |
Signed-off-by: Simon Schrottner <[email protected]>
07052a0
to
ff5bccf
Compare
...ure/contrib/providers/flagd/resolver/process/storage/connector/grpc/GrpcStreamConnector.java
Show resolved
Hide resolved
…s/flagd/resolver/process/storage/connector/grpc/GrpcStreamConnector.java Co-authored-by: warber <[email protected]> Signed-off-by: Simon Schrottner <[email protected]>
providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdProvider.java
Outdated
Show resolved
Hide resolved
providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdProvider.java
Outdated
Show resolved
Hide resolved
providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdProvider.java
Outdated
Show resolved
Hide resolved
providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdProvider.java
Show resolved
Hide resolved
providers/flagd/src/test/java/dev/openfeature/contrib/providers/flagd/e2e/steps/EventSteps.java
Show resolved
Hide resolved
providers/flagd/src/test/java/dev/openfeature/contrib/providers/flagd/e2e/RunRpcTest.java
Show resolved
Hide resolved
providers/flagd/src/test/java/dev/openfeature/contrib/providers/flagd/e2e/RunInProcessTest.java
Show resolved
Hide resolved
providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdProvider.java
Outdated
Show resolved
Hide resolved
8e2aeae
to
70ee2fa
Compare
Signed-off-by: Simon Schrottner <[email protected]>
70ee2fa
to
338f367
Compare
30e5f82
to
a67b36c
Compare
providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdProvider.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Simon Schrottner <[email protected]>
a67b36c
to
a14931f
Compare
Signed-off-by: Todd Baert <[email protected]>
I pushed one more small change to move all the volatile fields on the provider into a dedicated object to be used as the intrinsic lock in our synchronized blocks. I think this has the benefit of being very clear but also it unifies all our locking onto a single object. |
With this pull request, I am fixing a regression within the RPC provider. We cleared the cache when there was an error, but we had to wait until we hit the error state and not stay in the stale state for the clean to happen. I also used this to normalize the eventing a little bit and reduce the complexity.
Additionally, I updated the e2e tests to the newest Gherkin version: