From 61b0c1930626a1088f012bf582262330f903f74a Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Fri, 23 Feb 2018 13:24:47 -0500 Subject: [PATCH] Have User::createNew() load the object from master When the new User is created, it's leaving it to be lazy-loaded from a replica. That seems to be causing attempts to add groups immediately after creation to fail because the load-from-replica doesn't find the just-created master row. Bug: T188014 Change-Id: I841c434086bfaaca1cf1ce23673f32dc5a77915d --- includes/user/User.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/includes/user/User.php b/includes/user/User.php index 869adca44b..c614111a84 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -4350,6 +4350,8 @@ class User implements IDBAccessObject, UserIdentity { $dbw->insert( 'user', $fields, $fname, [ 'IGNORE' ] ); if ( $dbw->affectedRows() ) { $newUser = self::newFromId( $dbw->insertId() ); + // Load the user from master to avoid replica lag + $newUser->load( self::READ_LATEST ); $newUser->mName = $fields['user_name']; $newUser->setItemLoaded( 'name' ); $newUser->updateActorId( $dbw ); -- 2.20.1