פרויקט מנוע אחסון מקומי¶
נרחיב אחרי פרק 6 את היומן למנוע עם אינדקס ושאילתות. הרשומות ממוספרות, הפורמט בעל גרסה, והAPI מפריד בין שינוי שנראה בזיכרון לבין שינוי שאושר לפי חוזה durability.
ההרחבה מוסיפה בניית אינדקס מחדש, snapshot ותקציב זיכרון. הrecovery חייב להסביר מה עושים בזנב חלקי ומה עושים בהשחתה באמצע מידע שכבר אושר.
מזריקים short writes, EINTR, כשל sync ומקום שנגמר. מפילים את התהליך בכל גבול כתיבה ובודקים את רשימת האישורים מול התוצאה ששוחזרה. מבהירים שprocess crash אינו ניסוי מלא של אובדן חשמל או התקן שמפר הבטחות flush.
שער המעבר דורש שכל recovered state יהיה חוקי לפי החוזה, ושכל נתון שאושר יהיה ניתן לשחזור בתוך מודל הכשל שהוגדר. חיפוש מהיר אינו מפצה על איבוד רשומה שהלקוח קיבל עליה אישור.