Skip to content

Backport(v1.19): test_buffer: make gzip chunk overflow test independent of zlib implementation (#5415)#5426

Open
github-actions[bot] wants to merge 1 commit into
v1.19from
backport-to-v1.19/pr5415
Open

Backport(v1.19): test_buffer: make gzip chunk overflow test independent of zlib implementation (#5415)#5426
github-actions[bot] wants to merge 1 commit into
v1.19from
backport-to-v1.19/pr5415

Conversation

@github-actions

Copy link
Copy Markdown

Which issue(s) this PR fixes:
Backport #5415
Fixes #

What this PR does / why we need it:
The gzipped size of a record varies by a few bytes depending on the zlib implementation. zlib-ng, which is used by default on some distributions, produces slightly larger output for tiny records than stock zlib.

The test hard-coded chunk_limit_size to 70 and implicitly assumed the small "aaa"/"bbb" records stay under that limit, which holds for stock zlib but not for zlib-ng where they compress to 72 bytes. As a result, those records also triggered BufferChunkOverflowError locally and the test failed, while it kept passing on CI (stock zlib).

Derive chunk_limit_size from the actual gzipped size of the small records so they always fit into (and fill up) a chunk, and enlarge the overflowing record so it exceeds the limit by a wide margin regardless of the zlib implementation.

Docs Changes:
N/A

Release Note:
N/A

…entation (#5415)

**Which issue(s) this PR fixes**:
Fixes #

**What this PR does / why we need it**:
The gzipped size of a record varies by a few bytes depending on the zlib
implementation. zlib-ng, which is used by default on some distributions,
produces slightly larger output for tiny records than stock zlib.

The test hard-coded chunk_limit_size to 70 and implicitly assumed the
small "aaa"/"bbb" records stay under that limit, which holds for stock
zlib but not for zlib-ng where they compress to 72 bytes. As a result,
those records also triggered BufferChunkOverflowError locally and the
test failed, while it kept passing on CI (stock zlib).

Derive chunk_limit_size from the actual gzipped size of the small
records so they always fit into (and fill up) a chunk, and enlarge the
overflowing record so it exceeds the limit by a wide margin regardless
of the zlib implementation.

**Docs Changes**:
N/A

**Release Note**:
N/A

Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant