Odpověď na názor

Odpovídáte na názor ke článku Jak zakázat explicitní fsync (v Ubuntu).

  • 25. 6. 2012 7:55

    Heron (neregistrovaný)

    [36] Nemáte pravdu. Databáze u synchronní replikace vzátí řízení klientovi (příkaz commit skončí bez chyby) až po té, co jsou data zapsaná na všech replikačních uzlech. Funguje to tedy zcela stejně, jako u jednoho lokální db démona (s tím, že zde se čeká na toho nejpomalejšího vzdáleného).

    Při výpadku je jasné, co se commitlo (spolehlivě na všechny uzly) a co ne.

    Mě je zcela jedno, co BFU pozná a co nepozná. Uživatelé si stěžovali, že se jim na ext4 ztrácí data v případě crashe OS. Mohlo za to jednak delayed allocation (novinka v ext4 proti 3) a také to, že programy využívaly sémantiku, která byla zcela náhodná a nečekaná (díky ordered journal, commit=5), tedy, že se data fsyncla před metadaty a jakákoliv změna metadat tak nechtěně zaručila i spolehlivý zápis dat (tyhle vadné programy to řešili nějak přes přejmenování). Tohle fungovalo pouze na ext3 v určitém konkrétním nastavení a přes to změna na ext4 způsobila poměrně silnou bouří. Právě od těch BFU.

    Zastaralý. Pokud ordered zápisy budou vracet protvzení o svém provedení (protože to je skutečně potřeba) potom ok. Jenže potvrzený zápis je vlastně fsync. Takže trochu kruh, že ano.