jenkins-bot has submitted this change and it was merged. Change subject: Fix indexes for Reference objects. ......................................................................
Fix indexes for Reference objects. Turns out Flow indexes work very differently from SQL indexes in that you can't use a covering index, your index has to match exactly the fields on which you are querying. Was causing the following error in WMF error logs: Flow\Data\ObjectLocator::findMulti: No index (out of 2) available to answer query for ref_src_namespace, ref_src_title with options [] Bug: 65672 Change-Id: Ie4cfab6e5976843fc52e0a9f788a37432c18dccd --- M container.php M includes/Data/ReferenceRecorder.php 2 files changed, 8 insertions(+), 15 deletions(-) Approvals: Matthias Mullie: Looks good to me, approved jenkins-bot: Verified diff --git a/container.php b/container.php index 605d69f..c083da1 100644 --- a/container.php +++ b/container.php @@ -769,12 +769,10 @@ new TopKIndex( $cache, $storage, - 'flow_ref:wiki:by-workflow', + 'flow_ref:wiki:by-source', array( 'ref_src_namespace', 'ref_src_title', - 'ref_type', - 'ref_target_namespace', 'ref_target_title', ), array( 'order' => 'ASC', @@ -784,12 +782,10 @@ new TopKIndex( $cache, $storage, - 'flow_ref:wiki:by-revision', + 'flow_ref:wiki:by-revision:v2', array( - 'ref_src_namespace', - 'ref_src_title', + 'ref_src_object_type', 'ref_src_object_id', - 'ref_type', ), array( 'order' => 'ASC', @@ -826,12 +822,10 @@ new TopKIndex( $cache, $storage, - 'flow_ref:url:by-workflow', + 'flow_ref:url:by-source', array( 'ref_src_namespace', 'ref_src_title', - 'ref_type', - 'ref_target', ), array( 'order' => 'ASC', @@ -841,12 +835,10 @@ new TopKIndex( $cache, $storage, - 'flow_ref:url:by-revision', + 'flow_ref:url:by-revision:v2', array( - 'ref_src_namespace', - 'ref_src_title', + 'ref_src_object_type', 'ref_src_object_id', - 'ref_type', ), array( 'order' => 'ASC', diff --git a/includes/Data/ReferenceRecorder.php b/includes/Data/ReferenceRecorder.php index 9d20966..6ea0288 100644 --- a/includes/Data/ReferenceRecorder.php +++ b/includes/Data/ReferenceRecorder.php @@ -69,12 +69,13 @@ 'ref_src_object_type' => $revType, 'ref_src_object_id' => $objectId, ) ); + $prevUrlReferences = $this->storage->find( 'URLReference', array( 'ref_src_object_type' => $revType, 'ref_src_object_id' => $objectId, ) ); - return array_merge( $prevWikiReferences, $prevUrlReferences ); + return array_merge( (array) $prevWikiReferences, (array) $prevUrlReferences ); } /** -- To view, visit https://gerrit.wikimedia.org/r/133666 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ie4cfab6e5976843fc52e0a9f788a37432c18dccd Gerrit-PatchSet: 5 Gerrit-Project: mediawiki/extensions/Flow Gerrit-Branch: master Gerrit-Owner: Werdna <agarr...@wikimedia.org> Gerrit-Reviewer: Jdlrobson <jrob...@wikimedia.org> Gerrit-Reviewer: Matthias Mullie <mmul...@wikimedia.org> Gerrit-Reviewer: Werdna <agarr...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits