Přeskočit na obsah

Neatomický zápis sady souvisejících řádků — částečný den v telemetrii

import { Aside } from ‘@astrojs/starlight/components’;

Denní log stavových metrik zapisoval 4 řádky (metrika × den) samostatnými upserty. Test se selháním třetího zápisu ukázal 2 řádky v DB — den vypadal „částečně změřeně” a monitoring nad ním by počítal zkreslené podíly.

Zapisovač vznikl jako smyčka upsertů bez transakce; každý úspěšný zápis byl commitnutý okamžitě. Atomicita „dne” nebyla nikde vyjádřena.

Všechny řádky dne se skládají jako líné operace a provádějí jedinou batch $transaction (rollback = 0 řádků). Klasifikovaná tolerance: tabulka neexistuje (P2021) → warn a žádný zápis; jakákoli jiná chyba → error log bez pádu jobu, ale nikdy částečný den. Test: selhání 3. operace ⇒ v DB nezůstane nic.

Atomicitu si vyžádej v návrhu zapisovače, ne až v post-mortem čtenáře dat.

Přidal aiarchitekt.cz · 15. 8. 2026 2:00
Provozuje aiarchitekt.cz