Google Cloud uległo awarii z powodu pustego pola. Trzy godziny.
Wiersz polityki z kilkoma pustymi polami trafił na wskaźnik null, a Google Cloud uległo awarii we wszystkich regionach jednocześnie – a potem padł także Cloudflare.
Wiersz polityki z kilkoma pustymi polami trafił na wskaźnik null, a Google Cloud uległo awarii we wszystkich regionach jednocześnie – a potem padł także Cloudflare. 12 czerwca 2025, 17:49 UTC: Service Control, binarny plik zatwierdzający każde żądanie API Google Cloud, odczytuje zmianę polityki limitów z „niezamierzonymi pustymi polami”, trafia na ścieżkę kodu wysłaną dwa tygodnie wcześniej bez sprawdzania null i bez flagi funkcji, i wchodzi w pętlę awarii we wszystkich regionach – wiersz został zreplikowany globalnie w ciągu kilku sekund. Zewnętrzne API zwracają 503 przez trzy godziny; us-central1 zajmuje 2 godz. 40 min, ponieważ restartujące się zadania atakują tę samą tabelę Spanner bez losowego wycofywania. Trzy minuty po awarii Google, Workers KV firmy Cloudflare – którego źródło prawdy znajduje się u „zewnętrznego dostawcy chmury” – traci 90% żądań, a Access, WARP, Workers AI, Pages, Stream i Turnstile przestają działać na 2 godz. 28 min. Strona statusowa Google publikuje swoją pierwszą aktualizację z godzinnym opóźnieniem, ponieważ działa na Google Cloud.
Przeczytaj wydanie pisemne (angielski) ↗
Co obejmuje ten film
- Puste pole, wskaźnik null, każdy region
- Oś czasu: 29 maja → 17:45 → pętla awarii → czerwony przycisk → 17:52 Cloudflare
- us-central1: efekt stadny
- Mechanizm: sprawdzenie w ścieżce żądania, globalna replikacja, jeden dostawca
- git blame — rozłam
Przetłumaczona transkrypcja
Przetłumaczono z oryginalnej narracji angielskiej. Dostępne audio i napisy są kontrolowane przez YouTube.
Puste pole, wskaźnik null, każdy region
0:00 Wiersz polityki z pustymi polami trafia na wskaźnik null, a Google Cloud ulega awarii w każdym regionie naraz — a Cloudflare pada razem z nim, potem nazywa Google „dostawcą zewnętrznym”. 12 czerwca 2025, 17:49 UTC. Raport Google: Service Control, binarny plik zatwierdzający każde żądanie API, w pętli awarii przez trzy godziny. Cloudflare, tego samego wieczoru: Workers KV, dziewięćdziesiąt procent niepowodzeń, dwie godziny dwadzieścia osiem.
0:23 Jak to się stało, dlaczego jedno puste pole rozeszło się globalnie w kilka sekund, i kto jest winny. To jest The Daily Diff, postmortem. 29 maja. Service Control otrzymuje nowe sprawdzenie limitów, wdrażane region po regionie z
Oś czasu: 29 maja → 17:45 → pętla awarii → czerwony przycisk → 17:52 Cloudflare
0:35 czerwonym przyciskiem — ale nowa ścieżka kodu nigdy nie jest uruchamiana podczas wdrażania; nic jej jeszcze nie uruchamia. Brak sprawdzania null. Brak flagi funkcji. 17:45. Zmiana polityki z pustymi polami trafia do tabeli Spanner. Limit jest globalny, więc wiersz replikuje się wszędzie w ciągu kilku sekund. Każdy binarny plik Service Control odczytuje go, trafia na wskaźnik null, zawiesza się, restartuje, odczytuje ponownie. Każde wywołanie API: 503.
0:55 Google działa szybko: triage w dwie minuty, pierwotna przyczyna w dziesięć. Czerwony przycisk jest wyłączony w czterdzieści, a małe regiony odzyskują sprawność jako pierwsze. Strona statusowa publikuje swoją pierwszą aktualizację z godzinnym opóźnieniem, ponieważ działa na Google Cloud. 17:52. Zespół WARP firmy Cloudflare zauważa, że nowe urządzenia nie rejestrują się. Workers KV, sklep, którego połowa Cloudflare używa do konfiguracji i tożsamości, działa na chmurze zewnętrznego dostawcy. Access zawodzi każde logowanie — z założenia, zamyka się w przypadku awarii.
1:20 Workers AI zawodzi każde wnioskowanie. 19:11, Gergely Orosz: dwie niezależne chmury padły jednocześnie, nigdy wcześniej tego nie widziano. 19:32, wsparcie Google informuje użytkownika, że nie ma znanych zakłóceń — spróbuj wyczyścić pliki cookie. Wszędzie indziej przywrócenie działania następuje do 19:48.
us-central1: efekt stadny
1:34 us-central1 nie: restartujące się zadania atakują tę samą tabelę Spanner, bez losowego wycofywania, więc Google ręcznie je ogranicza. Dwie godziny czterdzieści. Jeden: sprawdzenie polityki znajduje się w ścieżce żądania; gdy sprawdzenie umiera,
Mechanizm: sprawdzenie w ścieżce żądania, globalna replikacja, jeden dostawca
1:46 API umiera. Dwa: dane limitów rozprzestrzeniają się globalnie bez przygotowania; zły wiersz to globalny wiersz. Trzy: Cloudflare wiedział. Workers KV był w trakcie migracji do własnego R2, do jednego dostawcy — postmortem nazywa to luką w zasięgu.
git blame — rozłam
2:00 git blame. Google, pięćdziesiąt pięć procent: brak sprawdzania null, brak flagi funkcji, brak wycofywania — ich raport mówi, że flaga wychwyciłaby to na etapie przygotowania. Globalna replikacja, dwadzieścia: jeden wiersz, każdy region, sekundy. Cloudflare, dwadzieścia: połowa linii produktów u jednego dostawcy, i postmortem, które nigdy nie wymienia Google. Strona statusowa, pięć, za to, że działa na tym, co raportuje. Promień rażenia: siedemdziesiąt produktów Google Cloud, dziesięć aplikacji Workspace,
Promień rażenia
2:23 każdy region. Trzy godziny. W Cloudflare: Access, WARP, Workers AI, Pages, Stream — dwie i pół. Hacker News, czternaście tysięcy punktów; najlepszy komentarz: strona statusowa jest zielona.
Werdykt + linia poniedziałkowa
2:33 Werdykt, postmortem: SHIP IT. Oba postmortemy lądują w ciągu trzydziestu godzin, oba obwiniają się nawzajem, a poprawki Google są konkretne: awaria otwarta, flagi domyślnie wyłączone, wykładnicze wycofywanie. Linia poniedziałkowa: nowy kod za flagą, która jest wysyłana wyłączona, i sprawdzenie null tam, gdzie przychodzą dane. Wyślij mi incydent, o którym nadal nie wolno Ci mówić, w komentarzach, lub na the daily diff dot dev. I to jest DIFF na dziś.
2:53 Jestem Niko z Axrisi. Łącz odpowiedzialnie.
Źródła
- Google Cloud Service Health, Incident Report (Jun 13, 2025) + Mini Incident Report (Jun 12)status.cloud.google.com
- Cloudflare, "Cloudflare service outage June 12, 2025" (Jun 12, 2025, 22:00 UTC)blog.cloudflare.com
- Cloudflare Status, "Broad Cloudflare service outages" (18:19–21:31 UTC)www.cloudflarestatus.com
- Gergely Orosz, 19:11 UTC, "Their infra is fully independent AFAIK"x.com
- @Google support, 19:32 UTC, "there aren't any known service disruptions"x.com
- Thomas Kurian (Google Cloud CEO), Jun 13 01:35 UTCx.com
- Hacker News, "GCP Outage" (1,468 points)news.ycombinator.com
- Hacker News, "Cloudflare was down" (341 points)news.ycombinator.com
- Hacker News, "Google Cloud Incident Report – 2025-06-13" (209 points)news.ycombinator.com



