Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.4.3, 10.5.0
Description
The recently added test innodb.innodb_wl6326 hangs in 10.4, because a query
SELECT a00,a01 FROM t1 WHERE a00 = 'cp'; |
causes ha_innobase::records_in_range() to be called with min_key=NULL. No secondary indexes have been defined on the table; only PRIMARY KEY(a00,a01,a02,a03,a04,a05,a06).
That section of the test is demonstrating that only some pages of the table are supposed to be latched.
The hang is caused by ‘too broad’ ha_innobase::records_in_range() calls. Those calls were introduced by an early commit of MDEV-16188. With the parent of that commit, the following test will not hang:
git checkout bc43bf3e430c20bc2178e584215bd443054709d6 mysql-test/suite/innodb/t/innodb_wl6326.*
|
(cd path/to/build/mysql-test; ./mtr innodb.innodb_wl6326)
|
I would expect the too broad ha_innobase::records_in_range() calls to cause a performance regression, especially if they are being invoked for each and every query. InnoDB will not cache the results of that call in any way.
Attachments
Issue Links
- is caused by
-
MDEV-16188 Use in-memory PK filters built from range index scans
- Closed
- relates to
-
MDEV-22242 B-trees can become extremely skewed
- Closed
-
MDEV-26389 (records_in_range) Query plan regression after upgrading from 10.3 to 10.5
- Open