Skip to content

Conversation

@kannanjgithub
Copy link
Contributor

@kannanjgithub kannanjgithub commented Oct 31, 2025

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.

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.
@kannanjgithub kannanjgithub requested a review from ejona86 October 31, 2025 14:32
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);
Copy link
Member

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.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants