From cdc0565705f73bfe28888cee13d01f851d5ecf55 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Wed, 21 Aug 2019 21:10:35 -0700 Subject: [PATCH] objectcache: move lag waiting to SqlBagOStuff::doCas() instead of overriding merge() Change-Id: I61b49bc7b00ffa8308d93e76f4bb94cf09ba9936 --- includes/objectcache/SqlBagOStuff.php | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/includes/objectcache/SqlBagOStuff.php b/includes/objectcache/SqlBagOStuff.php index 84051e0ba4..ae0912e7a3 100644 --- a/includes/objectcache/SqlBagOStuff.php +++ b/includes/objectcache/SqlBagOStuff.php @@ -504,7 +504,12 @@ class SqlBagOStuff extends MediumSpecificBagOStuff { return false; } - return (bool)$db->affectedRows(); + $success = (bool)$db->affectedRows(); + if ( $this->fieldHasFlags( $flags, self::WRITE_SYNC ) ) { + $success = $this->waitForReplication() && $success; + } + + return $success; } protected function doDeleteMulti( array $keys, $flags = 0 ) { @@ -554,15 +559,6 @@ class SqlBagOStuff extends MediumSpecificBagOStuff { return $newCount; } - public function merge( $key, callable $callback, $exptime = 0, $attempts = 10, $flags = 0 ) { - $ok = $this->mergeViaCas( $key, $callback, $exptime, $attempts, $flags ); - if ( $this->fieldHasFlags( $flags, self::WRITE_SYNC ) ) { - $ok = $this->waitForReplication() && $ok; - } - - return $ok; - } - public function changeTTLMulti( array $keys, $exptime, $flags = 0 ) { return $this->modifyMulti( array_fill_keys( $keys, null ), -- 2.20.1