Bug #116373 auth_sec.acl_tables_row_locking failing with result diff
Submitted: 16 Oct 12:26 Modified: 17 Oct 12:05
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Tests Severity:S7 (Test Cases)
Version:8.0.40, 8.4.3, 9.1.0 OS:MacOS (15.0.1)
Assigned to: CPU Architecture:ARM

[16 Oct 12:26] Laurynas Biveinis
Description:
./mtr auth_sec.acl_tables_row_locking
...
[ 50%] auth_sec.acl_tables_row_locking           [ fail ]
        Test ended at 2024-10-16 15:23:39

CURRENT_TEST: auth_sec.acl_tables_row_locking
--- /Users/laurynas/vilniusdb/mysql-8.0.40/mysql-test/suite/auth_sec/r/acl_tables_row_locking.result	2024-10-15 13:25:05
+++ /Users/laurynas/vilniusdb/mysql-8.0.40/_build-debug/mysql-test/var/log/acl_tables_row_locking.reject	2024-10-16 15:23:38
@@ -2826,8 +2826,8 @@
 WHERE LOCK_TYPE='RECORD' AND
 (LOCATE('u2',LOCK_DATA)>0 OR LOCATE('u2x',LOCK_DATA)>0);
 tab	INDEX_NAME	LOCK_MODE	Has_lock
-mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 mysql.user	PRIMARY	X,GAP	Acquired row lock on u2/u2x
+mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 # Make sure that we do not allow updating ACL table.
 INSERT INTO mysql.user SELECT * FROM user_bk;
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction
@@ -2925,8 +2925,8 @@
 WHERE LOCK_TYPE='RECORD' AND
 (LOCATE('u2',LOCK_DATA)>0 OR LOCATE('u2x',LOCK_DATA)>0);
 tab	INDEX_NAME	LOCK_MODE	Has_lock
-mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 mysql.user	PRIMARY	X,GAP	Acquired row lock on u2/u2x
+mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 # Make sure that we do not allow updating ACL tables.
 REPLACE INTO mysql.user SELECT * FROM user_bk;
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction
@@ -3082,8 +3082,8 @@
 WHERE LOCK_TYPE='RECORD' AND
 (LOCATE('u2',LOCK_DATA)>0 OR LOCATE('u2x',LOCK_DATA)>0);
 tab	INDEX_NAME	LOCK_MODE	Has_lock
-mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 mysql.user	PRIMARY	X,GAP	Acquired row lock on u2/u2x
+mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 # Make sure that we do not allow updating ACL table.
 INSERT INTO mysql.user SELECT * FROM user_bk;
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction
@@ -3427,8 +3427,8 @@
 WHERE LOCK_TYPE='RECORD' AND
 (LOCATE('u2',LOCK_DATA)>0 OR LOCATE('u2x',LOCK_DATA)>0);
 tab	INDEX_NAME	LOCK_MODE	Has_lock
-mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 mysql.user	PRIMARY	X,GAP	Acquired row lock on u2/u2x
+mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 # Make sure that we do not allow updating ACL table.
 INSERT INTO mysql.user SELECT * FROM user_bk;
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction
@@ -3518,8 +3518,8 @@
 WHERE LOCK_TYPE='RECORD' AND
 (LOCATE('u2',LOCK_DATA)>0 OR LOCATE('u2x',LOCK_DATA)>0);
 tab	INDEX_NAME	LOCK_MODE	Has_lock
-mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 mysql.user	PRIMARY	X,GAP	Acquired row lock on u2/u2x
+mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 # Make sure that we do not allow updating ACL tables.
 REPLACE INTO mysql.user SELECT * FROM user_bk;
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction
@@ -3661,8 +3661,8 @@
 WHERE LOCK_TYPE='RECORD' AND
 (LOCATE('u2',LOCK_DATA)>0 OR LOCATE('u2x',LOCK_DATA)>0);
 tab	INDEX_NAME	LOCK_MODE	Has_lock
-mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 mysql.user	PRIMARY	X,GAP	Acquired row lock on u2/u2x
+mysql.user	PRIMARY	X	Acquired row lock on u2/u2x
 # Make sure that we do not allow updating ACL table.
 INSERT INTO mysql.user SELECT * FROM user_bk;
 ERROR HY000: Lock wait timeout exceeded; try restarting transaction

mysqltest: Result content mismatch

How to repeat:
Debug build

Suggested fix:
Add ORDER BY and re-record?
[16 Oct 13:28] Laurynas Biveinis
Same on 8.4.3
[16 Oct 15:23] MySQL Verification Team
Hello Laurynas,

Thank you for the report and feedback!

regards,
Umesh
[17 Oct 12:05] Laurynas Biveinis
Same on 9.1.0