jenkins-bot has submitted this change and it was merged. Change subject: Issue less than 10 OR's in a single query ......................................................................
Issue less than 10 OR's in a single query MySQL has known issues of performing IN's against a large set of items. Our DBA suggested limiting this to less than 10 OR's to keep from hitting the issue. This still issues against the 'vslow' database until we've verified this actually fixes the issue. Bug: T143932 Change-Id: I679e76676c2624735b2d0d2613585c3011992a7f --- M includes/BuildDocument/RedirectsAndIncomingLinks.php 1 file changed, 9 insertions(+), 8 deletions(-) Approvals: Jcrespo: Looks good to me, but someone else must approve Cindy-the-browser-test-bot: Looks good to me, but someone else must approve Tjones: Looks good to me, but someone else must approve DCausse: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/BuildDocument/RedirectsAndIncomingLinks.php b/includes/BuildDocument/RedirectsAndIncomingLinks.php index aaa35a4..fcbf4a3 100644 --- a/includes/BuildDocument/RedirectsAndIncomingLinks.php +++ b/includes/BuildDocument/RedirectsAndIncomingLinks.php @@ -90,15 +90,16 @@ ], LIST_AND ); } - $condition = $dbr->makeList( $conditions, LIST_OR ); - - $res = $dbr->selectField( 'pagelinks', 'count(1)', $condition, __METHOD__, [ - 'USE INDEX' => 'pl_namespace', - ]); - if ( $res === false ) { - return null; + $count = 0; + foreach ( array_chunk( $conditions, 9 ) as $chunk ) { + $condition = $dbr->makeList( $chunk, LIST_OR ); + $res = $dbr->selectField( 'pagelinks', 'count(1)', $condition, __METHOD__ ); + if ( $res === false ) { + return null; + } + $count += (int) $res; } - return (int) $res; + return $count; } } -- To view, visit https://gerrit.wikimedia.org/r/315530 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I679e76676c2624735b2d0d2613585c3011992a7f Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/CirrusSearch Gerrit-Branch: master Gerrit-Owner: EBernhardson <ebernhard...@wikimedia.org> Gerrit-Reviewer: Aaron Schulz <asch...@wikimedia.org> Gerrit-Reviewer: Cindy-the-browser-test-bot <bernhardsone...@gmail.com> Gerrit-Reviewer: DCausse <dcau...@wikimedia.org> Gerrit-Reviewer: Gehel <gleder...@wikimedia.org> Gerrit-Reviewer: Jcrespo <jcre...@wikimedia.org> Gerrit-Reviewer: Manybubbles <never...@wikimedia.org> Gerrit-Reviewer: Smalyshev <smalys...@wikimedia.org> Gerrit-Reviewer: Tjones <tjo...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits