-
Notifications
You must be signed in to change notification settings - Fork 3.9k
rls: Control plane channel monitor state and back off handling #12460
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
base: master
Are you sure you want to change the base?
rls: Control plane channel monitor state and back off handling #12460
Conversation
Fix test. Unit test. Save changes. In-progress changes for control plane connectivity state monitoring. Test for making backoff timer expiry not make a RLS rpc directly but update the parent LB policy with picker after deleting backoff cache entry. Save in-progress changes. Save changes.
…hannel-monitor-state
Remove unused class.
…e because of the mixup in the Lru cache code logic, with expiry time.
…-monitor-state # Conflicts: # rls/src/main/java/io/grpc/rls/CachingRlsLbClient.java
# Conflicts: # rls/src/main/java/io/grpc/rls/CachingRlsLbClient.java # rls/src/test/java/io/grpc/rls/CachingRlsLbClientTest.java
| synchronized (lock) { | ||
| for (CacheEntry value : linkedHashLruCache.values()) { | ||
| if (value instanceof BackoffCacheEntry) { | ||
| refreshBackoffEntry((BackoffCacheEntry) value); |
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.
FYI: This could end up calling helper.triggerPendingRpcProcessing() quite a few times. (FWIW, the scheduledFuture.cancel() in the method probably doesn't matter much for the scheduled task, but is important here.)
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.
Done.
…l plane transitions to READY.
At the end of back off time, instead of firing a Rls RPC, just update the RLS picker, and RLS connectivity state change from TRANSIENT_FAILURE to READY deactivate all active backoffs.