Bug #119376 Some upstream tests fail against amd64v3 architecture variant
Submitted: 12 Nov 15:53 Modified: 27 Nov 9:01
Reporter: Lena Voytek Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Tests Severity:S7 (Test Cases)
Version:8.4.7 OS:Ubuntu (Ubuntu devel release 26.04)
Assigned to: CPU Architecture:x86 (amd64v3)

[12 Nov 15:53] Lena Voytek
Description:
Hello,

With the recent addition of the amd64v3 architecture variant in Ubuntu, running the MySQL test suite for MySQL 8.4.7 fails with a small cost difference in a couple tests. They are main.subquery_sj_all_bka_nobnl and main.subquery_sj_mat_bka_nobnl.

The failure shows the following for both:

 FROM ot1 LEFT JOIN ot2 ON ot1.a=ot2.a AND ot1.a IN (SELECT a FROM it3)
 LEFT JOIN ot3 ON ot2.a=ot3.a AND ot3.a IN (SELECT a FROM it3);
 EXPLAIN
--> Nested loop left join (cost=48.2 rows=288)
+-> Nested loop left join (cost=48.3 rows=288)
...
mysqltest: Result content mismatch

I created a bug in Ubuntu for it and for now I have fixed it by skipping the tests on the amd64v3 architecture variant - https://bugs.launchpad.net/ubuntu/+source/mysql-8.4/+bug/2130339

The log from the original build that encounters the failure can be found here - https://launchpadlibrarian.net/828002466/buildlog_ubuntu-resolute-amd64v3.mysql-8.4_8.4.7-...

Thanks!

How to repeat:
Run the mysql upstream test suite against a copy of mysql 8.4 building against amd64v3.

Suggested fix:
The test just fails due to a slight change in cost, so it may just be worth updating the test to note this. Otherwise it may be worth looking into how the algorithm runs on this specific variant and why it has a slightly higher noted cost.
[27 Nov 9:01] Knut Anders Hatlen
Thanks for the bug report!

I can verify that the test fails on the mysql-8.0 and mysql-8.4 branches when compiled with the -mfma flag (which is implied when compiling for the x86-64-v3 architecture). (It does not fail on 9.x, because the test was changed to ignore the cost of this statement in WL#16107.)