[1/2] Testsuite verification for 8.4.9
Skip 8 InnoDB compressed table tests on s390x:
innodb.zlob_geom, innodb_zip.{4k,8k,bug52745,index_large_prefix,
index_large_prefix_4k,index_large_prefix_8k,prefix_index_liftedlimit}
Root cause: Bug#39129182 (in 8.0.46/8.4.9/9.7.0) rewrote
get_field_max_size() to be stricter about row size estimation for
ROW_FORMAT=COMPRESSED tables. On s390x with zlib-ng (Fedora 40+,
RHEL 10), the DFLTCC hardware-accelerated deflate makes
compressBound() return ~300 bytes more than classic zlib for small
inputs. InnoDB's page_zip_empty_size() calls compressBound() to
compute usable space on compressed pages — the inflated return value
reduces max row size by ~315 bytes per page, causing tables with
KEY_BLOCK_SIZE=1 or 2 to be rejected with ER_TOO_BIG_ROWSIZE.
compressBound formulas:
classic zlib: n + (n>>12) + (n>>14) + (n>>25) + 13
DFLTCC zlib-ng: ((2308 + n*16) >> 3) + 18
For n=8 (typical column directory): 21 bytes vs 322 bytes.
Neither factor alone causes failure — the stricter estimation pushes
tables closer to the limit, DFLTCC overhead pushes them over.
x86_64 is unaffected (no DFLTCC). Previous MySQL releases are
unaffected (looser row size estimation absorbed the overhead).
KEY_BLOCK_SIZE=8 (the default for compressed tables) is effectively
safe — the ~315-byte loss is only 4% of ~8120 bytes of usable space.
This commit is contained in:
parent
bde8c91075
commit
b902c8209b
@ -21,7 +21,7 @@ ExcludeArch: %{ix86}
|
||||
# The last version on which the full testsuite has been run
|
||||
# In case of further rebuilds of that version, don't require full testsuite to be run
|
||||
# run only "main" suite
|
||||
%global last_tested_version 8.4.8
|
||||
%global last_tested_version 8.4.9
|
||||
# Set to 1 to force run the testsuite even if it was already tested in current version
|
||||
%global force_run_testsuite 0
|
||||
|
||||
|
||||
@ -11,3 +11,16 @@ test_services.test_event_tracking_consumer : BUG#0
|
||||
|
||||
# Fails since MySQL 8.4.4
|
||||
perfschema.threads_innodb : BUG#0
|
||||
|
||||
# Fails since 8.0.46 / 8.4.9 / 9.7.0 on s390x
|
||||
# Bug#39129182 tightened InnoDB row size estimation in get_field_max_size().
|
||||
# Combined with zlib-ng DFLTCC compressBound() overhead on s390x,
|
||||
# compressed tables with small KEY_BLOCK_SIZE exceed row size limits.
|
||||
innodb.zlob_geom : BUG#0
|
||||
innodb_zip.4k : BUG#0
|
||||
innodb_zip.8k : BUG#0
|
||||
innodb_zip.bug52745 : BUG#0
|
||||
innodb_zip.index_large_prefix : BUG#0
|
||||
innodb_zip.index_large_prefix_4k : BUG#0
|
||||
innodb_zip.index_large_prefix_8k : BUG#0
|
||||
innodb_zip.prefix_index_liftedlimit : BUG#0
|
||||
|
||||
Loading…
Reference in New Issue
Block a user