Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Selhání, které se objevilo jednou a nikdy znovu

Selhání pozorované uvnitř relace je popsáno v té relaci a nikde jinde, takže další začíná od zprávy, ne od důkazů.

→ ztratil selhání, které worker už reprodukoval, protože relace skončila

cena, když k tomu dojde
střední
jak často
běžné

Okamžik

Ve tři ráno pracovník reprodukoval občasné selhání a jasně to řekl. V devět už relace není. Zbyde věta popisující selhání, které teď nikdo nedokáže vyvolat.

Proč k tomu dochází

Reprodukce je drahá část ladění a žije v běžícím kontextu: prostředí, posloupnost, kus stavu. Nic z toho není zapsáno ve chvíli, kdy existuje, protože pracovník je zaneprázdněn řešením problému, a když to někdo chce, kontext už byl zahozen.

Proč to lepší model nevyřeší

Selhání už bylo nalezeno. Chybí trvalý artefakt vytvořený v okamžiku pozorování. Lepší pracovník ho najde rychleji a ztratí ho stejně úplně.

Co to stojí

Šetření se opakuje od začátku, obvykle víckrát, a každé opakování se platí za cenu originálu. Občasná selhání jsou nejhorší případ: druhé šetření nemusí vůbec reprodukovat, takže chyba se zaeviduje jako nereprodukovatelná a vrátí se v produkci.

Co Majordomus dělá

Checkpointing je prvotřídní, levný úkon s pevným limitem délky: majordomus checkpoint zaznamenává, co platilo před chvílí, dost krátce, aby ho další kontext mohl citovat celé, a příliš dlouhé tělo odmítne, místo aby ho ořízlo. Profil nastavuje interval a check a watch hlásí stáří checkpointu, takže dlouhé vyšetřování, které nic nezaznamenalo, je vidět. Relace, která skončí, zapíše předávku s cílem, aktuálním stavem a další akcí, každé povinné, a další relace ji rozřeší s označením divergence vypočteným z gitu.

Před a po

before   3am: "reproduced it — it's the retry loop under load"   (session, gone)

after    $ majordomus history --task t-…a4f1
         checkpoint  head=8c31f0e  "reproduced under 50 concurrent enqueues;
                                    the retry loop re-enters before the ack"
         handover    advanced      # Next Action: add the load case to test/queue

Co nedělá

Nezachycuje prostředí a nezaznamenává výstup relace. Checkpoint píše pracovník; nástroj zaručuje, že je krátký, připojený k head a čitelný tím, co přijde dál.

Jak to vypadá

Konkrétní situace, jedna pro každé publikum. Každá je deklarována v záhlaví okamžiku, takže stav před a po jsou data, ne próza, od které by se stránka mohla odchýlit.

  1. Noční flake ai-native-team

    před
    Pracovník ve 3 ráno narazí na občasné selhání, popíše ho a relace skončí; ráno je tu odstavec a žádná reprodukce.
    po
    Kontrolní bod zaznamenává, co platilo v daném okamžiku, omezený tak, aby ho příští kontext mohl citovat celý, s headem, na který se vztahoval.
  2. Sonda, která něco ukázala research-team

    před
    Experiment přinese zajímavý negativní výsledek; větev je zahozena, a s ní i pozorování.
    po
    Pozorování je záznam znalostí s třídou `observed` a důkazy, z nichž bylo přečteno.
  3. O dva dny později solo-builder

    před
    Práce se obnoví po přestávce a stav vyšetřování se musí rekonstruovat z diffu.
    po
    Předávka jmenuje cíl, aktuální stav a další krok a říká, jak daleko se od té doby git posunul.

Jak to poznáte

Pozorovatelné příznaky, které tento okamžik deklaruje. Jsou dotazníkem na indexu a vstupem pro majordomus why diagnose; nic jiného je nedefinuje.

  • Selhání bylo jednou reprodukováno a poté už nešlo reprodukovat. cannot-reproduce-again
  • Důkaz o chybě existuje jen v okně relace. evidence-in-the-window
  • Ladění začíná znovu od něčího popisu, ne od zaznamenaného pozorování. starts-from-a-report

Kde to v nástroji najdete

Vše níže je načteno z vlastního záhlaví tohoto okamžiku a ověřeno proti repozitáři. Neexistující název by neprošel validací.

příkazy, které na to odpovídají

schopnosti spustitelného souboru, které na to odpovídají

co dohlíží — odvozeno z tvrzení níže

tvrzení, která tuto stránku podpírají, a důkazy za každým z nich

pravidla, která jej řídí

  • majordomus.checkpoint-freshness
  • majordomus.handover-integrity
  • majordomus.handovers-carry-state
  • majordomus.ledger-integrity

případy užití, které ukazují cestu ven

Pokud vám tohle zní povědomě, další také

Co tento okamžik pojmenovává, co pojmenovává jeho a co sdílí jeho oblast, publikum nebo štítky. Druhé a třetí je odvozeno; zapsáno je jen první.

Všech 38 a jak souvisejí s nástrojem →

Prohledává názvy a popisy všech stránek, které tento web publikuje.