🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)
🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)

🔧 Programmierung 🕛 kürzlich 2 Min Lesezeit
0

D1 read replicas returned stale data for 6 seconds — here's what I measured and how I designed around it

↗ Quelle (dev.to)
🗣️ Stimme:

At p99, a D1 read replica in Tokyo was 6.1 seconds behind a write that landed on the Eastern NA primary. I found this out not from the docs, but from a Korean ad-ops campaign tracker silently throttling the wrong impressions.



D1's architecture is straightforward: one SQLite primary, read replicas pushed to edge POPs, writes always hit the primary, reads go to the nearest replica. The docs acknowledge eventual consistency but give you no number to plan around. So I built a staleness probe — write a row with a UUID and epoch, poll the replica until it appears, record the delta. Across 200 probes from ap-northeast-1:




  • p50: ~800ms

  • p95: ~3,400ms

  • p99: ~6,100ms



That's the shape of the problem if your primary lands in enam and your users are in Asia.



The failure that forced my hand wasn't slow throttling — it was this:




CODE
Error: D1_ERROR: no such table: sessions






The table existed. What happened: a migration ran on the primary, the Worker restarted, and the first few requests hit a replica that hadn't caught the schema change yet. The error was misleading. The root cause was assuming replica reads would reflect a write that had just committed.



The fix I landed on doesn't fight the replication lag — it routes around it for the cases that matter. The writer stamps a written_at epoch on the row and sets an X-D1-Written-At response header. The reader compares that epoch against the written_at column it gets back from the replica. If the replica's value is older than the write signal, it falls back to KV — which runs sub-500ms in the same region and is free up to 10M reads/day. For a binary throttle flag that changes maybe a few times per minute, KV is a cheap freshness backstop.



The important part is that you only pay the KV fallback cost on the narrow window where the replica is genuinely behind. Most reads — once the replica catches up — hit D1 normally.



I wrote up the full breakdown — including the complete staleness probe script, the KV write-pair pattern, and how to handle the schema migration race — over on dailymanuallab.com.



Full post →

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Hackers Just Poisoned the Rust Supply Chain | Threat Wire
1 Quelle
Hackers Found a Way Into Humanoid Robots | Threat Wire
1 Quelle
Bits und so #1021 (Passwort für Laufwerk)
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten D1 read replicas returned stale data for 6 seconds — here's what I measured and how I designed around it

Thematisch verwandte Begriffe: read, replicas, returned, stale · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...