New description on 2017-09-05
Later investigation unveiled that in fact it is MediaWiki that does not update user_groups table with regards to users with temporary permissions until a new promotion or demotion on that wiki happens again. It'd be nice to have a script that could purge from time to time those rows (Patch-For-Review submitted).
Old description
(change visibility) 01:39, 20 July 2017 Matiia (talk | contribs | block) changed group membership for Matiia@astwiki from (none) to CheckUser (temporary, until 01:40, 20 July 2017) (per request)
That was a one-minute temporary permission on astwiki. It seems it expired as no entry on Special:ListUsers there shows any user in the 'checkuser' group, but when I was doing T176578 I noticed that the tool was not giving bad results, but that the database has the wrong data:
MariaDB [astwiki_p]> select count(*) from user_groups where ug_group = "checkuser"; +----------+ | count(*) | +----------+ | 1 | +----------+ 1 row in set (0.01 sec) MariaDB [astwiki_p]> select ug_user from user_groups where ug_group = "checkuser"; +---------+ | ug_user | +---------+ | 26774 | +---------+ 1 row in set (0.01 sec)
So I approached @Marostegui if he could check the live production tables and the results, which can be viewed at P6043 shows the same.
As such, it seems temporary userrights does not clean up on very short temporary userrights. We were told that this could take some minutes but this has been sitting there for more than a month. Other projects are also affected.
The system does, however, recognize the right expiry:
MariaDB [astwiki_p]> select * from user_groups where ug_group = "checkuser"; +---------+-----------+----------------+ | ug_user | ug_group | ug_expiry | +---------+-----------+----------------+ | 26774 | checkuser | 20170720014010 | +---------+-----------+----------------+ 1 row in set (0.00 sec)