# Google Cloud uległo awarii z powodu pustego pola. Trzy godziny.

Published: 2026-09-19

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.

Canonical: https://thedailydiff.dev/pl/video/2026-09-19-google-cloud-null-pointer/

## 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

## Rozdziały

- 0:00 Puste pole, wskaźnik null, każdy region
- 0:32 Oś czasu: 29 maja → 17:45 → pętla awarii → czerwony przycisk → 17:52 Cloudflare
- 1:32 us-central1: efekt stadny
- 1:43 Mechanizm: sprawdzenie w ścieżce żądania, globalna replikacja, jeden dostawca
- 2:00 git blame — rozłam
- 2:20 Promień rażenia
- 2:33 Werdykt + linia poniedziałkowa

## 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)](https://status.cloud.google.com/incidents/ow5i3PPK96RduMcb1SsW) — status.cloud.google.com
- [Cloudflare, "Cloudflare service outage June 12, 2025" (Jun 12, 2025, 22:00 UTC)](https://blog.cloudflare.com/cloudflare-service-outage-june-12-2025/) — blog.cloudflare.com
- [Cloudflare Status, "Broad Cloudflare service outages" (18:19–21:31 UTC)](https://www.cloudflarestatus.com/incidents/25r9t0vz99rp) — www.cloudflarestatus.com
- [Gergely Orosz, 19:11 UTC, "Their infra is fully independent AFAIK"](https://x.com/GergelyOrosz/status/1933240698716729511) — x.com
- [@Google support, 19:32 UTC, "there aren't any known service disruptions"](https://x.com/Google/status/1933246051512644069) — x.com
- [Thomas Kurian (Google Cloud CEO), Jun 13 01:35 UTC](https://x.com/ThomasOrTK/status/1933337436970709493) — x.com
- [Hacker News, "GCP Outage" (1,468 points)](https://news.ycombinator.com/item?id=44260810) — news.ycombinator.com
- [Hacker News, "Cloudflare was down" (341 points)](https://news.ycombinator.com/item?id=44261064) — news.ycombinator.com
- [Hacker News, "Google Cloud Incident Report – 2025-06-13" (209 points)](https://news.ycombinator.com/item?id=44274563) — news.ycombinator.com
