Page MenuHomePhabricator

Primary/secondary wiki deployments: Broken actor tables handling in case wikis do not share actor table / login not working
Open, Needs TriagePublicBUG REPORT

Description

List of steps to reproduce (step by step, including full links if applicable):

  • using MediaWiki 1.35 LTS (but looking at the source I guess this exists in master as well)
  • Set up a primary wiki and a secondary wiki with shared user and user_properties tables but SEPARATE actor tables (default for wikis set up before the actor table existed).
  • Create user on secondary wiki.
  • Observe the user getting created in the primary/shared wiki user table, actor getting created in secondary table (as expected).
  • Observe logging in on the secondary wiki works fine.
  • Observe logging in on the primary wiki FAILS - no actor entry gets created in the primary actor table.

Error message: authmanager-authn-autocreate-failed / userexists

I take it this happens because the call to User::newFromName() / the later User.getId() call fails to get the user in the primary wiki since User.load() seems to use the actor table exclusively (instead of actor AND user tables). The actor entry does not exist (yet) in the primary wiki though.

This bug appears to have been introduced by c29909e .

Related to https://phabricator.wikimedia.org/T243276#6620681