v1.54.0
New Features
- xds: Add weightedRoundRobin LB policy. The WRR policy allows picking the subchannel by weight based on the metrics feedback from the backend using ORCA API. See gRFC A58: Weighted Round Robin LB Policy. (#9873)
- census: Add per call latency metric which is latency across all attempts (#9906)
- Generated code now has an interface named
AsyncService
that the<service-name>ImplBase
class implements. This allows you to provide your own base class when used with the static<service-name>Grpc.bindService(AsyncService)
method(#9688).
Examples
- Add examples for gcp observability (#9967)
Bugfixes
- rls:Fix throttling in route lookup where success and error metrics had been inverted (b/262779100) (#9874)
- protobuf: update external javadoc link (#9890)
- core: fix outlier detection default ejection time (#9889)
- xds: deletion only to watchers of same control plane (#9896)
- api: Target scheme is now properly case insensitive (#9899).
NameResolverProvider
s, however, are expected to return the scheme used for registration in lower-case - api: ForwardingServerCall now forwards getMethodDescriptor(). Previously only SimpleForwardingServerCall forwarded the method
Behavior Changes
- xds:Allow a cluster’s sum of weights to exceed the maximum signed integer up to a limit of max unsigned integer (#9864)
- grpclb: no SRV lookup for "metadata.google.internal."
Improvements
- xds, orca: Allow removing OobLoadReportListener from a subchannel in OrcaOobUil. (#9881)
- services: ORCA API change to allow recording QPS in MetricRecorder and CallMetricRecorder. (#9866)
- Move name resolution retry from managed channel to name resolver (take #2) (#9812)
- Rename AbstractXdsClient to ControlPlaneClient (#9934)
- all: fix build with errorprone 2.18 (#9886)
- build: allow Java 11+ to use modern error prone
- errorprone: enable UnnecessaryAnonymousClass (#9927)
- core: add logger to OutlierDetectionLoadBalancer (#9880)
- census: add trace annotation to report received message sizes (#9944)
- gcp-observability: emit latency and payload size metrics by default when monitoring is enabled (#9893)
- gcp-observability: add trace information like TraceId and SpanId in logs for log correlation when both logging and traces are enabled (#9963)
- gcp-observability: close() will take longer, to ensure metrics and traces are flushed (#9972)
- gcp-observability: update status code type in logs to Google RPC code instead of an integer (#9959)
- gcp-observability: retain default opencensus-task identifier even when custom labels are specified in the configuration (#9982)
- Build Improvements (#9855)
- Fixes MethodDescriptor java documentation (#9860)
- api: forward getSecurityLevel on PartialForwardingServerCall (#9912)
- Updating ServerInterceptors.java to support different marshallers for Request and Response messages. (#9877)
API stabilizations
- Stabilize method ServerBuilder.intercept which had previously been marked experimental. (#9894)
- api:stabilize offloadExecutor usage in ManagedChannelBuilder and NameResolver. (#9931)
Dependencies
- netty:Upgrade Netty from 4.1.79 to 4.1.87, tcnative from 2.0.54 to 2.0.56 (#9784)
- gcp-observability: Transitive gRPC components now have the same gRPC version
- gcp-observability : Google cloud logging updated to 3.14.5
Acknowledgements
@benjaminp
@s-matyukevich
@Faqa
@antechrestos
@carl-mastrangelo
@ioanbsu