Page MenuHomePhabricator

User unable to merge accounts
Closed, DuplicatePublic

Description

As reported at https://meta.wikimedia.org/wiki/Meta:Babel#Weird_rename_request_issue, User:Fluoresce98 appears to be unable to merge their accounts via Special:MergeAccount — they pasted the output of attempting a merge, which appears to have completed successfully, giving The accounts with username "Fluoresce98" on each of the following pages has been automatically merged in one single account and listing:

be.wikipedia.org
bxr.wikipedia.org
commons.wikimedia.org
da.wikipedia.org
de.wikipedia.org
en.wikipedia.org
en.wikibooks.org
en.wikinews.org
en.wikiquote.org
en.wikisource.org
en.wikiversity.org
en.wikivoyage.org
en.wiktionary.org
es.wikipedia.org
fr.wikipedia.org
incubator.wikimedia.org
login.wikimedia.org
www.mediawiki.org
meta.wikimedia.org
nl.wikipedia.org
nn.wikipedia.org
no.wikipedia.org
no.wikibooks.org
no.wikiquote.org
no.wiktionary.org
pl.wikipedia.org
simple.wikipedia.org
species.wikimedia.org
sr.wikipedia.org
sv.wikipedia.org
sv.wiktionary.org
www.wikidata.org

Yet for example, https://meta.wikimedia.org/wiki/Special:CentralAuth/Fluoresce98 shows their no.wiktionary.org account as not attached..

Logstash doesn't seem to show any glaringly obvious errors, though I don't really know what to look for here..

Event Timeline

The accounts appear to be attached, but for some reason lu_attached_method is null for some. The timestamp of those is consistent with a local account being attached using the 'admin' method.

The timestamp matches https://sal.toolforge.org/log/AWMIr1QGBEfgIt1jl953.

MariaDB [centralauth_p]> select * from localuser where lu_name='Fluoresce98';
+---------------+-------------+-----------------------+--------------------+-------------+--------------+
| lu_wiki       | lu_name     | lu_attached_timestamp | lu_attached_method | lu_local_id | lu_global_id |
+---------------+-------------+-----------------------+--------------------+-------------+--------------+
| bewiki        | Fluoresce98 | 20220512163720        | login              |      118388 |     38505900 |
| bxrwiki       | Fluoresce98 | 20220512163718        | login              |       13612 |     38505900 |
| commonswiki   | Fluoresce98 | 20150829192837        | login              |     5172144 |     38505900 |
| dawiki        | Fluoresce98 | 20150902080903        | login              |      248814 |     38505900 |
| dewiki        | Fluoresce98 | 20170206194530        | login              |     2590107 |     38505900 |
| enwiki        | Fluoresce98 | 20150829184622        | login              |    26126390 |     38505900 |
| enwikibooks   | Fluoresce98 | 20150829192837        | login              |     2621641 |     38505900 |
| enwikinews    | Fluoresce98 | 20150829192838        | login              |     2365908 |     38505900 |
| enwikiquote   | Fluoresce98 | 20150829192837        | login              |     2486756 |     38505900 |
| enwikisource  | Fluoresce98 | 20150829192837        | login              |     2398543 |     38505900 |
| enwikiversity | Fluoresce98 | 20150829192837        | login              |     2412088 |     38505900 |
| enwikivoyage  | Fluoresce98 | 20150829192837        | login              |     1806219 |     38505900 |
| enwiktionary  | Fluoresce98 | 20150829192837        | login              |     2773690 |     38505900 |
| eswiki        | Fluoresce98 | 20160627162125        | login              |     4273065 |     38505900 |
| frwiki        | Fluoresce98 | 20160721215925        | login              |     2576325 |     38505900 |
| incubatorwiki | Fluoresce98 | 20150829192837        | login              |     2128863 |     38505900 |
| loginwiki     | Fluoresce98 | 20150411172520        | login              |     8365777 |     38505900 |
| mediawikiwiki | Fluoresce98 | 20150829192837        | login              |     3131380 |     38505900 |
| metawiki      | Fluoresce98 | 20180427195221        | admin              |     8969827 |     38505900 |
| nlwiki        | Fluoresce98 | 20180427195248        | NULL               |      876274 |     38505900 |
| nnwiki        | Fluoresce98 | 20180427195303        | NULL               |       66744 |     38505900 |
| nowiki        | Fluoresce98 | 20180427195329        | NULL               |      325793 |     38505900 |
| nowikibooks   | Fluoresce98 | 20190919115432        | login              |        4607 |     38505900 |
| nowikiquote   | Fluoresce98 | 20180427195344        | NULL               |        4083 |     38505900 |
| nowiktionary  | Fluoresce98 | 20180427195352        | NULL               |        7489 |     38505900 |
| plwiki        | Fluoresce98 | 20190330135200        | login              |      957666 |     38505900 |
| simplewiki    | Fluoresce98 | 20180501100734        | login              |      715467 |     38505900 |
| specieswiki   | Fluoresce98 | 20180427195415        | NULL               |     2395213 |     38505900 |
| srwiki        | Fluoresce98 | 20180427195430        | NULL               |      208184 |     38505900 |
| svwiki        | Fluoresce98 | 20180427195458        | NULL               |      504788 |     38505900 |
| svwiktionary  | Fluoresce98 | 20180427195517        | NULL               |       31869 |     38505900 |
| wikidatawiki  | Fluoresce98 | 20180427195538        | NULL               |     2267241 |     38505900 |
+---------------+-------------+-----------------------+--------------------+-------------+--------------+
32 rows in set (0.016 sec)

