Merge "Add "PostSend" limits to $wgTrxProfilerLimits"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 9 Jun 2016 22:32:01 +0000 (22:32 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 9 Jun 2016 22:32:01 +0000 (22:32 +0000)
includes/DefaultSettings.php
includes/MediaWiki.php

index dc0b60c..80e199a 100644 (file)
@@ -5982,6 +5982,12 @@ $wgTrxProfilerLimits = [
                'writes' => 0,
                'readQueryTime' => 5
        ],
+       // Deferred updates that run after HTTP response is sent
+       'PostSend' => [
+               'readQueryTime' => 5,
+               'writeQueryTime' => 1,
+               'maxAffected' => 500
+       ],
        // Background job runner
        'JobRunner' => [
                'readQueryTime' => 30,
index ee03f02..21857b9 100644 (file)
@@ -764,9 +764,13 @@ class MediaWiki {
                // Assure deferred updates are not in the main transaction
                wfGetLBFactory()->commitMasterChanges( __METHOD__ );
 
-               // Ignore things like master queries/connections on GET requests
-               // as long as they are in deferred updates (which catch errors).
-               Profiler::instance()->getTransactionProfiler()->resetExpectations();
+               // Loosen DB query expectations since the HTTP client is unblocked
+               $trxProfiler = Profiler::instance()->getTransactionProfiler();
+               $trxProfiler->resetExpectations();
+               $trxProfiler->setExpectations(
+                       $this->config->get( 'TrxProfilerLimits' )['PostSend'],
+                       __METHOD__
+               );
 
                // Do any deferred jobs
                DeferredUpdates::doUpdates( 'enqueue' );