Now to GitHub, where a database migration made some valid GitHub App requests look as though the requested resource did not exist. GitHub’s postmortem covers Tuesday, October 27, from 6:55 to 8:01 a.m. UTC. Git and API requests authenticated with App server-to-server tokens saw elevated false 404 responses. Actions tokens were excluded.
The migration involved seven MySQL tables. While that was happening, an overlapping cleanup deleted about 59 million installation records, and replication between clusters fell as much as an hour behind. That figure describes the cleanup operation; the postmortem does not establish 59 million failed tokens or permanent loss of that many records.
Reads reached a complete cutover before the write cutover finished. The new read target was lagging, yet it was already receiving all the reads. GitHub’s authentication path could therefore look in the lagged data and return a false not-found response. The backlog had become visible to clients as absence.
Authenticated Git failures averaged 1.24 percent and peaked at 2.49 percent. Those figures describe Git requests, not every request to GitHub. The proposed fixes address both parts of the sequence: disable overlapping cleanup before migrations, and prevent read cutover while replication lag is high.