Description:
Execute some acl statements to a no quorum cluster in group replication make login process stuck for all new connections.
1. Group Replication member without the acknowledges of other quorums, will block and wait transaction to commit when execute acl statements like "CREATE USER ...".
2. During this waiting time, an acl-cache write lock is acquiring for "CREATE USER ..." statement and could not release for a long time unless commit finishes.
3. When new connection comes later, the server try to acquire acl-cahce lock to make identity authentication.
4. Because Group Communication Service do not release acl-cache write lock for a long time, loggin process stucks.
---
I alse try to find some familiar situations, one of the most similar is bug #330252231: SHELL HANGS FOR 2H IN ADDINSTANCE() (GR+CLONE). add instance process hangs for acl-cache lock because of executing acl statements when a new member adds.
However, it has been solved since MySQL8.0.27.
If there is any thing about this bug, i would be glad listen and hear about.
How to repeat:
the description above can be repeated in the newest MySQL8.0 version by the fllowing steps:
1. Deploy a group replication with 3 members.
2. Kill any two of them(in case of network disconnection), the only member will log like:'This server is not able to reach a majority of members in the group. This server will now block all updates. The server will remain blocked until contact with the majority is restored. It is possible to use group_replication_force_members to force a new group membership.'
3. Execute "CREATE USER 'test'@'localhost' identified by 'uikK12*123...';" statement to the final member.
4. Start to login in the final member with a new connection, then you will find login process stucks.