From: Aaron Schulz Date: Thu, 22 Aug 2019 04:10:35 +0000 (-0700) Subject: objectcache: move lag waiting to SqlBagOStuff::doCas() instead of overriding merge() X-Git-Tag: 1.34.0-rc.0~615^2 X-Git-Url: http://git.cyclocoop.org/%27http:/code.google.com/p/ie7-js/Three?a=commitdiff_plain;h=cdc0565705f73bfe28888cee13d01f851d5ecf55;p=lhc%2Fweb%2Fwiklou.git objectcache: move lag waiting to SqlBagOStuff::doCas() instead of overriding merge() Change-Id: I61b49bc7b00ffa8308d93e76f4bb94cf09ba9936 --- 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 ),