Skip to main content

Incident · Staff

Google Dec 2020: quota reported as zero takes down global login

Real incident. Key points: authentication and authorization.

15 min read · Incident on 2020-12, lasted · Source: Google · Content reviewed on October 23, 2026

Short answer

Real incident. Key points: authentication and authorization. Google maintains a central identity service, the User ID Service, which holds each account's unique identifier and handles OAuth credentials and cookies. Account data lives in a distributed database that coordinates updates with Paxos, and the service rejects requests when it detects stale data.

01 · CONTEXT

Identity as a dependency of everything

Google maintains a central identity service, the User ID Service, which holds each account's unique identifier and handles OAuth credentials and cookies. Account data lives in a distributed database that coordinates updates with Paxos, and the service rejects requests when it detects stale data.

  1. Users and apps call services that require login.

    Architecture diagram: Identity shared by all products
    CLUsers and apps
    CPAuthenticated services
    CPIdentity service
    DBAccounts database
  2. Every authenticated service needs the identity service to verify the credential before acting.

    Architecture diagram: Identity shared by all products
    CLUsers and apps
    CPAuthenticated services
    CPIdentity service
    DBAccounts database
  3. The identity service stores accounts in a distributed database coordinated by Paxos and rejects stale data.

    Architecture diagram: Identity shared by all products
    CLUsers and apps
    CPAuthenticated services
    CPIdentity service
    DBAccounts database

That is why identity is a dependency at the scale of global: Workspace apps depend on the account infrastructure for login, authentication, and access control to resources.

02 · TRIGGER

A quota that believed in zero

Google uses automation tools to manage the quota of resources allocated to each service. The User ID Service was being migrated to a new quota system, and a change made in October registered it in that system, but parts of the previous system stayed in place and reported the service's usage as zero.

There was a grace period in the enforcement of quota restrictions, which delayed the impact. When it expired, the automation reduced the quota allowed to the identity service, and the incident began.

  1. The residual measurement reports to the quota system that the identity service uses no resources at all.

    Architecture diagram: From usage measurement to the accounts database quota
    CPResidual measurementwrong reported usage
    CPQuota automation
    CPIdentity service
    DBAccounts database
  2. Once the grace period expires, the automation reduces the quota allowed to the identity service.

    Architecture diagram: From usage measurement to the accounts database quota
    CPResidual measurement
    CPQuota automation
    CPIdentity service
    DBAccounts database
  3. With the quota reduced, the Paxos leader of the accounts database cannot write.

    Architecture diagram: From usage measurement to the accounts database quota
    CPResidual measurement
    CPQuota automation
    CPIdentity service
    DBAccounts databaseleader cannot write
  4. Soon after, most reads become stale and authentication queries start to fail.

    Architecture diagram: From usage measurement to the accounts database quota
    CPResidual measurement
    CPQuota automation
    CPIdentity serviceauthentication error
    DBAccounts databasestale reads

The existing safety checks did not cover the scenario of zero load reported for a single service. The Register's report, which cites the report, says the same about the tests of the time. The table shows why each check let the change through.

Safety checkWhy it did not catch it
Quota change for many usersOnly one group was the target of the change
Quota below usageUsage was reported, incorrectly, as zero
Excessive reduction in storageNo alert fired during the grace period
Low quotaThe gap between usage and quota exceeded the protection threshold

03 · IMPACT

When no one can prove who they are

Credential issuance and metadata queries failed for all Google accounts, and Google could not verify request authentication, returning 5xx errors on practically all authenticated traffic. The official summary reports 47 minutes of unavailability for services that required Google OAuth.

  1. The identity service stops verifying credentials for all products.

    Architecture diagram: Blast radius of the identity failure
    CLUsers
    CPWorkspace apps
    CPCloud console and APIs
    CPIdentity servicewithout verifying
    CPExisting data plane
  2. Authenticated Workspace apps go down, because they depend on accounts for login and access control.

    Architecture diagram: Blast radius of the identity failure
    CLUsers
    CPWorkspace appsdown
    CPCloud console and APIs
    CPIdentity service
    CPExisting data plane
  3. In Cloud Console, anyone not authenticated cannot sign in; anyone who was may have degraded features.

    Architecture diagram: Blast radius of the identity failure
    CLUsers
    CPWorkspace apps
    CPCloud console and APIslogin fails
    CPIdentity service
    CPExisting data plane
  4. Configurations already applied in the data plane keep operating; only operations that modified the data plane network were affected.

    Architecture diagram: Blast radius of the identity failure
    CLUsers
    CPWorkspace apps
    CPCloud console and APIs
    CPIdentity service
    CPExisting data plane
ServiceWhat happened
Cloud ConsoleThose already authenticated could keep using it, with degraded features
RedeOnly changes to the data plane VPC network were affected; existing configurations kept operating
GmailSome users saw errors for up to an hour after recovery, due to error caching in the identity services

04 · DETECTION AND RECOVERY

Fast alert, fix by turning off the quota

The table below gathers the detection and recovery milestones reported by Google, in Pacific time.

TimeEvento
03:43Automatic capacity alerts
03:46Errors begin in the User ID Service
03:48Engineers paged
04:08Root cause and possible fix identified
04:22Quota enforcement turned off in one data center
04:27Same mitigation applied in all data centers
04:33Error rates back to normal

05 · LESSONS

What Google committed to change

The report lists several actions. Among them: reviewing the quota automation to prevent rapid rollout of global changes; improving monitoring and alerting to catch incorrect configurations earlier; evaluating greater resilience to write failures in the identity service's database; and limiting the impact on the data plane during service failures.

Frequently asked questions

What is Google Dec 2020: quota reported as zero takes down global login?

Real incident. Key points: authentication and authorization.

What does the Google Dec 2020: quota reported as zero takes down global login design cover?

It is organized in these sections: Identity as a dependency of everything, A quota that believed in zero, When no one can prove who they are, Fast alert, fix by turning off the quota, and What Google committed to change.

How long is Google Dec 2020: quota reported as zero takes down global login and what level is it?

It takes about 15 minutes to read and is rated Staff level.

Now design it yourself

Run this case as an interview in the System Design school: you make the decisions, the tutor challenges them and you see how your design scores.