- $pwhash = $this->getPasswordFactory()->newFromPlaintext( $req->password );
- $dbw->update(
- 'user',
- [ 'user_password' => $pwhash->toString() ],
- [ 'user_id' => $row->user_id ],
- __METHOD__
- );
+ $newHash = $this->getPasswordFactory()->newFromPlaintext( $req->password );
+ \DeferredUpdates::addCallableUpdate( function () use ( $newHash, $oldRow ) {
+ $dbw = wfGetDB( DB_MASTER );
+ $dbw->update(
+ 'user',
+ [ 'user_password' => $newHash->toString() ],
+ [
+ 'user_id' => $oldRow->user_id,
+ 'user_password' => $oldRow->user_password
+ ],
+ __METHOD__
+ );
+ } );