| Bug #96802 | Contribution by Facebook: Compression Protocol for Async Client | ||
|---|---|---|---|
| Submitted: | 10 Sep 2019 0:41 | Modified: | 4 Jan 2022 22:23 |
| Reporter: | FBContrib Admin | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Connection Handling | Severity: | S3 (Non-critical) |
| Version: | 8.0.13 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[10 Sep 2019 0:41]
FBContrib Admin
Compression Protocol for Async Client (*) This code is contributed under the Facebook agreement
Contribution: fb_patch_124.txt (text/plain), 19.72 KiB.
[4 Jan 2022 22:23]
Omer Barnir
Posted by developer: Done as part of WL#13510
[4 Jan 2022 22:24]
Omer Barnir
Thanks to Facebook for the contribution

Description: Background innformation provided by Facebook: Abstract: Allow the async client to use the compressed protocol. Most of the structures are logically similar to the sync client, the main differences revolve around allowing the functions to be reentered. We maintain Chip's optimisation to minimise extra copies of the incoming packet but since compression does extra allocations anyway, we need to manage those extra buffers ourself. Use case: Enables compression on async client connections, which we use to reduce network traffic, especially across different datacenters. Repo: https://github.com/mysql/mysql-server Patch on top of 8.0.13: https://github.com/mysql/mysql-server/commit/e4924f36486f971f8a04252e01c803457a2c72f7 How to repeat: See description Suggested fix: See contribution code attached