MariaDB [centralauth_p]>
taavi subscribed.

This seems to be a display bug with Special:CentralAuth: we have some 'corrupted' localuser rows for this specific account that look otherwise good but have lu_attached_method set as NULL. SpecialCentralAuth uses the centralauth-admin-unattached message as a placeholder for missing data.

I don't think this needs to block the account renaming, manual debugging on production confirms that CentralAuthUser::listAttached() includes those accounts so they shouldn't cause issues during the rename. (This is also why using Special:MergeAccount did nothing.)

There are a total of 520 localuser rows that are corrupted in a similar way, all of them several years old meaning we won't have any meaningful logs to try to figure out what created them. The couple that I spot-checked had enough matching data that makes me confident that they belong to the same person holding the CA main account and not someone squatting the global name.

This seems to be an occurrence of T188882 or at least related.

In T308388#7929110, @Majavah wrote:

I don't think this needs to block the account renaming, manual debugging on production confirms that CentralAuthUser::listAttached() includes those accounts so they shouldn't cause issues during the rename. (This is also why using Special:MergeAccount did nothing.)

@Majavah to confirm, I am okay to attempt to process this rename?

In T308388#7929110, @Majavah wrote:

I don't think this needs to block the account renaming, manual debugging on production confirms that CentralAuthUser::listAttached() includes those accounts so they shouldn't cause issues during the rename. (This is also why using Special:MergeAccount did nothing.)

@Majavah to confirm, I am okay to attempt to process this rename?

Yes.

In T308388#7929150, @Majavah wrote:

Yes.

Thanks 🙂 have done the rename, and its in progress now — watching logstash for anything obvious..

Rename is complete, didn't see any errors 🎉
As expected, https://meta.wikimedia.org/wiki/Special:CentralAuth/Fluorest shows the same "unattached" accounts.

Out of curiosity, would

UPDATE localuser
SET lu_attached_method = 'login'
WHERE lu_name = 'Fluorest'
AND lu_attached_method IS NULL;

work?

Rename is complete, didn't see any errors 🎉
As expected, https://meta.wikimedia.org/wiki/Special:CentralAuth/Fluorest shows the same "unattached" accounts.

Out of curiosity, would

UPDATE localuser
SET lu_attached_method = 'login'
WHERE lu_name = 'Fluorest'
AND lu_attached_method IS NULL;

work?

I would rather set the attachment method to 'admin' since the local accounts got manually reattached using the fixStuckGlobalRename.php script.