You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tracking Issue for Codec, Compressor, CompressionRegistry being Experimental. #1704
changed the title [-]Codec, Compressor CompressionRegistry should be checked if they should still be experimental.[/-][+]Tracking Issue for Codec, Compressor, CompressionRegistry being Experimental. [/+]on May 3, 2016
Primary deficiency is that what we really want is to rely on negotiation of the allowed compressors to control what is permitted and then have a simple API to control high/med/low (for some definition of those concepts).
We can't use negotiation for the first call to a service as negotiation may not have occurred so we will always need an API to allow client to assert a subset of supported compressions types for the first call.
E.g.
Stabilize the following by removing @ExperimentalApi - Larry to do
CallOptions.withCompression
CallOptions.getCompressor
ServerCall.setCompression - make clear it is for sending
ServerCall. setMessageCompression
AbstractStub.withCompression - update javadoc to stop implying have to call decompressionRegistry
Hi @larry-safran@ejona86
Is this feature stabilised now? if yes, which version should we use? any examples? any benchmarks?
Also, do we have any success story for lib/team using this compression in production workloads?
Thanks
Enabling compression will consume more memory and CPU. But it is a trade-off, because it reduces network costs and in some networks decreases latency. Use it when the trade-off is worth it to you.
Activity
[-]Codec, Compressor CompressionRegistry should be checked if they should still be experimental.[/-][+]Tracking Issue for Codec, Compressor, CompressionRegistry being Experimental. [/+]carl-mastrangelo commentedon May 3, 2016
Specific usages:
CallOptions.getCompressorCallOptions.withCompressionCodecCompressorCompressorRegistryDecompressorDecompressorRegistryDecompressorRegistry.getAdvertisedMessageEncodingsManagedChannelBuilder.decompressorRegistryManagedChannelBuilder.compressorRegistryPartialForwaringServerCall.setCompressionServerBuilder.compressionRegistryServerBuilder.decompressionRegistryServerCall.setCompressionAbstractStub.withCompressionlouiscryan commentedon May 23, 2016
Primary deficiency is that what we really want is to rely on negotiation of the allowed compressors to control what is permitted and then have a simple API to control high/med/low (for some definition of those concepts).
We can't use negotiation for the first call to a service as negotiation may not have occurred so we will always need an API to allow client to assert a subset of supported compressions types for the first call.
E.g.
CallOptions.assumeInitialAllowedCompressors(....)
louiscryan commentedon May 23, 2016
Leaving experimental for 1.0 unless significant effort can be found to address the known issues and resolve this consistently across the other impls
larry-safran commentedon Feb 15, 2023
Stabilize the following by removing
@ExperimentalApi- Larry to doCallOptions.withCompression
CallOptions.getCompressor
ServerCall.setCompression - make clear it is for sending
ServerCall. setMessageCompression
AbstractStub.withCompression - update javadoc to stop implying have to call decompressionRegistry
0001vrn commentedon Mar 3, 2023
Hi @larry-safran @ejona86
Is this feature stabilised now? if yes, which version should we use? any examples? any benchmarks?
Also, do we have any success story for lib/team using this compression in production workloads?
Thanks
ejona86 commentedon Mar 3, 2023
The built-in compression has been in reasonably wide use since 1.0. I discourage implementing custom compression methods (so avoid the registries).
eitanbn commentedon Mar 5, 2023
We have got bad performance results when using gzip compression
We are using the code we have found in the internet as follows;
Server Side
Client Side
or
Can you please advice?
Thanks,
Eitan
ejona86 commentedon Mar 6, 2023
Enabling compression will consume more memory and CPU. But it is a trade-off, because it reduces network costs and in some networks decreases latency. Use it when the trade-off is worth it to you.
api,stub:Stabilize part of compression agreed to in the stabilization…
api,stub:Stabilize part of compression agreed to in the stabilization…