Wait-For Graph

대기 그래프에서 사이클이 보이면 희생자를 골라 순환을 끊는다

노드는 트랜잭션, 간선은 기다림이다. 사이클 발견은 정상적인 실패·재시도 흐름으로 처리해야 한다.

T1이 T2를, T2가 T3를, T3가 T1을 기다리는 사이클 T1 T2 대기 T2 T3 대기 T3 T1 대기 waits waits waits cycle found

Detect

cycle

대기 그래프 검사에서 순환을 찾는다.

Choose

victim

작업량, 우선순위, 비용으로 희생자를 고른다.

Retry

application

롤백 후 트랜잭션 전체를 안전하게 재시도한다.