Details
-
Bug
-
Status: Stalled (View Workflow)
-
Critical
-
Resolution: Unresolved
-
10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL), 10.11, 11.0(EOL), 11.1(EOL), 11.2(EOL)
Description
As noted in MDEV-31558, a covering secondary index read in InnoDB would look up the clustered index record twice and retrieve the matching version. In the test innodb.mvcc_secondary we have a table with 2 versions of 1 row, and the first SELECT statement would construct the old version of the clustered index not once, but twice.
MDEV-20301 replaced row_sel_get_clust_rec_for_mysql() with Row_sel_get_clust_rec_for_mysql::operator(), which adds some caching. It missed an opportunity to remove the call row_sel_sec_rec_is_for_clust_rec() and to perform those checks as part of the loop that invokes row_sel_build_prev_vers_for_mysql().
Attachments
Issue Links
- relates to
-
MDEV-32286 ANALYZE displays a huge number of InnoDB secondary index pages_accessed
-
- Confirmed
-
-
MDEV-17598 InnoDB index option for per-record transaction ID
-
- Open
-
-
MDEV-20301 InnoDB's MVCC has O(N^2) behaviors
-
- Closed
-
-
MDEV-31558 Add InnoDB engine information to the slow query log
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue relates to |
Link | This issue relates to MDEV-17598 [ MDEV-17598 ] |
Link |
This issue relates to |
Status | Open [ 1 ] | Confirmed [ 10101 ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Status | Confirmed [ 10101 ] | In Progress [ 3 ] |
Link | This issue relates to MDEV-32286 [ MDEV-32286 ] |
Fix Version/s | 10.9 [ 26905 ] |
Fix Version/s | 10.10 [ 27530 ] |
Status | In Progress [ 3 ] | Stalled [ 10000 ] |
Fix Version/s | 11.0 [ 28320 ] |
Fix Version/s | 11.1 [ 28549 ] |
Fix Version/s | 11.2(EOL) [ 28603 ] |