Update grpc-java monorepo to v1.78.0 #3464
Open
+2
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.76.0->1.78.01.76.0->1.78.01.76.0->1.78.01.76.0->1.78.0Release Notes
grpc/grpc-java (io.grpc:grpc-protobuf)
v1.78.0Bug Fixes
02e98a8). This fixes a race where RPCs could fail with "UNAVAILABLE: Channel shutdown invoked" even though they were created before channel.shutdown()8d49dc1)thisfrom BinderServerTransport's ctor (#12453) (89d77e0)55ae1d0). This fixes a regression since 1.75.0 triggered by CdsLb being converted to XdsDepManager. Without this fix, a second channel to the same target may hang when starting, causing DEADLINE_EXCEEDED, and unhang when the control plane delivers an update (e.g., endpoint address update)Improvements
f385add). We now have improved xDS error handling and this provides a clearer mechanism for the xDS server to report per-resource errors to the client, resulting in better error messages for debugging and faster detection of non-existent resources. This also improves the handling of all xDS-related data errors and the behavior of the xDS resource timer.26c1c13). Resets RLS request backoff timers when the Control plane channel state transitions to READY. Also when the backoff timer expires, instead of making a RLS request immediately, it just causes a picker update to allow making rpc again to the RLS target.4843256)283f103)bbc0aa3)9313e87)725ab22)cb73f21). Shared resources are internal to gRPC for sharing expensive objects across channels and servers, like threads. This reduces the chances of forming a deadlock, like seen with s2a ind50098f6dab2ce)f36defa). proto-google-common-protos to 2.63.1, google-auth-library to 1.40.0, error-prone annotations to 2.44.0, guava to 33.5.0-android, opentelemetry to 1.56.02f64092)d971072). Adds support forandroid:isolatedProcessServices and moves all security checks to the handshake, making subsequent transactions more efficient.New Features
58ae5f8).48a4288). The policy uses the namerandom_subsetting_experimental. If it is working for you, tell us so we can gauge marking it stable. While the xDS portions haven’t yet landed, it is possible to use with xDS with JSON-style Structs as supported by gRFC A5251611ba). Most service mesh workloads use mTLS, as described in gRFC A29. However, there are cases where it is useful for applications to use normal TLS rather than using certificates for workload identity, such as when a mesh wants to move some workloads behind a reverse proxy. The xDSCertificateValidationContextmessage (see envoyproxy/envoy#34235) has asystem_root_certsfield. In the gRPC client, if this field is present and theca_certificate_provider_instancefield is unset, system root certificates will be used for validation. This implements gRFC A82.51611ba). In service mesh environments, there are cases where intermediate proxies make it impossible to rely on mTLS for end-to-end authentication. These cases can be addressed instead by the use of service account identity JWT tokens. The xDS GCP Authentication filter provides a mechanism for attaching such JWT tokens as gRPC call credentials on GCP. gRPC already supports a framework for xDS HTTP filters, as described in gRFC A39. This release supports the GCP Authentication filter under this framework as described in gRFC A83.51611ba). gRPC supports getting routing configuration from an xDS server, as described in gRFCs A27 and A28. The xDS configuration can configure the client to rewrite the authority header on requests. This functionality can be useful in cases where the server is using the authority header to make decisions about how to process the request, such as when multiple hosts are handled via a reverse proxy. Note that this feature is solely about rewriting the authority header on data plane RPCs; it does not affect the authority used in the TLS handshake.As mentioned in gRFC A29, there are use-cases for gRPC that prohibit trusting the xDS server to control security-centric configuration. The authority rewriting feature falls under the same umbrella as mTLS configuration. As a result, the authority rewriting feature will only be enabled when the bootstrap config for the xDS server has
trusted_xds_serverin theserver_featuresfield.0567531). When using xDS credentials make SNI for the Tls handshake to be configured via xDS, rather than use the channel authority as the SNI, and make SAN validation to be able to use the SNI sent when so instructed via xDS. Implements gRFC A101.Documentation
da70387)28a6130)97695d5)Thanks to
v1.77.1Bug Fixes
v1.77.0API Changes
BinderChannelBuilder.bindAsUser()method, deprecated since 1.69 (#12401) (f96ce06)Bug Fixes
acbbf86). This fixes regression introduced in v1.68.1 causing a “IllegalStateException: No value present.” exception5e8af56). This should not impact many people as the code is disabled by default, behind two experimental environment variables6fc3fd0). This fixes the grpc-okhttp server incorrectly closing the connection withGOAWAY: too_many_pings63fdaac). SinceFileWatcherCertificateProviderisn't used when using system root trust store, the SslContext update for the handshake that depended on it wasn't happening. This fix creates a separateCertificateProviderfor handling system root certs that doesn't rely on theFileWatcherCertificateProvider.82f9b8e). This is needed when there isGcpAuthenticationFilterin the filter chain to make available the cluster resource inCallOptions.5b876cc)349a35a)4725ced)91f3f4d)Improvements
86e8b56)21696cd). A negative reference count could cause NullPointerExceptions, so when too many unrefs are detected it produces a SEVERE warning and prevents the reference count from going negative53cd1a2). This fixes a regression with Istio introduced in v1.73.0. This gives time for Istio’s new xDS field support to roll out27d1508). This allows googleapis to inject an xDS bootstrap to use with its channels even if one is already specified in the environment variable or system property. When the code was originally written there was a single global XdsClient, but since gRFC A71 Xds Fallback each target string has its own XdsClient and thus can have its own bootstrap9ac12ef) (498f717)599a0a1) This avoids the server needing to wait for the handshake timeout before realizing the handshake failedNew Features
d380191)155308d)559e3ba)246c2b1). Authority rewriting requires the control plane to be labeledtrusted_xds_serverin the bootstrap. System root cert support and SNI require using XdsChannelCredentials795ce02)Dependencies
55aefd5)b769f96). ALTS is no longer used with grpclb, so this removes dead codeb37ee67)Thanks to
@panchenko
@benjaminp
@HyunSangHan
@becomeStar
@ZachChuba
@oliviamariacodes
@kssumin
@laz-canva
v1.76.2Compare Source
Bug Fixes
v1.76.1Compare Source
Bug Fixes
5e8af56). This should not impact many people as the code is disabled by default, behind two experimental environment variablesConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.