-
Notifications
You must be signed in to change notification settings - Fork 47
Cancel이 발생하는 상황
Minkyeong Kim edited this page Dec 11, 2024
·
1 revision
- arcus 노드가 zk로부터 사라져서 연결을 끊어야 할 때 readQueue, writeQueue, InputQueue의 Operation들이 Cancel된다.
- arcus 노드에 reconnect해야할 때 FailureMode가
Cancel
일 경우 writeQueue, InputQueue의 Operation들이 Cancel된다. - 새로운 Operation을 node에 추가할 때 node가 null이거나 inactive 노드이면 해당 Operation은 Cancel된다.
- Overflow로 인해 writeQueue에 Operation을 추가할 수 없을 때 해당 Operation은 Cancel된다.
- InputQueue로 Operation을 추가하고자 할 때 authentication timeout(1초)이 발생하면 해당 Operation은 Cancel된다.
- setupResend 메서드에서 Operation들을 resend하고자 할 때, 현재 readQueue에서 응답을 기다리는 중인 Operation들은 Cancel된다.
- switchover가 발생하여 한 arcus 노드에서 다른 arcus 노드로 Operation들을 모두 옮길 때 멱등하지 않은 Operation을 cancel시키고 싶다는 옵션을 주었다면 멱등하지 않은 Operation들은 Cancel된다.
- Operation의 상태가
REDIRECT
여서 redirect를 시도하지만 RedirectHandler를 찾을 수 없을 때 해당 Operation은 Cancel된다. (실제로는 절대 발생 하지 않는 경우이다.) - Operation을 redirect시킬 대상 노드가 없거나, inactive 노드일 때 해당 Operation은 Cancel된다.
- arcus 노드를 reconnect해야할 때 FailureMode가
Redistribute
일 경우 writeQueue, InputQueue에 속한 Operation 중 KeyedOperation이 아닌 것들은 Cancel된다. - arcus 노드가 LEAVE 상태여서 redistribute해야 하는데 readQueue, writeQueue, InputQueue에 속한 Operation 중 KeyedOperation이 아닌 것들은 Cancel된다.