תרגול עמידות ופורמט נתונים¶
הרחיבו את codec הרשומות כך שיפענח סוג, מספר רצף, מפתח וערך רק לאחר שכל בדיקות התקינות הצליחו. הבדילו בין רשומה קטועה, גרסה לא נתמכת ו־checksum פגום.
כתבו recovery עבור רשימת bytes בזיכרון שמכילה זוגות data ו־commit. הכניסו חתכים אחרי כל בית של הזוג האחרון ובדקו אילו עסקאות מותר להחיל. אין להחיל data שאין אחריו commit מתאים.
תכננו מסלול append שמטפל בכתיבה חלקית ומאשר רק אחרי flush מוצלח. הזריקו כשל אחרי כתיבת data, אחרי commit ולפני תשובת הלקוח. לכל מצב ציינו מה ידוע לשרת לאחר recovery ומה ידוע ללקוח.
הגישו חוזה שמפריד בין קריסת תהליך, קריסת מערכת ואובדן חשמל. ציינו אילו מן המצבים נבדקו בפועל ואילו נשארו הנחות על האחסון.