Plánováno
Replika a checkpoint
Replika je jediná věc v systému, která se nedá znovu postavit z ničeho jiného. Všechno ostatní je odvozené. Proto se o její konzistenci rozhoduje na úrovni transakce, ne na úrovni dobré vůle.
- Položky fáze
- 1.3 replika a checkpoint, 1.4 poller s výhradním leasem
- Závisí na
- 1.1 — typovaně naparsované akce
- Vstup už existuje
- archiv surového feedu 1. 7.–9. 9. 2026, 849 935 událostí, jen lokálně
- Invarianty
- ING-1 až ING-7 v docs/INGESTION.md
- Stav
- plánováno — v databázi zatím není žádná replika
Zápis a checkpoint v jedné transakci
Checkpoint je jediné číslo: poslední trvale zpracovaná akce. Bude se posouvat ve stejné transakci, ve které se zapisují akce — jinak existuje okno, ve kterém pád znamená přeskočenou dávku.
Ze dvou možných chyb je zvolená ta neškodná. Pád před commitem vede k opětovnému načtení téže dávky, a protože je zápis idempotentní podle ID akce, druhý průchod nic nezmění. Pád po posunu checkpointu bez zápisu by naopak vedl k díře, kterou nikdo nikdy nenajde.
Jeden vlastník feedu
Feed bude číst právě jeden poller, držící lease s omezenou platností. Dva souběžní polleři si duplikují práci a závodí o checkpoint; obojí je horší než pomalejší běh.
Chyba parsování ani chybový stav zdroje checkpointem nikdy nepohnou. Zpět se checkpoint posune jen výslovným zásahem operátora podle runbooku.
Co replika není
Není to aktuální stav a není to místo, kde se opravují chyby v interpretaci. Akce se nemění a nemažou; oprava je vždy na straně projektoru. Tím se z opravy stává rutina, která nesahá na zdroj dat.
Surový vstup pro backfill už v repozitáři vzniká — archiv feedu s checkpointem existuje jako dávkové soubory. Načíst ho do databáze je přesně tahle položka a hotová není.
Kde to v repozitáři žije
docs/INGESTION.md— poll smyčka, invarianty a vztah backfillu k živému provozudocs/ARCHITECTURE.md— co je nedotknutelné a co odvozenédocs/runbooks/replay.md— operátorský postup přehrání, včetně posunu checkpointu
Souvisí
Klient WS ISIR a limity
PlánovánoSOAP klient k IsirWsPublicService, typované parsování akcí, fail-closed mapování chybových stavů a limiter vynucený dřív, než požadavek opustí proces. Publikované stropy 50/min a 3000/den půjde nastavit jen přísněji, nikdy volněji.
Detail
Projekce
PlánovánoŘízení, přihlášky, dílčí pohledávky a jejich události, přehrávané z logu. Oprava projektoru bude rutina: zvýšit verzi a přehrát, bez jediného dotazu na rejstřík.
Detail
Log je pravda, projekce je odvozená
Stav se rekonstruuje přehráním neměnného proudu událostí. Oprava chyby v interpretaci je rutina, ne krize — a nevyžaduje znovu zatěžovat veřejný rejstřík.
Detail