EBernhardson has uploaded a new change for review. https://gerrit.wikimedia.org/r/315530
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(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch refs/changes/30/315530/1 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: newchange Gerrit-Change-Id: I679e76676c2624735b2d0d2613585c3011992a7f Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/CirrusSearch Gerrit-Branch: master Gerrit-Owner: EBernhardson <ebernhard...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits