Merge "Log huge write queries in CLI scripts"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 8 Apr 2015 18:44:45 +0000 (18:44 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 8 Apr 2015 18:44:45 +0000 (18:44 +0000)
maintenance/Maintenance.php

index a0ffcb2..a8dbd5f 100644 (file)
@@ -38,6 +38,8 @@ define( 'DO_MAINTENANCE', RUN_MAINTENANCE_IF_MAIN ); // original name, harmless
 
 $maintClass = false;
 
+use MediaWiki\Logger\LoggerFactory;
+
 /**
  * Abstract maintenance class for quickly writing and churning out
  * maintenance scripts with minimal effort. All that _must_ be defined
@@ -612,6 +614,11 @@ abstract class Maintenance {
                        $profiler->setTemplated( true );
                        Profiler::replaceStubInstance( $profiler );
                }
+
+               $trxProfiler = Profiler::instance()->getTransactionProfiler();
+               $trxProfiler->setLogger( LoggerFactory::getInstance( 'DBPerformance' ) );
+               # Catch huge single updates that lead to slave lag
+               $trxProfiler->setExpectation( 'maxAffected', 1000, __METHOD__ );
        }
 
        /**