You are browsing a read-only backup copy of Wikitech. The primary site can be found at wikitech.wikimedia.org

Stuck global renames: Difference between revisions

From Wikitech-static
Jump to navigation Jump to search
imported>Gergő Tisza
(anything important should bubble up to the shell)
imported>Thcipriani
m (Use single quotes for bash)
Line 10: Line 10:
**: <source lang="bash" inline>mwscript showJobs.php --wiki=<...> --type RenameUserJob</source>
**: <source lang="bash" inline>mwscript showJobs.php --wiki=<...> --type RenameUserJob</source>
** Run <tt>[[phab:/diffusion/ECAU/browse/master/maintenance/fixStuckGlobalRename.php|fixStuckGlobalRename.php]]</tt> maintenance script to requeue the job:
** Run <tt>[[phab:/diffusion/ECAU/browse/master/maintenance/fixStuckGlobalRename.php|fixStuckGlobalRename.php]]</tt> maintenance script to requeue the job:
**:<source lang="bash" inline>mwscript extensions/CentralAuth/maintenance/fixStuckGlobalRename.php --wiki=<...> --logwiki=metawiki "<old username>" "<new username>"</source>
**:<source lang="bash" inline>mwscript extensions/CentralAuth/maintenance/fixStuckGlobalRename.php --wiki=<...> --logwiki=metawiki '<old username>' '<new username>'</source>
*** <code>wiki</code>: the database name of the wiki where the rename job has become stuck, e.g. <code>ptwiki</code>. If it is stuck on multiple wikis, use the one that comes first alphabetically.
*** <code>wiki</code>: the database name of the wiki where the rename job has become stuck, e.g. <code>ptwiki</code>. If it is stuck on multiple wikis, use the one that comes first alphabetically.
*** <code>logwiki</code>: the database name of the wiki where the global rename was started. This will always be <code>metawiki</code>.
*** <code>logwiki</code>: the database name of the wiki where the global rename was started. This will always be <code>metawiki</code>.
*** <code>--ignorestatus</code> is a parameter that can be added to fix a global rename that's stuck in <code>running</code> state even though the job is not actually running. (This used to happen a lot due to fragile error handling; shouldn't happen anymore. Use with care; could make a mess if the job really is running.)
*** <code>--ignorestatus</code> is a parameter that can be added to fix a global rename that's stuck in <code>running</code> state even though the job is not actually running. (This used to happen a lot due to fragile error handling; shouldn't happen anymore. Use with care; could make a mess if the job really is running.)
** Log in the [[Server Admin Log|production SAL]] that you've run the script, by issuing an IRC command in <code>#wikimedia-operations</code> such as:
** Log in the [[Server Admin Log|production SAL]] that you've run the script, by issuing an IRC command in <code>#wikimedia-operations</code> such as:
**: <code>!log T12345 Ran mwscript extensions/CentralAuth/maintenance/fixStuckGlobalRename.php --wiki=ptwiki --logwiki=metawiki "OldName" "NewName"</code>
**: <code>!log T12345 Ran mwscript extensions/CentralAuth/maintenance/fixStuckGlobalRename.php --wiki=ptwiki --logwiki=metawiki 'OldName' 'NewName'</code>
* In case of doubt, ask the [[mw:Developers/Maintainers|maintainers]] of Renameuser or CentralAuth.
* In case of doubt, ask the [[mw:Developers/Maintainers|maintainers]] of Renameuser or CentralAuth.


[[Category:How-To|{{PAGENAME}}]]
[[Category:How-To|{{PAGENAME}}]]

Revision as of 00:18, 28 February 2018

Recovering a "locked" account

Sometimes you'll find that a rename becomes stuck at a project (see for example phab:T137973). In that case, please follow these instructions:

  • Wait at least 3 hours since the rename started. The system will automatically retry failed renames a few times.
  • Please open a task in Phabricator (direct link with title and projects already added). In there please post a link to the Special:GlobalRenameProgress link to the account whose rename has become stuck and mention the old and new name.
  • A developer with production shell access should:
    • Check for errors in Logstash before continuing. Searching/grepping for "Rename" or the old and new username (if it is sufficiently unique) in the log channels exception, CentralAuthRename and Renameuser should catch most things. If the error suggests global renaming itself is broken, that should be fixed first.
    • Verify that no rename jobs are running on the affected wiki (the one showing up as failed in the GlobalRenameProgress page):
      mwscript showJobs.php --wiki=<...> --type LocalRenameUserJob
      mwscript showJobs.php --wiki=<...> --type RenameUserJob
    • Run fixStuckGlobalRename.php maintenance script to requeue the job:
      mwscript extensions/CentralAuth/maintenance/fixStuckGlobalRename.php --wiki=<...> --logwiki=metawiki '<old username>' '<new username>'
      • wiki: the database name of the wiki where the rename job has become stuck, e.g. ptwiki. If it is stuck on multiple wikis, use the one that comes first alphabetically.
      • logwiki: the database name of the wiki where the global rename was started. This will always be metawiki.
      • --ignorestatus is a parameter that can be added to fix a global rename that's stuck in running state even though the job is not actually running. (This used to happen a lot due to fragile error handling; shouldn't happen anymore. Use with care; could make a mess if the job really is running.)
    • Log in the production SAL that you've run the script, by issuing an IRC command in #wikimedia-operations such as:
      !log T12345 Ran mwscript extensions/CentralAuth/maintenance/fixStuckGlobalRename.php --wiki=ptwiki --logwiki=metawiki 'OldName' 'NewName'
  • In case of doubt, ask the maintainers of Renameuser or CentralAuth.