From 36dfd18409e414f4df2aef016753a8cb637b6bac Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Fri, 9 Feb 2018 11:28:59 -0800 Subject: [PATCH] Avoid pointless DB_MASTER connections in User::clearSharedCache() Change-Id: Ifc4f489cea4460185cb2d8317f174cabd67f5862 --- includes/user/User.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/includes/user/User.php b/includes/user/User.php index 97035c2dab..eeade49db6 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -2509,12 +2509,17 @@ class User implements IDBAccessObject, UserIdentity { if ( $mode === 'refresh' ) { $cache->delete( $key, 1 ); } else { - wfGetDB( DB_MASTER )->onTransactionPreCommitOrIdle( - function () use ( $cache, $key ) { - $cache->delete( $key ); - }, - __METHOD__ - ); + $lb = MediaWikiServices::getInstance()->getDBLoadBalancer(); + if ( $lb->hasOrMadeRecentMasterChanges() ) { + $lb->getConnection( DB_MASTER )->onTransactionPreCommitOrIdle( + function () use ( $cache, $key ) { + $cache->delete( $key ); + }, + __METHOD__ + ); + } else { + $cache->delete( $key ); + } } } -- 2.20.1