Skip to content
Snippets Groups Projects
Commit a31b9d6b authored by Muxi Yan's avatar Muxi Yan
Browse files

Alternate workaround description style

parent b1e5bac3
No related branches found
No related tags found
No related merge requests found
......@@ -5,16 +5,11 @@ This document lists the workarounds implemented on gRPC servers for record and r
## Workaround Lists
| Workaround ID | Date added | Issue | Workaround Description | Status |
|-------------------------------------|--------------|---------------------------------------------------|------------------------------------------------------|--------------------------|
| WORKAROUND\_ID\_CRONET\_COMPRESSION | May 06, 2017 | Before version v1.3.0-dev, gRPC iOS client's | Implemented as a server channel filter in C core. | Implemented in C and C++ |
| | | Cronet transport did not implement compression. | The filter identifies the version of peer client | |
| | | However the clients still claim to support | with incoming `user-agent` header of each call. If | |
| | | compression. As a result, a client fails to parse | the client's gRPC version is lower that or equal to | |
| | | received message when the message is compressed. | v1.3.x, a flag GRPC\_WRITE\_NO\_COMPRESS is marked | |
| | | | for all send\_message ops which prevents compression | |
| | | The problem above was resolved in gRPC v1.3.0-dev.| of the messages to be sent out. | |
| | | For backward compatibility, a server must | | |
| | | forcingly disable compression for gRPC clients of | | |
| | | version lower than or equal to v1.3.0-dev. | | |
### Cronet Compression
**Workaround ID:** WORKAROUND\_ID\_CRONET\_COMPRESSION
**Date added:** May 06, 2017
**Status:** Implemented in C core and C++
**Issue:** Before version v1.3.0-dev, gRPC iOS client's Cronet transport did not implement compression. However the clients still claim to support compression. As a result, a client fails to parse received message when the message is compressed.
The problem above was resolved in gRPC v1.3.0-dev. For backward compatibility, a server must forcingly disable compression for gRPC clients of version lower than or equal to v1.3.0-dev.
**Workaround Description:** Implemented as a server channel filter in C core. The filter identifies the version of peer client with incoming `user-agent` header of each call. If the client's gRPC version is lower that or equal to v1.3.x, a flag GRPC_WRITE_NO_COMPRESS is marked for all send_message ops which prevents compression of the messages to be sent out.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment