פתרון פרויקט מאגר ושירות מקומי¶
הפתרון מאמת את המתקשר דרך הpipe ומעתיק זהות מאומתת למבנה החלטה שאינו תלוי באורך חיי impersonation. ההתחזות מסתיימת באותו scope שהתחיל אותה. הפעולה עצמה מתבצעת תחת מדיניות שירות מפורשת, בלי להשאיר thread pool impersonated לעבודה הבאה.
הparser בודק header ואורך לפני הקצאה, ומפריד framing מפקודת העסק. קבלת intent מתבצעת רק אחרי שהרשאה, קיבולת ותקינות payload עברו. תשובת accepted נשלחת לאחר נקודת commit שהוגדרה, ולכן recovery חייב לשחזר רשומה לכל אישור כזה.
הretry מחפש את המפתח ומוודא שהתוכן זהה. בקשה קיימת אינה מפנה מחדש תקציב עבודה, ותוצאה קיימת מוחזרת רק לאחר access check. אם אין תוצאה סופית, מחזירים מצב פעיל או לא ידוע לפי מה שנרשם, ולא מבצעים שוב פעולה חיצונית ללא חוזה מתאים.
הבדיקה של דיסק מלא מכריחה כשל לפני commit ובזמן שמירת result. לפני קבלה אפשר לדחות בלי התחייבות לשמור עבודה; אחרי קבלה צריך לשמר יכולת recovery. המערכת אינה מדווחת succeeded כאשר הresult שנדרש להיות durable לא נשמר.
הmigration נכתב לgeneration חדש ומאומת לפני פרסום. הסכמה הישנה נשמרת לפי מדיניות rollback, והreader הישן דוחה גרסה שאינו מכיר. בדיקת קריסה אחרי הפרסום שונה מבדיקה לפניו, כי מקור האמת כבר השתנה.
הראיות כוללות מפת אישורים מול רשומות recovered, תוצאות לכל משתמש וtrace של stop תחת עומס. הפרדה בין זהות, persistence וlifetime מאפשרת להסביר כשל בלי לקרוא לכל בעיה ״הרשאות״ או ״דיסק״.