Bug #95778 ER_CANNOT_LOCK_USER_MANAGEMENT_CACHES hit more easily for concurrent DCL
Submitted: 13 Jun 2019 3:59 Modified: 17 Jun 2019 5:21
Reporter: dave do Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: DDL Severity:S3 (Non-critical)
Version:8.0.16 OS:Any
Assigned to: CPU Architecture:Any

[13 Jun 2019 3:59] dave do
Description:
compared 8.0.16 to earlier release, such as 8.0.13.

Concurrent DCL operation with about 50 sessions concurrence will very easy to get the error of ER_CANNOT_LOCK_USER_MANAGEMENT_CACHES.

No ERROR on earlier release under the same scenario.

How to repeat:
Cases like this:

create user if not exists 'ALTER_USER_001'@'%' identified by 'Letme+123';

ALTER USER 'ALTER_USER_001'@'%' IDENTIFIED WITH mysql_native_password BY 'Letme+123456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0;

just change username for different cases.

then run them with different session concurrently.

Suggested fix:
Deadlock for ACL_CACHE MDL found more easily on 8.0.16, compared 8.0.13 will fall into MDL wait.
So we need to investigate the deadlock check of ACL_CACHE.
[14 Jun 2019 1:10] dave do
for more information, we find this issue also affect 8.0.15.
so it is introduced from 8.0.15 or 8.0.14.
[17 Jun 2019 5:21] MySQL Verification Team
Hello Dave do,

Thank you for the report.
Imho this is duplicate of Bug #95612, please see Bug #95612

regards,
Umesh