From f37fff5a0d77c2b00931b7fb5597be8a9c3d2913 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Thu, 10 Jul 2014 11:22:03 -0700 Subject: [PATCH] Defer addAutopromoteOnceGroups to transaction idle * Extension callbacks in that method can be slow and show up in dbperformance.log sometimes. Change-Id: Idc30c29826e18c4e3287b06d4ce7bae72602e0ea --- includes/page/WikiPage.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index 7c412ea660..2ff72fd857 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -2047,7 +2047,9 @@ class WikiPage implements Page, IDBAccessObject { wfRunHooks( 'PageContentSaveComplete', $hook_args ); // Promote user to any groups they meet the criteria for - $user->addAutopromoteOnceGroups( 'onEdit' ); + $dbw->onTransactionIdle( function() use ( $user ) { + $user->addAutopromoteOnceGroups( 'onEdit' ); + } ); wfProfileOut( __METHOD__ ); return $status; -- 2.20.1