From: Brad Jorsch Date: Fri, 23 Feb 2018 18:24:47 +0000 (-0500) Subject: Have User::createNew() load the object from master X-Git-Tag: 1.31.0-rc.0~515 X-Git-Url: https://git.cyclocoop.org/admin/%7B%24plugin.url%7Cescape%7D?a=commitdiff_plain;h=61b0c1930626a1088f012bf582262330f903f74a;p=lhc%2Fweb%2Fwiklou.git 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 --- 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 );