Files

1.2 KiB

id, status
id status
ac-0029 active

데몬 비활성화와 배정의 원자적 직렬화

Criterion

portfolio assignment와 daemon 비활성화가 경합할 때 검증과 write를 직렬화하여 비활성화가 먼저 확정된 daemon에는 새 assignment를 저장하지 않아야 하며, assignment가 먼저 확정된 뒤 비활성화되면 기존 portfolio reference를 보존하고 기존 service-token revoke 계약을 적용해야 한다.

Verification

  • 성공 조건: 두 commit 순서 모두 허용된 최종 상태만 만들고 assignment-first 이후 deactivation은 reference 보존과 token revoke를 함께 관찰한다.
  • 실패·경계 조건: inactive daemon에 새 assignment가 commit되거나 deactivation이 기존 reference를 자동 제거하거나 bound active token을 유지하면 실패한다.
  • 검사 방법: 별도 connection/thread를 사용하는 disposable PostgreSQL race test와 deactivation/reference/token 결합 test를 실행하고 timeout·deadlock을 검사한다.
  • 현재 구현 평가: daemon FOR SHARE validation과 deactivation UPDATE 직렬화 및 실제 PostgreSQL tests가 존재하며 2차 QC integration에서 통과했다.