Database Connection Saturation
- Category
- Databases & Storage
- Difficulty
- Senior
- Est. time
- ~15 min
A traffic spike exhausts the database connection pool while a batch job competes for the same capacity.
Live, operational scenarios. No multiple choice. No free text.
Loading…
116 scenarios
A traffic spike exhausts the database connection pool while a batch job competes for the same capacity.
A producer traffic spike and a batch of slow records push a Kafka consumer group into a critical backlog.
A degrading payment provider triggers a retry storm across checkout, payments, and settlement.
A bad detection rule blocks real users while real abuse is also present — disabling protection fixes one problem by creating another.
Ad-hoc BI/Data Science queries are starving a critical, deadline-bound scheduled report — scaling the warehouse alone will not fix it.
The service fleet stays healthy and idle while the gateway in front of it saturates on its own per-request overhead — and scaling the backend does nothing about it.
Dual-write divergence grows silently behind a healthy dashboard — rollback alone never repairs it, and read routing can expose or lose acknowledged writes if sequenced wrong.
A legitimate traffic spike collapses the cache hit rate and saturates the database connection pool, and scaling the API fleet alone only makes it worse.
Sunsetting Orders API v1 breaks a long tail of internal consumers the team's own registry never knew existed.
Audit events are missing, duplicated, and out of order while every availability dashboard stays green — publishing the next compliance report on schedule looks routine but silently certifies a picture the evidence doesn't support.
The shared authentication service is degrading under load, and every dependent service feels the impact.
A policy rollout causes selective false-denies while some caches across the fleet still serve the old policy version — fail-open fixes availability but creates permanent unauthorized access.
A traffic spike overwhelms available capacity while the autoscaler either reacts too slowly or is structurally capped.
A historical backfill competes with live traffic for one shared database, and the tempting fixes are either to flood it or to kill it forever — neither is the safe answer.
A bad configuration push sets the API rate limit far below normal traffic, rejecting legitimate requests immediately.
Automated traffic that looks almost exactly like real customers is rising fast, and a defense blunt enough to stop it will also catch genuine users.
A deployment changed cached object size and key cardinality, causing eviction churn that more memory alone cannot durably fix.
The same invalidation stream is delayed in one region, duplicated in another, and healthy in a third — a global cache-disable fix overloads shared Origin far worse than a differentiated per-region response.
A cache node fails and its keys redistribute, risking a database overload unless capacity or database protection is restored.
A batch of popular cache entries shares one unjittered expiry, and every API instance races to refill the same keys from origin at once.
A popular cache key expires under peak load, sending a thundering herd of duplicate requests straight to the origin database.
Legitimate peak-event traffic cascades from Edge/CDN through Cache, Database, and the Async Queue — protect checkout, sacrifice optional features deliberately, and never push the database into collapse.
A shared-platform incident spanning three products and five shared dependency layers, where the loudest-complaining product is not the root cause and no single action resolves it.
One deep service failure propagates backward through a synchronous call chain, making multiple healthy services look broken at once.
A large certificate fleet spanning Modern, Critical, and Legacy cohorts approaches a shared expiry deadline — revoking the old certificate before Legacy's trust bundle is verified breaks it, even though the same eventual fix would have worked in the right order.
Payment retries and Inventory latency both climb — the shared cause is a Redis connection pool neither service's own metrics point to directly.
A deploy quietly shrinks the DB connection pool's max size — normal traffic alone is enough to exhaust it.
A cross-region connectivity problem forces a real tradeoff between consistency and availability — and relaxing the wrong operation category turns healthy-looking availability into a silent correctness incident.
A slow rolling deploy keeps triggering full consumer group rebalances, and the group never stabilizes long enough to drain its backlog.
A CORS hardening change silently blocks legitimate partner API callers — the fix that caused the incident IS the incident.
A nightly batch job's run duration outgrows its own schedule interval, so two instances run at once and double-write the same output rows — the fix is a missing concurrency guard, not more compute.
Inter-region latency has spiked while both regions stay individually healthy, and the candidate must decide which traffic can trade consistency for speed without touching payment authorization.
A replication-policy change exploded cross-region cost while everything stays healthy — real savings exist, but one tempting lever quietly breaches a durability floor.
Four independently-configured retry layers are each re-issuing the same degraded-provider request, multiplying effective load far beyond original customer traffic.
One backward-incompatible schema change fans out into three downstream pipelines, each silently breaking in its own distinct way.
An ETL v1-to-v2 migration silently mixes lineage across two computation paths while every availability metric stays perfectly healthy — flipping the cutover globally looks fast but risks corrupting every downstream report at once.
Stream processing falls behind while ingestion stays healthy, and the obvious fix — scaling the processor — floods the Warehouse with write contention unless it's protected first.
A misconfigured retention policy is wrongly deleting Financial Records while every availability dashboard stays green — pausing all deletion looks safe but breaches an unrelated data class's own deletion deadline.
A batch job's long-held row locks on a hot table block normal writes behind it, piling up blocked transactions.
Events are failing parsing and piling into the DLQ while a reprocessor replays them concurrently — and discarding the backlog looks like a fix but is really irreversible data loss.
Two services acquiring database locks in inconsistent order are deadlocking each other on every concurrent checkout.
A third-party provider's hard request quota is being exhausted before its rolling window resets, and retrying harder only makes it worse.
A deep dependency has slowed down, and misaligned timeouts across four hops are letting blocked connections cascade all the way up to the API.
A new deploy ships a subtle regression; error rates and latency climb on affected endpoints shortly after rollout.
A partial rollout's new version is regressing for the users routed to it, and a full rollback isn't the only defensible way to contain it.
A coordination service's ownership table has gone stale, causing some work items to be claimed by two workers at once and others to be claimed by none.
Lock leases are expiring while workers are still processing, letting two workers believe they own the same lock at once — and the obvious fix of lengthening the lease only hides the problem.
A failing downstream service exhausts the calling service's own capacity because every blocked request ties up a thread waiting on a dead dependency.
Acknowledgement failures are causing redelivery, and duplicate order/payment side effects keep accumulating even while throughput looks healthy.
Client and gateway retries against a slow dependency are creating the same order more than once, even while retries look like they are succeeding.
A major demand event is approaching and the reservation deadline is closing — decide how much expensive, non-refundable capacity to lock in, and where, before real demand ever arrives.
Four products sit at four different migration stages against a hard external deprecation deadline — every live dashboard reads healthy while marking everything 'migrated' without verification, or waiting because nothing looks broken yet, quietly becomes the real incident.
A degraded broker partition class, a lagging consumer group, and a retry storm against a degraded downstream all hit at once — scaling consumers alone transfers pressure downstream instead of fixing anything.
Producers are outpacing the processing layer, and scaling consumers to drain Kafka can quietly overload the database or the external API instead.
A bad deploy quietly tripled observability and dependency-request cost with no outage — fixing it the cheap way by disabling audit logs looks great on cost but is a compliance trap.
One of five parallel downstream calls degrades under a new fan-out, and relieving it safely means knowing which dependency is optional and which mitigation quietly pressures a core one.
A legitimate peak traffic event meets a degraded fraud-risk provider — bypassing fraud review looks like it fixes checkout, but it doesn't.
GeoDNS keeps failing traffic back and forth between two individually-healthy regions because its health check is too sensitive to transient latency blips.
Three moderately degraded dependencies compose on the synchronous checkout path into an unusable incident — nothing is down, but checkout still fails.
A global feature rollout diverges by region and writes incompatible records into a shared data store — rollback stops new damage but never repairs what was already written.
Rolling deploys drop a steady trickle of requests — pods are killed before their shutdown hook finishes draining in-flight work.
A handful of high-volume tenants are overloading one database partition while the rest of the cluster sits idle, and scaling broadly only makes it worse.
A hot shard and its lagging replica interact with a tempting failover decision -- promoting too early strands acknowledged writes that reconciliation alone cannot undo instantly.
One popular key is overloading a single cache shard while the rest of the cluster stays idle, and adding more cache capacity elsewhere does not help.
The idempotency store itself is degrading, and duplicate (or silently dropped) side effects keep accumulating even while throughput looks healthy.
The MFA Provider degrades and Session Store pressure rises at the same time — a broad MFA bypass looks like it fixes everything, but it doesn't.
A hot tenant key concentrates traffic on one Kafka partition, which falls behind even though aggregate consumer capacity looks fine.
A response shape change is returning full nested records instead of references, and scaling the API tier alone cannot shrink what each request now carries.
Intermittent network latency on one node is triggering repeated, disruptive leader elections — and the obvious 'raise the timeout' fix has its own real cost.
A subset of financial events is missing, duplicated, or delayed between two ledgers while customer-facing traffic stays healthy — fixing the cause doesn't undo the backlog it already created.
Two of four healthy instances are carrying most of the load because of sticky-session pinning, and adding more instances alone won't relieve them.
A deploy-introduced memory leak is climbing steadily toward an OOM crash, and the real fix can't ship live.
A degraded downstream dependency triggers retry amplification that grows an async queue's backlog without bound.
A recently deployed query path is scanning the entire orders table as traffic climbs, and scaling the API layer alone only makes it worse.
Inference cost explodes as a degraded classifier misroutes traffic to the expensive model — routing everything to the cheap model looks free but silently sacrifices quality on traffic that must never be downgraded.
Feature freshness degrades while model-serving uptime stays perfectly healthy — silently serving stale features to critical decisions looks free but is genuinely unsafe.
AZ-A's volumes degrade mid-migration, and the migration controller's own retries cascade the overload onto the one AZ that was still healthy.
EU dependency degradation and cross-region ledger lag interact with traffic shifting — fixing EU availability can quietly overload US ledger/settlement capacity instead.
Dependency A is the first service to visibly GC-thrash, but the real memory-pressure source is upstream at the Aggregator — scaling the loud symptom only buys temporary, fading relief.
The data plane looks fine while one tenant's unthrottled config churn quietly saturates the shared control plane underneath it.
Both regions keep serving traffic normally during a partition — but ledger writes and profile writes carry very different consistency requirements, and conflating them is the trap.
Worker pods crash-loop on a bad deploy and consumer count hits zero — queue depth grows unbounded until both the deploy and the backlog are fixed.
A routing change broke per-account event ordering, and throughput looking healthy doesn't mean the materialized state is trustworthy.
The high-risk period has ended and the platform is still paying for peak-event resilience it no longer needs — reduce cost to the stated baseline without quietly dropping below the mandatory resilience floor.
A shared dependency is healthy in one region, slow in another, and intermittently failing in a third — all at once — and a uniform global fix is not automatically the right call.
Lock service, ledger, and rate limiter all break at once with no shared edge between them — the real cause is a silently-failing NTP sync job several hops upstream.
A malformed message loops forever in retry, blocking every healthy message queued behind it.
The primary database is failing and a replica must be promoted — but promoting it too aggressively risks stale writes or two nodes accepting writes at once.
Deletion requests are accepted successfully while downstream execution falls behind across three stores — marking a request complete before every store has actually finished creates a false completion that looks identical to a real one.
A privilege revocation has not yet converged across the cache fleet — some caches still grant it while others correctly deny it, and fail-open fixes availability while actively granting unauthorized access.
A 5-node consensus group edges toward — and may cross — the threshold for safe quorum, and write availability can look perfectly healthy while writes are being accepted without a real majority.
Naive immediate retries on 429 responses are extending a payment provider's rate-limit penalty window instead of clearing it.
A newly deployed rate-limit policy throttles legitimate tenants while letting one high-volume tenant dominate shared capacity — and an emergency bypass can hide the problem without fixing it.
A write-heavy batch job pushes read replica lag into a critical backlog, serving stale data to consistency-sensitive consumers.
Region A has failed and automatic failover is shifting its traffic into Region B and Region C — which are healthy, but not sized to absorb all of it without becoming a second failure.
An automatic cross-region failover protects availability but silently routes EU customer data through a US region — fail back now, stay failed over, or wait for a clean resolution, each with real consequences.
Write volume keeps outrunning replication throughput, and the backlog keeps growing — protecting consistency, read latency, and ingest throughput all pull in different directions.
A slow dependency triggers Gateway retries that never cancel the original request, so abandoned work piles up across four hops even after any single timeout gets tightened.
A client service's unbudgeted per-call retries multiply load onto an already-degraded downstream dependency.
The system is fully healthy, but infrastructure spend is far higher than it needs to be — cut cost without quietly breaching the redundancy floor.
Old and new app versions are writing incompatible row shapes to one shared database mid-migration, and rollback is not automatically safe.
Ranking Service latency has risen moderately, and the Query Coordinator's held-open connections are compounding that into index-cluster, feature-store, and API-tail-latency pressure all at once.
A credential is found exposed in logs and a CI/CD artifact — doing nothing is invisible but unsafe, and revoking it broadly breaks production.
The service registry starts handing out stale, unhealthy endpoints — and retrying harder only hits the same dead instances.
A service-to-service credential rotation goes wrong when the old credential is revoked before every workload cohort has adopted the new one — disabling authentication fixes availability but creates a permanent authentication-bypass violation.
A cache node failover leaves the load balancer routing against a stale topology, silently bouncing logged-in users between inconsistent session states.
A deploy-induced query plan regression drops a hot query's index usage, pushing database CPU into a critical full-table-scan spiral.
Both regions may believe they hold write leadership during a network partition — and availability can look perfectly healthy on both sides while writes silently diverge.
An unrelated, seemingly-safe flag flip wakes a long-dormant legacy pricing engine — reverting the flag that triggered it doesn't put it back to sleep.
A background compaction job is saturating storage IOPS, and the fastest customer-facing relief comes at the direct cost of the batch job's own progress.
An external shipping-rate vendor is slow, not down — every checkout request blocks on it until you insulate your own system.
An entire client fleet's synchronized schedule fires at once, sending a massive instantaneous spike at the API gateway.
A corrupted training dataset produced a technically valid model artifact that is already serving — deleting the evidence to clean up looks fast but destroys the forensic record for good.
One tenant's traffic surge is consuming shared capacity and degrading every other tenant, and scaling the shared fleet alone never restores fairness.
A shared downstream outage is making a subset of customer webhook endpoints unreachable, and uncontained retries against them are degrading delivery to everyone else too.
Disk IOPS saturate under routine traffic — but the real cause is a compaction setting misconfigured three weeks earlier, not the traffic itself.