This repository contains the OpenSearch adaptation for the OpenTelemetry Astronomy Shop, a microservice-based distributed system intended to illustrate the implementation of OpenTelemetry in a near real-world environment.
grpc/grpc-java (io.grpc:grpc-netty)
### [`v1.60.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.60.0)
##### API Changes
- api: Stabilize `ForwardingServerBuilder`, `ForwardingChannelBuilder2`, and `ForwardingChannelBuilder`. Note that `ForwardingChannelBuilder` is stabilized (no changes will be made to it), but immediately deprecated in favor of `ForwardingChannelBuilder2`. ([#10586](https://togithub.com/grpc/grpc-java/issues/10586))
- api: Deprecate `ForwardingChannelBuilder.delegate()`. De facto this deprecates the class itself, since all classes extending `ForwardingChannelBuilder` implement the `delegate()` method. See javadoc for details ([#10587](https://togithub.com/grpc/grpc-java/issues/10587))
- api: Changed recently-introduced `LoadBalancer.acceptResolvedAddresses()` to return `Status` instead of `boolean` ([#10636](https://togithub.com/grpc/grpc-java/issues/10636)). This is part of continued work to align the LB API cross-language and API stabilization
- stub: Deprecate StreamObservers ([#10654](https://togithub.com/grpc/grpc-java/issues/10654))
- alts: AltsChannelBuilder now extends `ForwardingChannelBuilder2` ([#10587](https://togithub.com/grpc/grpc-java/issues/10587))
- protobuf: Stabilize `ProtoUtils.metadataMarshaller()` ([#10628](https://togithub.com/grpc/grpc-java/issues/10628))
- protobuf-lite: ProtoLiteUtils experimental comment ([#10627](https://togithub.com/grpc/grpc-java/issues/10627))
##### Behavior Changes
- core: `ManagedChannel`s now check the address types provided by the nameResolver (for the given target) with the address types supported by the channel transport and generate an error in case of mismatch. That dramatically improves the error message when an issue occurs
- core: When a server stream is closed due to user's code (an uncaught exception in halfClosed, messagesAvailable, onReady callback of a ServerStream's listener), the `Status.UNKNOWN` returned to the client will have `Application error processing RPC` description. Previously the description was empty. This is helpful to differentiate between server errors originated in user application, gRPC library, or even those injected by a proxy. ([#10643](https://togithub.com/grpc/grpc-java/issues/10643))
- xds: Log ORCA UNIMPLEMENTED error to subchannel logger. This removes them from the normal application logs, reducing log spam
##### Improvements
- Change the underlying implementations of RingHash, RoundRobin, WeightedRoundRobin and LeastRequest load balancers to utilize the pick first load balancer rather than directly manage subchannels. This should only be noticeable if it introduced a bug
- core: Avoid flushing headers when the server returns a single response ([#9314](https://togithub.com/grpc/grpc-java/issues/9314)). This is a performance optimization to reduce the number of packets for non-streaming responses
- util: Make grpc-core an implementation dependency. This will prevent the io.grpc.internal classes in grpc-core from being visible during compilation when depending on just grpc-util
- netty: Implement `Http2Headers.isEmpty()`. This fixes compatibility with Netty 4.1.101.Final.
- netty: Add `NettyServerBuilder.maxRstFramesPerWindow()`. This can be used to limit impact of Rapid Reset
- netty: Disable huffman coding in headers ([#10563](https://togithub.com/grpc/grpc-java/issues/10563)). Huffman coding provides modest compression for relatively high CPU usage, especially within a data center. Rely just on the HPACK static and dynamic tables for compression, for higher performance. This only impacts header values 512 bytes or longer, as Netty already disabled Huffman for smaller values
- alts: Improve handshake failure error message by propagating original exception ([#10644](https://togithub.com/grpc/grpc-java/issues/10644))
##### Bug Fixes
- util: Remove shutdown subchannels from OD tracking ([#10683](https://togithub.com/grpc/grpc-java/issues/10683)). This could have caused a memory leak on a long-lived channel. But we don’t think it could be triggered with our built-in load balancing policies.
##### Dependencies
- Bump Netty to 4.1.100.Final
##### Acknowledgements
[@anthonyjpratti](https://togithub.com/anthonyjpratti)
[@fedorka](https://togithub.com/fedorka)
[@jpd236](https://togithub.com/jpd236)
[@mateusazis](https://togithub.com/mateusazis)
[@pkoenig10](https://togithub.com/pkoenig10)
[@yannickepstein](https://togithub.com/yannickepstein)
[@amirhadadi](https://togithub.com/amirhadadi)
### [`v1.59.1`](https://togithub.com/grpc/grpc-java/releases/tag/v1.59.1)
- netty: Implement `Http2Headers.isEmpty()`. This fixes compatibility with Netty 4.1.101.Final.
- netty: Add `NettyServerBuilder.maxRstFramesPerWindow()`. This can be used to limit impact of Rapid Reset
- xds: Log ORCA UNIMPLEMENTED error to subchannel logger. This removes them from the normal application logs, reducing log spam
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.59.0
->1.60.0
By merging this PR, the issue #93 will be automatically resolved and closed:
Release Notes
grpc/grpc-java (io.grpc:grpc-netty)
### [`v1.60.0`](https://togithub.com/grpc/grpc-java/releases/tag/v1.60.0) ##### API Changes - api: Stabilize `ForwardingServerBuilder`, `ForwardingChannelBuilder2`, and `ForwardingChannelBuilder`. Note that `ForwardingChannelBuilder` is stabilized (no changes will be made to it), but immediately deprecated in favor of `ForwardingChannelBuilder2`. ([#10586](https://togithub.com/grpc/grpc-java/issues/10586)) - api: Deprecate `ForwardingChannelBuilder.delegate()`. De facto this deprecates the class itself, since all classes extending `ForwardingChannelBuilder` implement the `delegate()` method. See javadoc for details ([#10587](https://togithub.com/grpc/grpc-java/issues/10587)) - api: Changed recently-introduced `LoadBalancer.acceptResolvedAddresses()` to return `Status` instead of `boolean` ([#10636](https://togithub.com/grpc/grpc-java/issues/10636)). This is part of continued work to align the LB API cross-language and API stabilization - stub: Deprecate StreamObservers ([#10654](https://togithub.com/grpc/grpc-java/issues/10654)) - alts: AltsChannelBuilder now extends `ForwardingChannelBuilder2` ([#10587](https://togithub.com/grpc/grpc-java/issues/10587)) - protobuf: Stabilize `ProtoUtils.metadataMarshaller()` ([#10628](https://togithub.com/grpc/grpc-java/issues/10628)) - protobuf-lite: ProtoLiteUtils experimental comment ([#10627](https://togithub.com/grpc/grpc-java/issues/10627)) ##### Behavior Changes - core: `ManagedChannel`s now check the address types provided by the nameResolver (for the given target) with the address types supported by the channel transport and generate an error in case of mismatch. That dramatically improves the error message when an issue occurs - core: When a server stream is closed due to user's code (an uncaught exception in halfClosed, messagesAvailable, onReady callback of a ServerStream's listener), the `Status.UNKNOWN` returned to the client will have `Application error processing RPC` description. Previously the description was empty. This is helpful to differentiate between server errors originated in user application, gRPC library, or even those injected by a proxy. ([#10643](https://togithub.com/grpc/grpc-java/issues/10643)) - xds: Log ORCA UNIMPLEMENTED error to subchannel logger. This removes them from the normal application logs, reducing log spam ##### Improvements - Change the underlying implementations of RingHash, RoundRobin, WeightedRoundRobin and LeastRequest load balancers to utilize the pick first load balancer rather than directly manage subchannels. This should only be noticeable if it introduced a bug - core: Avoid flushing headers when the server returns a single response ([#9314](https://togithub.com/grpc/grpc-java/issues/9314)). This is a performance optimization to reduce the number of packets for non-streaming responses - util: Make grpc-core an implementation dependency. This will prevent the io.grpc.internal classes in grpc-core from being visible during compilation when depending on just grpc-util - netty: Implement `Http2Headers.isEmpty()`. This fixes compatibility with Netty 4.1.101.Final. - netty: Add `NettyServerBuilder.maxRstFramesPerWindow()`. This can be used to limit impact of Rapid Reset - netty: Disable huffman coding in headers ([#10563](https://togithub.com/grpc/grpc-java/issues/10563)). Huffman coding provides modest compression for relatively high CPU usage, especially within a data center. Rely just on the HPACK static and dynamic tables for compression, for higher performance. This only impacts header values 512 bytes or longer, as Netty already disabled Huffman for smaller values - alts: Improve handshake failure error message by propagating original exception ([#10644](https://togithub.com/grpc/grpc-java/issues/10644)) ##### Bug Fixes - util: Remove shutdown subchannels from OD tracking ([#10683](https://togithub.com/grpc/grpc-java/issues/10683)). This could have caused a memory leak on a long-lived channel. But we don’t think it could be triggered with our built-in load balancing policies. ##### Dependencies - Bump Netty to 4.1.100.Final ##### Acknowledgements [@anthonyjpratti](https://togithub.com/anthonyjpratti) [@fedorka](https://togithub.com/fedorka) [@jpd236](https://togithub.com/jpd236) [@mateusazis](https://togithub.com/mateusazis) [@pkoenig10](https://togithub.com/pkoenig10) [@yannickepstein](https://togithub.com/yannickepstein) [@amirhadadi](https://togithub.com/amirhadadi) ### [`v1.59.1`](https://togithub.com/grpc/grpc-java/releases/tag/v1.59.1) - netty: Implement `Http2Headers.isEmpty()`. This fixes compatibility with Netty 4.1.101.Final. - netty: Add `NettyServerBuilder.maxRstFramesPerWindow()`. This can be used to limit impact of Rapid Reset - xds: Log ORCA UNIMPLEMENTED error to subchannel logger. This removes them from the normal application logs, reducing log spam