balancer/weighted_round_robin: fix ticker leak on update
A new ticker is created every time there is an update of addresses or configuration, but was not properly stopped. This change stops the ticker when it is no longer needed.
Release 1.58.1
Bug Fixes
grpc: fix a bug that was decrementing active RPC count too early for streaming RPCs; leading to channel moving to IDLE even though it had open streams
grpc: fix a bug where transports were not being closed upon channel entering IDLE
This was previously used as a signal to enable the "grpclb" load balancing policy, and to pass LB addresses to the policy. Instead, balancer/grpclb/state.Set() should be used to add these addresses to the name resolver's output. The built-in "dns" name resolver already does this.
resolver: add new field Endpoints to State and deprecate Addresses (#6471)
Addresses will be deleted in the future.
New Features
balancer/leastrequest: Add experimental support for least request LB policy and least request configured as a custom xDS policy (#6510, #6517)
Set GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST=true to enable
stats: Add an RPC event for blocking caused by the LB policy's picker (#6422)
Bug Fixes
clusterresolver: fix deadlock when dns resolver responds inline with update or error at build time (#6563)
grpc: fix a bug where the channel could erroneously report TRANSIENT_FAILURE when actually moving to IDLE (#6497)
balancergroup: do not cache closed sub-balancers by default; affects rls, weightedtarget and clustermanager LB policies (#6523)
client: fix a bug that prevented detection of RPC status in trailers-only RPC responses when using ClientStream.Header(), and prevented retry of the RPC (#6557)
Performance Improvements
client & server: Add experimental [With]SharedWriteBuffer to improve performance by reducing allocations when sending RPC messages. (Disabled by default.) (#6309)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps google.golang.org/grpc from 1.50.1 to 1.58.2.
Release notes
Sourced from google.golang.org/grpc's releases.
... (truncated)
Commits
c0aa20a
Change version to 1.58.2 (#6654)67a53a6
balancer/weightedroundrobin: fix ticker leak on update (#6655)863de73
update version to 1.58.2-dev (#6633)62726d4
update version to 1.58.1 (#6629)fa6d9ab
cherry-pick 6610 and 6620 (#6627)467fbf2
Change version to 1.58.1-dev (#6580)c2b0797
Change version to 1.58.0 (#6579)0467e47
balancer/leastrequest: Cache atomic load and also add concurrent rpc test (#6...5d1c0ae
leastrequest: fix data race in leastrequest picker (#6606)e26457d
stream: swallow Header errors as we used to; RecvMsg can still return it (#6591)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show