Update dependency io.grpc:grpc-netty-shaded to v1.43.1 - autoclosed #534
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.31.1
->1.43.1
By merging this PR, the below issues will be automatically resolved and closed:
Release Notes
grpc/grpc-java
v1.43.1
Bug Fixes
Dependencies
v1.43.0
API Changes
Bug Fixes
recordFinishedAttempt()
. Users not enabling grpc-census are not impacted by this bug (#8706)New Features
-Dio.grpc.netty.disableConnectionHeaderCheck=false
to disable HTTP Connection header check. This is a temporary workaround to allow fixing out-of-spec HTTP/2 clients (#8683)Dependencies
Acknowledgement
@beatrausch
@benjaminp Benjamin Peterson
@cfredri4
@kdubb Kevin Wooten
v1.42.2
Bug Fixes
recordFinishedAttempt()
. Users not enabling grpc-census are not impacted by this bug (#8706)ManagedChannel.enterIdle()
(#8746)Dependencies
v1.42.1
Bug fixes:
XdsServer
from noticing when a control plane sent a needless duplicate update, causingXdsServer
to drain all its existing connections to use the “new” configuration #8688New feature:
-Dio.grpc.netty.disableConnectionHeaderCheck=false
to disable HTTP Connection header check. This is a temporary workaround to allow fixing out-of-spec HTTP/2 clients #8683v1.42.0
In this release we drop support for Android API level 18 or lower (Jelly Bean or earlier), following Google Play Service’s discontinued updates for Jelly Bean (API levels 16, 17 & 18).
API Changes
XdsServerBuilder.overrideBootstrapForTest()
to provide bootstrap override for testing purposes. This way, the test does not need to use the shared environment variable for bootstrap injection. (#8575)Status.asException(Metadata)
method. (#8520)CallCredentials2
(#8572).CallCredentials2
was introduced in 1.16.0 to ease migration ofCallCredentials
to an abstract class.CallCredentials
has been preferred overCallCredentials2
since 1.19.0Bug Fixes
New Features
ServerCallStreamObserver.setOnCloseHandler(Runnable)
. Notified when gRPC has completed processing the RPC. (#8452)Behavior Changes
Dependencies
4.1.63.Final
and tcnative to2.0.38.Final
. (#8167)Improvements
io.grpc.util.AdvancedTlsX509KeyManager
andAdvancedTlsX509TrustManager
support loading configuration from static files. (#8525)io.grpc.util.CertificateUtils.getPrivateKey()
now supports RSA and EC key algorithmsv1.41.2
Bug Fixes
ManagedChannel.enterIdle()
(#8763)XdsServer
from noticing when a control plane sent a needless duplicate update, causingXdsServer
to drain all its existing connections to use the “new” configuration #8736Dependencies
v1.41.1
Bug Fixes
v1.41.0
For users requiring Java 7, the later grpc-java 1.44 release dropped support for Java 7. This v1.41.x branch is the selected gathering point for users continuing to require Java 7. See gRFC P5.
API Changes
Bug Fixes
ServerCall.isCancelled()
andServerCallStreamObserver.isCancelled()
implementations no longer incorrectly return true at the end of every RPC (#8408)enterIdle()
call when it has any calls in progresschannel.getState(true)
or if a parent load balancer requests a connection (#8379)New Features
XdsNameResolverProvider.createForTest()
to allow using a different bootstrap configuration in tests (#8358)Behavior Changes
Improvements
Dependencies
v1.40.2
grpclb: Fix “IllegalStateException: already in fallback” channel panic, by not starting fallback timer if already in fallback (#8646). This builds on the fix in 1.38.1. The bug was introduced in 1.38.0.
v1.40.1
Bug Fixes
v1.40.0
API Changes
ClientStreamTracer.Factory.newClientStreamTracer(CallOptions callOptions, Metadata headers)
.ClientStreamTracer.StreamInfo.getTransportAttrs()
andClientStreamTracer.StreamInfo.Builder.setTransportAttrs()
.ClientStreamTracer.streamCreated(Attributes transportAttrs, Metadata headers)
.ManagedChannelBuilder.enableRetry()
andManagedChannelBuilder.disableRetry()
.Bug Fixes
start()
instead of NPE.encoding=utf-8
. It now hascharset=utf-8
.New Features
Behavior Changes
ManagedChannelBuilder.disableRetry()
to turn off retry if they do not want this feature, for example if they have already implemented an application level retry.)ManagedChannelBuilder.enableRetry()
will no longer have the side that disables Census stats and tracing as in previous versions.Dependencies
62ca8bd
(#8346).Improvements
v1.39.0
API Changes
HasByteBuffer
API exposes ByteBuffers underlying the InputStream being passed to theMarshaller
and theDetachable
API allows custom Marshaller to take over the ownership of buffers for performing delayed deserialization.Bug Fixes
New Features
Dependencies
Acknowledgements
@lepistone Leonardo Pistone
@shirodkara Amit Shirodkar
@cfredri4
v1.38.1
Bug Fixes
INTERNAL: Panic! This is a bug!
) due to the exceptionIllegalStateException: already in fallback
. The fix mitigated the temporal invariant violation.v1.38.0
gRPC Java 1.38.0 Release Notes
API Changes
usePlaintext()
anduseTransportSecurity()
methods on the channel and server builders. The previous APIs are stable so will not be removed. Over time, documentation and examples will be migrated to the new APIBug Fixes
Behavior Changes
Helper.refreshNameResolution()
) when seeing its created subchannel becomes IDLE or TRANSIENT_FAILURE. Currently the Channel will do it for you and log a warning. But this operation will be removed in the future releases. (#8048)Dependencies
v1.37.1
Bug Fixes
v1.37.0
Behavior Changes
GoogleDefaultChannelCredentials
andComputeEngineChannelCredentials
choose ALTS for backends given by xDS TD. Changes forComputeEngineChannelCredentials
were missing, but they really should be the same.ServerBuilder.addServices()
API that allows adding a list of services instead of iterating through list and callingaddService()
.NameResolver
APIs that have been marked as deprecated since 1.21 release.Channelz
andCSDS
with dependencies required at runtime.pendingDeadline.cancel
out of synchronized block.channel.shutdown()
. PreviouslyshutdownNow()
was required for prompt shutdown if a connection was handshaking.io.grpc.xds.bootstrapConfig
.server_listener_resource_name_template
property from the bootstrap file for server side xDS processing as per the gRFC A36-xds-for-servers.md.New Features
TlsChannelCredentials
andTlsServerCredentials
now support client certificates and custom KeyManagers/TrustManagers. grpc-netty fully supports these options. grpc-okhttp does not support keyfile-based configuration; you’d need to use a KeyManager. Most users of Netty’s SslContext and GrpcSslContexts should be able to migrate and are encouraged to do so, because this API does not have a Netty dependency and so is planned to become stable.XdsServingStatusListener
has been implemented as per the gRFC A36-xds-for-servers.md.CsdsService
. It is safe for production but are Experimental APIs to resolve issues discovered as they see usage. The rationale and description of the new API can be found in gRFC A40: xDS Configuration Dump via Client Status Discovery Service in gRPC.WeightedTargetLoadBalancer
collect all failure child pickers to log more error details.Bug Fixes
TRANSIENT_FAILURE
for such cases.CdsLoadBalancer2
childLb shutdown behavior. Previously these childLbs are not properly shutdown, which might cause channel panic as client channel is referenced by those childLbs.UnsupportedOperationException
incompatibility with Netty 4.1.60.Final (#7953). This allows users of grpc-netty that may be using Netty elsewhere in their application to upgrade their Netty version to avoid exposure to recent Netty CVEs. gRPC itself is not impacted by those CVEs.CONNECTING
subchannels when aggregating the overall LB state, which would cause RPCs to fail prematurely if there are subchannels in its initial connection.AltsTestServer
object lock, this way, alts client and alts server won’t race on theAltsTestServer
during Alts handshake negotiation.Documentation
TlsChannelCredentials
/TlsServerCredentials
and no longer depends on Netty at compile time.Dependencies
ac9a26373
. Added xDS v3 csds.proto with dependencies.Acknowledgements
@spkrka Kristofer Karlsson
@njhill Nick Hill
@ulfjack Ulf Adams
v1.36.2
Bug Fixes
v1.36.1
UnsupportedOperationException
incompatibility with Netty 4.1.60.Final (#7953). This allows users of grpc-netty that may be using Netty elsewhere in their application to upgrade their Netty version to avoid exposure to recent Netty CVEs. gRPC is not impacted by those CVEs so a Netty upgrade for gRPC itself is not necessaryio.grpc.xds.bootstrapValue
system property toio.grpc.xds.bootstrapConfig
. This more closely matches the environment variable (GRPC_XDS_BOOTSTRAP_CONFIG
) and avoids future confusion (#7968)IllegalStateException
causing Channel panic during LB shutdown (#7942). The bug was introduced in v1.36.0. The issue likely most impacts xDS users that may leave a channel unused (no RPCs) for 30 minutes since idle timeout triggers LB shutdownv1.36.0
API Changes
NettyChannelBuilder
,NettyServerBuilder
,OkHttpChannelBuilder
,InProcessChannelBuilder
,CronetChannelBuilder
) are commonly referencing internal ABIs due to overly-specific generics in gRPC. There is now a .class file hack in place which preserves ABI compatibility for old builds while causing javac to use the intended public API for new builds. In a future release we will remove the internal ABI for these experimental APIs (https://github.com/grpc/grpc-java/issues/7211) which may cause runtime failures. Recompiling with this release or later will prevent your code from using those ABIs and so you will not be impacted by the ABI removal. This is related to the temporary ABI breakage in v1.33.0.LoadBalancer.Helper
APIs as they had been deprecated since v1.22 release (#7793).LoadBalancer.Helper.createResolvingOobChannelBuilder(String target)
in favor of the new experimental APIcreateResolvingOobChannelBuilder(String target, ChannelCredentials creds)
. The two APIs differ not only in signature but also in the default authority of the returned builder. See their javadoc for more detail.Behavior Changes
ManagedChannelBuilder.overrideAuthority()
is now used even if the NameResolver usesEquivalentAddressGroup.ATTR_AUTHORITY_OVERRIDE
. Previously the NameResolver’s override would be usedNew Features
grpc.channelz.v1.Channelz.GetServer
, as defined inchannelz.proto
GRPC_XDS_BOOTSTRAP_CONFIG
) or system property (io.grpc.xds.bootstrapValue
) valuesAltsContext
to allow outside packages access to ALTS peer informationBug Fixes
Documentation
Status.trailersFromThrowable
(#7856). The annotation doesn’t change behavior, it just makes the behavior more clearDependencies
Acknowledgements
@elharo Elliotte Rusty Harold
@lriuui0x0 Rui Liu
@martin-schaub Martin Schaub
@njhill Nick Hill
@ReginFell Serhii Zabelnykov
v1.35.1
UnsupportedOperationException
incompatibility with Netty 4.1.60.Final (#7953). This allows users of grpc-netty that may be using Netty elsewhere in their application to upgrade their Netty version to avoid exposure to recent Netty CVEs. gRPC is not impacted by those CVEs so a Netty upgrade for gRPC itself is not necessaryv1.35.0
Bug Fixes
io.grpc
package. They are now shaded to avoid colliding with other users of the classesDependencies
Acknowledgments
@amnox
@horizonzy
@wanyingd1996
v1.34.1
Bug Fixes
GRPC_XDS_EXPERIMENTAL_NEW_SERVER_API=true
where gRPC would request non-existent resourcesv1.34.0
This release has a severe bug when using CompositeChannelCredentials that predominantly impacts googleapis.com (#7643). You may be impacted in the future even if not impacted today. If you contact googleapis.com, please use 1.34.1 instead.
API Changes
io.grpc.ForwardingServerBuilder
(#7633)New Features
usePlaintext()
anduseTransportSecurity()
methods on the channel and server builders. The previous APIs are stable so will not be removed, but are expected to be deprecated in the future. Since these new APIs will be widely used, we encourage users to try the APIs out and report any problems experienced so they can be corrected before the APIs become stable (#7294, #7601)Bug Fixes
StatusRuntimeException: INTERNAL: http2 exception
with a cause similar toHttp2Exception$StreamException: Cannot create stream 222691 greater than Last-Stream-ID 222689 from GOAWAY.
This was mainly observed when a C core-based gRPC server shut down. (#7501)Documentation
ServerCall#close
(#7580)Behavior Changes
Dependencies
Acknowledgements
@attila123
@erikjoh
@jbdeboer
@ST-DDT
@sullis
@susinmotion
v1.33.1
Bug Fixes
io.grpc.netty.NettyServerBuilder
reverted to extend internal classio.grpc.internal.AbstractServerImplBuilder
io.grpc.netty.NettyChannelBuilder
reverted to extend internal classio.grpc.internal.AbstractManagedChannelImplBuilder
io.grpc.okhttp.OkhttpChannelBuilder
reverted to extend internal classio.grpc.internal.AbstractManagedChannelImplBuilder
The class io.grpc.inprocess.InProcessChannelBuilder
reverted to extend internal classio.grpc.internal.AbstractManagedChannelImplBuilder
io.grpc.cronet.CronetChannelBuilder
reverted to extend internal classio.grpc.internal.AbstractManagedChannelImplBuilder
ForwardingServerBuilder
reverted until the permanent fix of the issue with ABI compatibility of delegating classesStatusRuntimeException: INTERNAL: http2 exception
with a cause similar toHttp2Exception$StreamException: Cannot create stream 222691 greater than Last-Stream-ID 222689 from GOAWAY.
This was mainly observed when a C core-based gRPC server shut down.v1.33.0
This release broke ABI in a non-planned way for NettyServerBuilder, NettyChannelBuilder, and similar. See https://github.com/grpc/grpc-java/issues/7552. If you are impacted, please use an earlier version until v1.33.1 is available. A future ABI breakage may be necessary, but will be communicated explicitly at that time.
API Changes
io.grpc.netty.NettyServerBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractServerImplBuilder
io.grpc.netty.NettyChannelBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractManagedChannelImplBuilder
io.grpc.okhttp.OkhttpChannelBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractManagedChannelImplBuilder
The class io.grpc.inprocess.InProcessChannelBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractManagedChannelImplBuilder
io.grpc.cronet.CronetChannelBuilder
is no longer a subclass of the internal classio.grpc.internal.AbstractManagedChannelImplBuilder
StatusRuntimeException: CANCELLED
fromonNext()
for streaming responses. Previously the exception was also thrown fromonNext()
for unary responses and fromonComplete()
, which didn’t help the server avoid unnecessary processingNew Features
Documentation
Bug Fixes
onMessage()
afteronClose()
)GRPC_EXPERIMENTAL_AUTOFLOWCONTROL=false
introduced later. The symptom was a GOAWAY with “too_many_pings” without an aggressive keepalive configured. The environment variable is still available, but will be removed in the futureBehavior Changes
{"type":"insecure"}”
for plaintext (#7396)Dependencies
repositories.bzl
, in favor ofmaven_install
. v1.27.0 introduced support formaven_install
and encouraged users to migrate. Seeexamples/WORKSPACE
for an example.maven_install
dramatically reduces the boilerplate for maven dependencies and properly handles transitive dependencies and version selection. gRPC is not yet using the@maven
workspace, so it is still possible to use other dependency tools.Acknowledgements
@codeblooded Benjamin Reed
@kiwi1969 Russell Shaw
@pkern Philipp Kern
v1.32.3
Bug Fixes
v1.32.2
Bug Fixes
GRPC_EXPERIMENTAL_AUTOFLOWCONTROL=false
introduced later. The symptom was a GOAWAY with “too_many_pings” without an aggressive keepalive configured. The environment variable is still available, but will be removed in the futurev1.32.1
API Changes
ChannelBuilder.blockingExecutor()
(#7242). There should not be any users as it was deprecated the first release it was available and was renamedoffloadExecutor()
.New Features
Bug Fixes
GRPC_EXPERIMENTAL_AUTOFLOWCONTROL=false
will now disable the BDP monitoring introduced in v1.30.0. This is intended to help diagnose a “too_many_pings” compatibility issue and will be removed once it is resolved. If you need to use the variable, please file an issueDependencies