From: Aaron Schulz Date: Wed, 8 Jun 2016 17:47:53 +0000 (-0700) Subject: Add "PostSend" limits to $wgTrxProfilerLimits X-Git-Tag: 1.31.0-rc.0~6657^2 X-Git-Url: http://git.cyclocoop.org/url?a=commitdiff_plain;h=8b9aac24943aca608b165cb04ae79b36ac0541a6;p=lhc%2Fweb%2Fwiklou.git Add "PostSend" limits to $wgTrxProfilerLimits This makes post-send updates subject to logging, like other updates in POST requests. Previously, slow queries were ignored. Bug: T137326 Change-Id: Ia08f51a10b7b1fae3350f5c5215fab234edefada --- diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 0fe3388550..7892a987c3 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -5978,6 +5978,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, diff --git a/includes/MediaWiki.php b/includes/MediaWiki.php index ee03f020a8..21857b9e13 100644 --- a/includes/MediaWiki.php +++ b/includes/MediaWiki.php @@ -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' );