Skip to content

rls: Update logic in the control channel connectivity state monitoring goroutine #8693

@easwars

Description

@easwars

Currently this is what the RLS LB policy is currently doing:

This was a wrong assumption that once we are READY and get back to READY, we should have gone through TRANSIENT_FAILURE.

What should it should actually do:

  • When the state transitions to TRANSIENT_FAILURE, record that transition
  • The next time it transitions to READY, reset the backoff timeouts in all cache entries. Specifically, this means that it will reset the backoff state and cancel the pending backoff timer.

We should also update this test:

func (s) TestControlChannelConnectivityStateMonitoring(t *testing.T) {
to ensure that a transition from READY to IDLE to READY does not result in backoff timeouts being reset.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions