---
title: Pamäť, ktorá sa sama odpojila
type: failure
level: L3
status: live
revision: 1
updated: 2026-08-14
systemVersion: 4.2
authoring: machine-translated
tags: [memory, architecture, ssot]
rating: 8.35
ratingAxes: useful 8 · evidence 8 · pull 9 · original 9 · form 8
ratingKind: derived
source: memory layer split, root cause 2026-06-13
---

# Pamäť, ktorá sa sama odpojila

_Written 2026-08-14 · last verified 2026-08-14 · system v4.2 · live_

**TL;DR** — Úložisko poznámok sa zrkadlilo do záložného umiestnenia. Indexové súbory prepájali záznamy pomocou relatívnych ciest, takže odkazy v zrkadlenej kópii sa vyhodnocovali v rámci samotného zrkadla. Vznikli tak dve paralelné úložiská, obe pôsobili kompletne, a zápisy smerovali do toho, ktoré sa práve otvorilo v danej relácii.

## Symptóm

Fakty začali miznúť. Niečo, čo bolo v jednej relácii zapísané a potvrdené, v nasledujúcej relácii chýbalo a o reláciu neskôr sa to zase objavilo. Nič nebolo poškodené a žiadny súbor sa nestratil.

Existovali **2 kompletné kópie** úložiska poznámok, každá s približne 240 súbormi. Obe pôsobili zvnútra ako autoritatívne.

## Hlavná príčina

Úložisko sa zrkadlí do druhého umiestnenia kvôli zálohovaniu. Zrkadlenie prebiehalo správne a fungovalo.

Indexové súbory prepájali záznamy pomocou **relatívnych ciest** — `../../../../notes/entry.md`. Vo vnútri zrkadla sa tieto cesty vyhodnocovali na vlastné kópie zrkadla. Záloha teda nebola množina súborov, ktoré odkazovali domov; bola to plne funkčné paralelné úložisko, ktoré odkazovalo samo na seba.

Akonáhle boli oba priechodné, rozdiel medzi originálom a kópiou v praxi prestal existovať. Relácia, ktorá vstúpila cez zrkadlo, čítala zo zrkadla, zapisovala do zrkadla a videla súvislý, kompletný, mierne odlišný svet.

Pravidlo jedného zdroja pravdy existovalo po celý čas. Popisovalo zámer a nič ho nevynucovalo, pretože obe kópie spĺňali každú kontrolu, akú si niekto dovtedy vymyslel.

## Cena

Zápisy sa počas neznámeho obdobia rozdeľovali medzi dve úložiská, bez možnosti zistiť, ktorá verzia rozdielneho záznamu je novšia, bez otvorenia oboch. Zosúladenie prebiehalo manuálne.

Trvalá cena je iného druhu. **Pamäť, ktorá sa dokáže potichu rozdvojiť, je horšia ako pamäť, ktorá zlyhá**, pretože zlyhanie je viditeľné, zatiaľ čo rozdvojenie prináša dve sebavedomé odpovede.

## Náprava

Odkazy medzi záznamami sa stali **absolútnymi**, vyhodnocovanými cez jedinú lokálnu serverovú adresu namiesto prechádzania súborovým systémom:

> nikdy `../../../../notes/entry.md` — vždy kanonická adresa

Podľa tejto schémy odkazy zrkadla smerujú na skutočné úložisko. Zrkadlo sa stáva tým, čím malo byť: neaktívnou kópiou, užitočnou na obnovu, nepoužiteľnou na navigáciu.

Autoritatívne umiestnenie je teraz uvedené v inštrukciách najvyššej úrovne ako pevné pravidlo a zastarané umiestnenie má na začiatku vlastného indexu upozornenie s presmerovaním — takže čokoľvek sa tam dostane, dostane informáciu, kam má ísť namiesto toho, aby ticho pokračovalo.

## Prevencia

Vyplynuli z toho tri pravidlá a tretie je to, ktoré sa dá zovšeobecniť.

Krížové odkazy vo vnútri replikovaného úložiska sú vždy absolútne. Relatívny odkaz je tvrdenie o polohe a kópia mení polohu už zo svojej podstaty.

Záloha musí byť **ťažko použiteľná omylom**. Ak je zrkadlo rovnako prehľadateľné ako originál, nie je to záloha, je to druhá hlava.

A pravidlo jedného zdroja pravdy, ktoré nevynucuje žiadna kontrola, je dokumentácia, nie architektúra. Toto pravidlo bolo zapísané, odsúhlasené a citované — a porazili ho 4 bodky a lomka.

## Pozri tiež

`two-hundred-and-forty-dead-links` · `the-count-that-drifted` · `the-header-that-counts-itself`
