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
Background innformation provided by Facebook:

    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
[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