Incident Library

IL-0520 cloud.gov · 2016-07-05databaseobservability

logs.cloud.gov trapped users in a login redirect loop because its full Redis session store stopped saving sessions

logs.cloud.gov is the log search service of cloud.gov. Its session management saves user login sessions to a Redis database, and the same Redis pushes data on to an Elasticsearch cluster. In July 2016 the Elasticsearch cluster was failing because of insufficient memory limits and because of a configuration error introduced when hardening scripts were applied to it. Redis could not push its data to Elasticsearch and ran out of space, its capacity hard-coded to use 1GB instead of 86% of available memory, so it stopped saving login sessions, and from 7:12pm Eastern Time on 5 July users of logs.cloud.gov were caught in a login redirect loop.

The team reconfigured Redis on the logsearch service to use a much larger memory instance, through cg-deploy-logsearch, so that logs were kept while the Elasticsearch cluster was down. It corrected the Elasticsearch memory setting and the hardening problem, which had set /tmp to noexec so that the JVM could not JIT jars and the instances would not restart, and redeployed the cluster. A disk encryption step made the redeployment slow. At 8:00pm Eastern Time on 6 July the cluster deployment was complete; the team redeployed the Kibana instance, checked the logs and logs.cloud.gov was restored.

Severity
–
Scope
Users could not log in to the logs.cloud.gov log search service from 7:12pm Eastern Time on 5 July 2016 until it was restored after 8:00pm Eastern Time on 6 July
Users affected
–
Region
–
Time to detect
–
Time to resolve
–

Symptoms

At 7:12pm Eastern Time on 5 July 2016, logs.cloud.gov, the cloud.gov log search service, sent users into a login redirect loop, so they could not log in to the service.

The loop came from the service's session management, which failed when it tried to save the user's login session data to the Redis database. Redis was not saving the sessions because it had run out of space: it could not push its data on to the Elasticsearch cluster, and the Elasticsearch cluster was failing too.

Recovery ran into two more problems. After the Elasticsearch configuration was updated and the cluster redeployed, the instances would not restart, because a hardening setting had made the /tmp directory noexec and the JVM could not JIT jars. Once the instances restarted, the disk encryption step made the redeployment slow, and the cluster deployment completed only at 8:00pm Eastern Time on 6 July.

Symptom Service outageWrites rejected

Root cause

Trigger
–

Detection

–

Remediation

Action items

Lessons

–

Sources

Related cases

Check your cluster for this

kubegap audits a Kubernetes cluster for conditions like the ones in this case, In-memory cache, Elasticsearch or OpenSearch among them, read-only, from Claude Code or Codex. Its checks cite public reports like this one.

For AI tools and scripts

The API needs no key. The MCP server offers search_incidents, get_incident, list_incidents, get_topic and vocab; both are explained on API and MCP.