While working on
MDEV-22895, I noticed that if the server is started without a compression library (say, lzma), and innodb_compression_algorithm = lzma, InnoDB can still create, read and write tables with page_compressed=1.
On further investigation, I found that InnoDB will silently write uncompressed data if the compression fails (returns non-zero status) or if the compressed length is 0.
- On branch feature-compression-service-lzma
- Start the server with --use-compression=
- The is no error.
- Restart the server with --use-compression=lzma.
- All rows are visible
- Again, there is no error
- Restart the server with --use-compression=
- Table is corrupted.