# Google Cloud falló en un campo en blanco. Tres horas.

Published: 2026-09-19

Una fila de política con algunos campos en blanco causa un puntero nulo, y Google Cloud falla en todas las regiones a la vez; luego Cloudflare cae con él. 12 de junio de 2025, 17:49 UTC: Service Control, el binario que aprueba cada solicitud de API de Google Cloud, lee un cambio de política de cuota con "campos en blanco no intencionales", golpea una ruta de código enviada dos semanas antes sin verificación de nulos y sin "feature flag", y entra en un bucle de fallas en cada región; la fila se había replicado globalmente en segundos. Las API externas devuelven 503 durante tres horas; us-central1 tarda 2 h 40 min porque las tareas de reinicio asaltan la misma tabla de Spanner sin retroceso aleatorio. Tres minutos después de la interrupción de Google, Workers KV de Cloudflare, cuya fuente de verdad reside en "un proveedor de nube de terceros", pierde el 90 % de las solicitudes, y Access, WARP, Workers AI, Pages, Stream y Turnstile caen con él durante 2 h 28 min. La página de estado de Google publica su primera actualización con una hora de retraso porque se ejecuta en Google Cloud.

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

## Lo que cubre este video

- Un campo en blanco, un puntero nulo, todas las regiones
- Cronología: 29 de mayo → 17:45 → bucle de fallas → botón rojo → 17:52 Cloudflare
- us-central1: el efecto rebaño
- Mecanismo: verificación en la ruta de solicitud, replicación global, un proveedor
- git blame — la división

## Capítulos

- 0:00 Un campo en blanco, un puntero nulo, todas las regiones
- 0:32 Cronología: 29 de mayo → 17:45 → bucle de fallas → botón rojo → 17:52 Cloudflare
- 1:32 us-central1: el efecto rebaño
- 1:43 Mecanismo: verificación en la ruta de solicitud, replicación global, un proveedor
- 2:00 git blame — la división
- 2:20 Radio de explosión
- 2:33 Veredicto + la línea del lunes

## Transcripción traducida

Traducido de la narración original en inglés. El audio y los subtítulos disponibles son controlados por YouTube.

### Un campo en blanco, un puntero nulo, todas las regiones

0:00 Una fila de política con campos en blanco causa un puntero nulo, y Google Cloud falla en todas las regiones a la vez, y Cloudflare cae con él, luego llama a Google "un proveedor de terceros". 12 de junio de 2025, 17:49 UTC. Informe de Google: Service Control, el binario que aprueba cada solicitud de API, en un bucle de fallas durante tres horas. El de Cloudflare, la misma tarde: Workers KV, noventa por ciento fallando, dos horas veintiocho.

0:23 Cómo sucedió, por qué un campo en blanco se volvió global en segundos, y quién tiene la culpa. Esto es The Daily Diff, postmortem. 29 de mayo. Service Control recibe una nueva verificación de cuota, enviada región por región con un

### Cronología: 29 de mayo → 17:45 → bucle de fallas → botón rojo → 17:52 Cloudflare

0:35 botón rojo, pero la nueva ruta de código nunca se ejecuta durante el despliegue; nada lo activa aún. Sin verificación de nulos. Sin "feature flag". 17:45. Un cambio de política con campos en blanco llega a la tabla de Spanner. La cuota es global, por lo que la fila se replica en todas partes en segundos. Cada binario de Service Control lo lee, golpea el puntero nulo, falla, se reinicia, lo lee de nuevo. Cada llamada a la API: 503.

0:55 Google es rápido: clasificación en dos minutos, causa raíz en diez. El botón rojo sale en cuarenta, y las regiones pequeñas se recuperan primero. La página de estado publica su primera actualización una hora después, porque se ejecuta en Google Cloud. 17:52. El equipo de WARP de Cloudflare ve que los nuevos dispositivos no se registran. Workers KV, la mitad de la tienda que Cloudflare usa para configuración e identidad, reside en una nube de terceros. Access falla en cada inicio de sesión; por diseño, falla cerrado.

1:20 Workers AI falla en cada inferencia. 19:11, Gergely Orosz: dos nubes independientes caídas a la vez, nunca visto antes. 19:32, el soporte de Google le dice a un usuario que no hay interrupciones conocidas; intente borrar sus cookies. Todas las demás se recuperan antes de las 19:48.

### us-central1: el efecto rebaño

1:34 us-central1 no: las tareas de reinicio asaltan la misma tabla de Spanner, sin retroceso aleatorio, por lo que Google las limita manualmente. Dos horas cuarenta. Uno: la verificación de la política se encuentra dentro de la ruta de solicitud; cuando la verificación falla,

### Mecanismo: verificación en la ruta de solicitud, replicación global, un proveedor

1:46 la API falla. Dos: los datos de cuota se vuelven globales sin etapa; una fila incorrecta es una fila global. Tres: Cloudflare lo sabía. Workers KV estaba en plena migración a su propio R2, reduciéndose a un solo proveedor; el postmortem lo llama una brecha en la cobertura.

### git blame — la división

2:00 git blame. Google, cincuenta y cinco por ciento: sin verificación de nulos, sin "feature flag", sin retroceso; su informe dice que un "flag" lo habría detectado en la etapa de prueba. Replicación global, veinte: una fila, cada región, segundos. Cloudflare, veinte: la mitad de una línea de productos en la tienda de un proveedor, y un postmortem que nunca dice Google. La página de estado, cinco, por depender de lo que informa. Radio de explosión: setenta productos de Google Cloud, diez aplicaciones de Workspace,

### Radio de explosión

2:23 cada región. Tres horas. En Cloudflare: Access, WARP, Workers AI, Pages, Stream — dos y media. Hacker News, mil cuatrocientos puntos; comentario principal: la página de estado está en verde.

### Veredicto + la línea del lunes

2:33 Veredicto, postmortem: SHIP IT. Ambos postmortems llegan en treinta horas, ambos se culpan a sí mismos, y las correcciones de Google son concretas: "fail open", "flags" desactivados por defecto, retroceso exponencial. La línea del lunes: nuevo código detrás de un "flag" que se envía apagado, y una verificación de nulos donde entran los datos. Envíame el incidente del que aún no se te permite hablar, en los comentarios, o en the daily diff dot dev. Y esa es la diferencia de hoy.

2:53 Soy Niko de Axrisi. Fusione responsablemente.

## Fuentes

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