Hi Sergei,
Is it possible that someone of mariadb checks what happens when the max_user_connections is exhausted, because to me it looks like further requests are handled as being 'max_connections' which defeats the purpose of max_user_connections
No, further requests are rejected with an error:
https://github.com/MariaDB/server/blob/10.5/mysql- test/main/user_limits.result#L92
Say we have db usera, userb, userc all on the same clienthost ip. I suspect that if usera exhausts its max_user_connections, continued requests are not being counted any more under usera but under clienthost. At some point max_connections will be reached resulting in userb and userc failure. (It looks like this is what I am experiencing currenlty) This can be mitigated by not counting these failed connections of usera to the global max_connections (or closing them more quickly?). This way you will probably safeguard the operation of userb and userc from the same clienthost ip.
Unless the connecting user has the CONNECTION ADMIN privilege: https://mariadb.com/kb/en/grant/#connection-admin
These are mostly read only users. I check with 'SHOW GRANTS for ' and only get 'GRANT USAGE ON' and 'GRANT SELECT ON'