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

Incident documentation/2021-10-29 graphite: Difference between revisions

From Wikitech-static
Jump to navigation Jump to search
imported>Filippo Giunchedi
 
imported>Lucas Werkmeister (WMDE)
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{irdoc|status=draft}} <!--
{{irdoc|status=review}} <!--
The status field should be one of:
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=draft}} - Initial status. When you're happy with the state of your draft, change it to status=review.
Line 8: Line 8:
== Summary ==
== Summary ==


'''Impact''': The backfill process for Graphite metrics failed during the Bullseye migration causing metric data loss for a subset of metrics.
'''Impact''': The backfill process for Graphite metrics silently failed during the Bullseye migration. A subset of metrics experienced loss for data points before October 11th 2021


The process of reimaging a Graphite host is as follows:
The process of reimaging a Graphite host is as follows:
Line 44: Line 44:
=== What went poorly? ===
=== What went poorly? ===
* The data loss was not detected by automated means or during spot-check validation
* The data loss was not detected by automated means or during spot-check validation
* The data loss was only detected after both hosts had been reimaged, at which point lost data could no longer be recovered


=== Where did we get lucky? ===
=== Where did we get lucky? ===
Line 57: Line 58:


* Understand the feasibility (and need) to back up a small subset of important metrics https://phabricator.wikimedia.org/T294355#7464552
* Understand the feasibility (and need) to back up a small subset of important metrics https://phabricator.wikimedia.org/T294355#7464552
* Revise the backfill procedure to be more robust in the face of similar failures in the future (e.g. run a full rsync first, then backfill only the gap)
* Revise the backfill procedure to be more robust in the face of similar failures in the future (e.g. run a full rsync first, then backfill only the gap) https://phabricator.wikimedia.org/T296295
* Perform validation post-sync / post-backfill to check the number of datapoints across all metric files is roughly in sync between hosts
* Perform validation post-sync / post-backfill to check the number of datapoints across all metric files is roughly in sync between hosts https://phabricator.wikimedia.org/T296295
*Continue (and speed up) the Graphite retirement plan https://phabricator.wikimedia.org/T228380
*Continue (and speed up) the Graphite retirement plan https://phabricator.wikimedia.org/T228380

Revision as of 15:29, 24 November 2021

document status: in-review

Summary

Impact: The backfill process for Graphite metrics silently failed during the Bullseye migration. A subset of metrics experienced loss for data points before October 11th 2021

The process of reimaging a Graphite host is as follows:

  1. reimage host
  2. let metrics flow for a few days to validate the host is working
  3. backfill the rest of the data (online, no downtime) from the other Graphite host following https://wikitech.wikimedia.org/wiki/Graphite#Merge_and_sync_metrics

During the Bullseye migration the backfill process failed (undetected) for a subset of metrics, leading to metric data loss once the Bullseye migration was complete (i.e. graphite2003 first and then graphite1004 were reimaged and put back in service)

Timeline

All times in UTC.

Detection

Some Grafana dashboards backed by Graphite showed partial data (starting Oct 11 or Oct 21) for a subset of metrics, as reported by Lucas Werkmeister in https://phabricator.wikimedia.org/T294355

Conclusions

The whisper-sync backfill process is not as reliable as previously thought, no visible errors were logged and/or detected.

What went well?

  • Only a subset of metric files experienced data loss

What went poorly?

  • The data loss was not detected by automated means or during spot-check validation
  • The data loss was only detected after both hosts had been reimaged, at which point lost data could no longer be recovered

Where did we get lucky?

  • Only a subset of metric files experienced data loss

How many people were involved in the remediation?

  • 1 SRE (Filippo Giunchedi)

Links to relevant documentation

Actionables