| Lucas_Werkmeister_WMDE created this task. Lucas_Werkmeister_WMDE added projects: Wikidata, Wikibase-Quality, Wikibase-Quality-Constraints, Wikimedia-Incident. Herald added a subscriber: Aklapper. |
CheckingResultsBuilder::getResults() first gets all check results from DelegatingConstraintChecker, then filters them for just the statuses that were requested (by default: discarding everything except violation, warning, bad-parameters – see T184937), and then collects the results, including the metadata. This is wrong – we must collect the metadata before filtering, otherwise we’re discarding possible depended entity IDs.
This is the root cause for the 2018-02-26 WBQC incident – for constraint checks with only successful results (where the filtering step resulted in an empty set of depended entity IDs), CachingResultsBuilder would ask for getLatestRevisionIds( [ /* empty array */ ] ). However, this incorrect request only caused large-scale problems due to a combination of other bugs.
Cc: Aklapper, Lucas_Werkmeister_WMDE, Lahi, Gq86, GoranSMilovanovic, QZanden, LawExplorer, Agabi10, Wikidata-bugs, aude, ArielGlenn, He7d3r, Mbch331, Jay8g, greg
_______________________________________________ Wikidata-bugs mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs
