Skip to content

grpc-js: Don't repeat fixed resolver results#2609

Merged
murgatroid99 merged 1 commit intogrpc:@grpc/grpc-js@1.9.xfrom
murgatroid99:grpc-js_resolver_loop_fix
Oct 30, 2023
Merged

grpc-js: Don't repeat fixed resolver results#2609
murgatroid99 merged 1 commit intogrpc:@grpc/grpc-js@1.9.xfrom
murgatroid99:grpc-js_resolver_loop_fix

Conversation

@murgatroid99
Copy link
Copy Markdown
Member

This should fix #2604 (comment). PR #2602 changed pick_first behavior so that it would request a resolver update the first time every subchannel reported TRANSIENT_FAILURE after an address list update. With subchannel reuse, a subchannel could already be in TRANSIENT_FAILURE immediately after an address list update, so pick_first would request a resolver update immediately. The rate limit on DNS targets would rate limit that whole process, but the same is not true of IP targets, causing a tight loop that does nothing. IP targets will never return a different address list, so the result is to just not respond to resolver update requests. The flag is reset in the destroy function because that is how channel idleness is handled, and an update is expected after that.

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