Ana içeriğe geç

Eşzamanlılık Güvenliği

Kural

Şu invariantlar yarış-koşulu (concurrent-mutation) altında da korunur; eşzamanlılık hiçbirini delemez:

INVITATION SINGLE-USE · ACTIVE MEMBERSHIP UNIQUENESS · OWNER CONTINUITY
OWNERSHIP TRANSFER ATOMICITY · ROLE-CHANGE ⊥ REMOVAL CONSISTENCY

Check-then-write deseni tek başına yeterli güvence değildir; davranış-sonucu "yarış-penceresinde bile ihlal imkânsız"dır. (Bunu sağlayan mekanizma seçimi — transaction, optimistic-concurrency, DB-constraint — CAN-DEC-ADR-007 kapsamındadır; bu kural sonucu bağlar.)

Gerekçe

Tekil-istek testlerinde geçen korumalar, yarış-penceresinde sessizce delinebilir: aynı davetin çift kabulü iki üyelik, eşzamanlı demote+leave sahipsiz organization üretebilir. Güvenlik-invariantı "çoğu zaman doğru" olamaz.

Test edilebilir hükümler

  • Aynı davetin eşzamanlı iki kabulü tek membership üretir; ikinci deneme kontrollü sonuç alır.
  • Eşzamanlı duplicate-davet istekleri tekillik-kuralına takılır (CAN-REQ-RULE-011 sonuç-sınıfları).
  • Rol-değişimi ile üyelikten-çıkarma aynı hedefe eşzamanlı uygulandığında sonuç tutarlı tek-durumdur; çelişkili ara-durum kalmaz.
  • Ownership-transfer sırasında hedef-üyeliğin eşzamanlı kapatılması denemesi owner-korumasını delemez.
  • Son-owner'ı hedefleyen eşzamanlı mutation-çiftleri (demote+leave vb.) hiçbir sıralamada sahipsizlik üretemez (race-test zorunlu).

Kapsam

Davet-kabul, membership-yaratma/sonlandırma, rol-değişimi, ownership-transfer yollarının tamamı. Kapsanan UC'ler: UC-OAM-006/008/010/011/012/013. Bu kuralın test-yükümlülüğü ilgili tüm RULE'ların yarış-boyutunu kapsar (011/012/013).