[MDEV-12615] InnoDB page compression method snappy mostly does not compress pages Created: 2017-04-28  Updated: 2020-08-12  Resolved: 2017-05-20

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB, Storage Engine - XtraDB
Affects Version/s: 10.1
Fix Version/s: 10.1.24

Type: Bug Priority: Major
Reporter: Jan Lindström (Inactive) Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Sprint: 10.1.24

 Description   

Test innodb-page_compression_snappy should make sure that table is really compressed in storage. Furthermore, snappy requires extra memory space to really compress a buffer.



 Comments   
Comment by Jan Lindström (Inactive) [ 2017-04-28 ]

https://github.com/MariaDB/server/commit/d390aad50ba82ae1dbabbfff044f0042ef9dc475

Comment by Marko Mäkelä [ 2017-05-05 ]

Please address my review comments.

Comment by Jan Lindström (Inactive) [ 2017-05-20 ]

commit 90c52e5291b3ad0935df7da56ec0fcbf530733b4
Author: Jan Lindström <jan.lindstrom@mariadb.com>
Date: Sat May 20 21:49:35 2017 +0300

MDEV-12615: InnoDB page compression method snappy mostly does not compress pages

Snappy compression method require that output buffer
used for compression is bigger than input buffer.
Similarly lzo require additional work memory buffer.
Increase the allocated buffer accordingly.

buf_tmp_buffer_t: removed unnecessary lzo_mem, crypt_buf_free and
comp_buf_free.

buf_pool_reserve_tmp_slot: use alligned_alloc and if snappy
available allocate size based on snappy_max_compressed_length and
if lzo is available increase buffer by LZO1X_1_15_MEM_COMPRESS.

fil_compress_page: Remove unneeded lzo mem (we use same buffer)
and if output buffer is not yet allocated allocate based similarly
as above.

Decompression does not require additional work area.

Modify test to use same test as other compression method tests.

Generated at Thu Feb 08 07:59:06 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.