Use newer transaction methods in BatchRowWriter
authorAaron Schulz <aschulz@wikimedia.org>
Mon, 22 Aug 2016 03:03:17 +0000 (20:03 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Mon, 22 Aug 2016 03:03:17 +0000 (20:03 -0700)
Change-Id: I9f8c2576f511419e77e9b6f10c96a43e5d69704e

includes/utils/BatchRowWriter.php

index ffb7053..a6e47c8 100644 (file)
@@ -20,6 +20,8 @@
  * @file
  * @ingroup Maintenance
  */
+use \MediaWiki\MediaWikiServices;
+
 class BatchRowWriter {
        /**
         * @var IDatabase $db The database to write to
@@ -54,7 +56,8 @@ class BatchRowWriter {
         *  names to update values to apply to the row.
         */
        public function write( array $updates ) {
-               $this->db->begin();
+               $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
+               $ticket = $lbFactory->getEmptyTransactionTicket( __METHOD__ );
 
                foreach ( $updates as $update ) {
                        $this->db->update(
@@ -65,7 +68,6 @@ class BatchRowWriter {
                        );
                }
 
-               $this->db->commit();
-               wfGetLBFactory()->waitForReplication();
+               $lbFactory->commitAndWaitForReplication( __METHOD__, $ticket );
        }
 }