Verify document deletion recovery across forced process termination
This commit is contained in:
@@ -655,3 +655,11 @@ Test: taslak kaynak verisinin JSON kaydetme/okuma turunda yeterlik, ceza ve kan
|
||||
Fiziksel temizleme başarısızsa belge uygulamadan erişilemez durumdadır; `document_file_cleanup` kuyruğu korunur ve sonraki veritabanı açılışlarında en fazla 100 dosya yeniden denenir. Yeniden başlatma için bellek içi görev gerekmez. Hâlen başka kayıt tarafından kullanılan dosya silinmez; belge dizini dışındaki yollar işlenmez. Bu, mantıksal silme ile fiziksel temizlemeyi ayırır; API başarısı kaydın erişimden kaldırıldığını ifade eder, bütün fiziksel baytların hemen temizlendiğini değil.
|
||||
|
||||
Migration sayısı 5 oldu. Testler: DELETE trigger hatasında gerçek dosya baytlarının ve kaydın korunması; dosya sistemi hatası için dosya yolunda dizinle unlink başarısızlığı; kayıt erişiminin kapanması; kuyruk kaydının yeniden açılışta korunması; sorun giderilince temizlenmesi. Eski unlink-hatasında-kayıt-kalır testi yeni kalıcı kuyruk sözleşmesine güncellendi. Tüm 140 test geçti. Üretim kodunda yalnız sunucu/depo değiştiğinden ön yüz derlemesi tekrarlanmadı. Zorla süreç öldürme/güç kesilmesi kabulü yapılmadı. Canlı yayın ve tam plan açık.
|
||||
|
||||
### D01 — Belge silmede gerçek süreç kesintisi kabulü
|
||||
|
||||
İzole geçici volume kullanan iki çocuk süreçte gerçek SIGKILL testi eklendi. İlkinde belge DELETE işlemi çalıştıktan sonra COMMIT öncesinde süreç durduruldu; ikinci durumda COMMIT sonrası fiziksel unlink başlamadan durduruldu. Kontrol noktasında dosyanın hâlâ diskte bulunduğu doğrulandı. Enjeksiyon yalnız test çocuk sürecindeki metotlarla sınırlıdır; üretimde hata tetikleyicisi eklenmedi.
|
||||
|
||||
Her durumda ayrı yeni süreç kullanıcı deposunu açtı. Commit öncesi kesintide kayıt ve özgün Türkçe dosya baytları korundu; commit sonrası kesintide kayıt yoktu ve kalıcı temizleme görevi yeni süreçte dosyayı kaldırdı. İki durumda da PRAGMA integrity_check sonucu ok, kuyruk sıfırdı. Bu, uygulama süreci kesilmesinin kabulüdür; donanım güç kaybı/dosya sistemi arızası veya bütün production rollback kabulü değildir.
|
||||
|
||||
Tüm 142 test geçti. Üretim kodu değişmediği için derleme tekrarlanmadı. D01'in bu kesinti maddesi kanıtlandı; diğer plan maddeleri ve canlı yayın açık.
|
||||
|
||||
Reference in New Issue
Block a user