Skip to content

File Cloudflare support ticket: per-database D1 request stalls on uploads-production #808

Description

@zachdunn

Context

2026-08-23: intermittent prod slowness traced to Cloudflare-side stalls on the uploads-production D1 database — not app code. App-side hardening shipped in #805 / #806 / #807 (bounded auth reads, DO-backed rate limiting, resilient session gate), so the app now degrades gracefully, but the underlying stalls are Cloudflare's to fix. This issue tracks filing the support ticket and holds the proposed copy.

Proposed ticket copy


Subject: Periodic request-round-trip stalls on one D1 database (query execution stays sub-ms)

Our D1 database uploads-production (id 5f73946b-edd5-414c-856c-8f9bd3c644ba, ENAM primary, ~3.7 MB, low query volume, replication disabled) is experiencing periodic stalls where any access to it — Workers binding queries and independent REST-API queries alike — takes 2–25 seconds instead of the normal sub-second round trip.

Important framing: the dashboard's query-latency metrics look completely healthy, and d1 insights shows all queries executing in under 1 ms. The stall is not query execution — it is the request round-trip to the database (queueing/routing). Please don't close this on the basis of the latency graphs.

Reproduction (from our measurements on 2026-08-23, ~18:50–18:55 PT):

  • Timed wrangler d1 execute uploads-production --remote --command "SELECT 1" in a loop: baseline ~1.1 s, with spikes of 12.0 s, 7.7 s, and 8.2 s arriving roughly every 55–60 seconds.
  • A control database on the same account (uploads-preview) probed in the same runs stayed flat at ~1.0–1.2 s throughout — so this is per-database, not account- or colo-wide.
  • Simultaneous wrangler tail on the Workers bound to this database shows requests with wallTime ≈ 4000+ ms and cpuTime ≈ 0–5 ms during the same windows — the Workers are purely waiting on D1.
  • First observed 2026-08-23 (new behavior); recurring across the day in ~5–25 s windows.

Ask: please investigate the serving path for this specific database — routing, placement, or storage-layer contention — since query execution itself is demonstrably fine.


Checklist

  • File the ticket with Cloudflare (dashboard → Support), attaching fresh probe timings if the stalls are still reproducible
  • Link the ticket number back here
  • Optional zone-level backstop while waiting: per-IP WAF rate-limiting rule on uploads.sh/api/auth/*

Related: #805, #806, #807.

Metadata

Metadata

Labels

bugSomething isn't workinginfra

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions