You are browsing a read-only backup copy of Wikitech. The primary site can be found at wikitech.wikimedia.org

Incident documentation/2021-11-10 cirrussearch commonsfile outage: Difference between revisions

From Wikitech-static
Jump to navigation Jump to search
imported>Krinkle
No edit summary
imported>Krinkle
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{irdoc|status=draft}} <!--
#REDIRECT [[Incidents/2021-11-10 cirrussearch commonsfile outage]]
The status field should be one of:
* {{irdoc|status=draft}} - Initial status. When you're happy with the state of your draft, change it to status=review.
* {{irdoc|status=review}} - The incident review working group will contact you then to finalise the report. See also the steps on [[Incident documentation]].
* {{irdoc|status=final}}
-->
 
== Summary ==
 
On 10 November, as part of verifying a bug report, a developer submitted a high volume of search queries against the active production Cirrus cluster (eqiad cirrussearch) via a tunnel from their local mw-vagrant environment. <code>vagrant provision</code> was (probably) later run without the tunnel being properly closed first, which resulted in (for reasons not yet understood) the deletion and recreation of the <code>commonswiki_file_1623767607</code> index.
 
As a direct consequence, any Elasticsearch queries that targetted media files from commonswiki encountered a hard failure.
 
During the incident, all media searches on Wikimedia Commons failed. Wikipedia projects were impacted as well,<ref>[https://logstash.wikimedia.org/goto/73a9d7e35f409c0d122888d42df94761 Log events of all affected requests] ('''note''': requires [[Logstash]] access)</ref> through the "cross-wiki" feature of the sidebar on Search results pages. This cross-wiki feature is enabled on most wikis by default, though notably not on English Wikipedia where the community disabled search integration to Commons.
 
Note that the search suggestions feature, as present on all article pages was not affected (except on Wikimedia Commons itself). The search suggestions field is how how most searches are performed on Wikipedia, and was not impacted. Rather, it impacted the dedicated Search results page ("Special:Search", which consistently failed to return results on wikis where the rendering of that page includes a sidebar with results from Wikimedia Commons.
 
'''Impact''': For about 2.5 hours (14:00-16:32 UTC), the Search results page was unavailable on many wikis (except for English Wikipedia). On Wikimedia Commons the search suggestions feature was unresponsive as well.
 
=== Timeline ===
'''15:21''' First ticket filed by impacted user https://phabricator.wikimedia.org/T295478
 
'''15:28''' Additional, largely duplicate ticket filed by user https://phabricator.wikimedia.org/T295480
 
'''15:32''' <code><Dylsss> Searching for files on Commons is currently impossible, I believe this is quite critical given the whole point of Commons is being a file repository </code>
 
'''15:52''' Initial attempt to shift cirrussearch traffic to codfw (did not work due to missing a required line in patch) (https://sal.toolforge.org/log/05mNCn0B1jz_IcWuO9iw)
 
'''16:32''' Search team operator successfully moves all cirrussearch traffic to codfw, resolving user impact (https://sal.toolforge.org/log/8p2xCn0Ba_6PSCT9sorW)
 
'''??? (In future)''' Index successfully restored, and traffic is returned to eqiad
 
=== References: ===
<references />
 
== Actionables ==
<!--
<mark>Create a list of action items that will help prevent this from happening again as much as possible. Link to or create a Phabricator task for every step.</mark>
 
* <mark>To do #1 (TODO: Create task)</mark>
* <mark>To do #2 (TODO: Create task)</mark>
 
<mark>TODO: Add the [[phab:project/view/4758/|#Sustainability (Incident Followup)]] Phabricator tag to these tasks.</mark>
-->
* Future one-off debugging of the sort that triggered this incident, when it requires production data, should be done on <code>cloudelastic</code>, which is an up-to-date read-only Elasticsearch cluster. If production data is needed but <= 1 week stale data is acceptable, <code>relforge</code> should be used instead.

Latest revision as of 17:49, 8 April 2022