aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/workarounds.md
diff options
context:
space:
mode:
authorGravatar Muxi Yan <mxyan@google.com>2017-05-16 11:21:00 -0700
committerGravatar Muxi Yan <mxyan@google.com>2017-05-16 11:21:51 -0700
commitd212a021e4d6e065ef3458012155ae7d6dd71623 (patch)
treee11ff61d87324ee6b94eb0201d6214abb5ecff86 /doc/workarounds.md
parenta31b9d6bf447a64c46d344043f04c8a0cd4741c5 (diff)
Polish workarounds.md
Diffstat (limited to 'doc/workarounds.md')
-rw-r--r--doc/workarounds.md6
1 files changed, 5 insertions, 1 deletions
diff --git a/doc/workarounds.md b/doc/workarounds.md
index 0446db65b6..bc511860f8 100644
--- a/doc/workarounds.md
+++ b/doc/workarounds.md
@@ -3,13 +3,17 @@
## Introduction
This document lists the workarounds implemented on gRPC servers for record and reference when users need to enable a certain workaround.
-## Workaround Lists
+## Workaround List
### 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.