objectcache: avoid duplicate set() calls with lockTSE when no value is in cache
Each thread will still run the callback, but only one will save the value back Bug: T203786 Change-Id: Idc4738aa005cc44ec0f1adc6dcf2e3f87d0c9480
This commit is contained in:
parent
47838dfd6d
commit
70bf85d462
1 changed files with 2 additions and 1 deletions
|
|
@ -1334,7 +1334,8 @@ class WANObjectCache implements IExpiringStore, LoggerAwareInterface {
|
|||
$this->setInterimValue( $key, $wrapped, $tempTTL );
|
||||
}
|
||||
|
||||
if ( $valueIsCacheable ) {
|
||||
// Save the value unless a mutex-winning thread is already expected to do that
|
||||
if ( $valueIsCacheable && ( !$useMutex || $lockAcquired ) ) {
|
||||
$setOpts['lockTSE'] = $lockTSE;
|
||||
$setOpts['staleTTL'] = $staleTTL;
|
||||
// Use best known "since" timestamp if not provided
|
||||
|
|
|
|||
Loading…
Reference in a new issue