Bug #98377 Contribution by Facebook: Fix innodb-mysql test
Submitted: 25 Jan 2020 16:41 Modified: 20 Jul 2020 7:35
Reporter: FBContrib Admin Email Updates:
Status: Closed Impact on me:
Category:Tests: Server Severity:S3 (Non-critical)
Version:8.0.17 OS:Any
Assigned to: CPU Architecture:Any

[25 Jan 2020 16:41] FBContrib Admin
Background innformation provided by Facebook:
Run analyze table in innodb.innodb_mysql test before running explain select.

Use case:

We see occasional test flakiness during the test:

       # Masking (#) number in "rows" column of the following EXPLAIN output, as it may vary (bug#47746).
       EXPLAIN SELECT DISTINCT t1.name, t1.dept FROM t1 WHERE t1.name='rs5';
       id     select_type     table   partitions      type    possible_keys   key     key_len ref     rows    filtered        Extra
      -1      SIMPLE  t1      NULL    ref     name    name    82      const   #       100.00  Using where; Using index
      +1      SIMPLE  t1      NULL    range   name    name    164     NULL    #       100.00  Using where; Using index for group-by

Adding analyze table to the test before running the explain seems to allow the test to run more consistently.

Repo: https://github.com/mysql/mysql-server

Patch on top of 8.0.17: https://github.com/mysql/mysql-server/commit/4869291f7ee

How to repeat:
See description

Suggested fix:
See contribution code attached
[25 Jan 2020 16:41] FBContrib Admin
Fix innodb-mysql test 
(*) This code is contributed under the Facebook agreement

Contribution: fb_patch_163.txt (text/plain), 1.25 KiB.

[20 Jul 2020 7:35] Erlend Dahl
Fixed in 8.0.21.
[28 Oct 2020 10:40] Amit Bhattacharya
Thank you Facebook for the contribution
[29 Oct 2020 17:27] Paul DuBois
Posted by developer:
Fixed in 8.0.21.

The innodb.innodb_mysql test case was updated to avoid nondeterminism
of output row order. Thanks to Facebook for the contribution.