B · 사용 중
획득 요청(A)이 왔지만 키 대기열 또는 서버 전체의 key/waiter/pending/memory admission이 상한에 도달해 요청을 받아들이지 않았다는 응답입니다. 이 요청은 확정적으로 락을 얻지 않았으며, 요청 형식이 잘못된 것은 아닙니다.
owner는 요청에 실었던 값을 그대로 되돌려 준 상관자입니다 — 어느 획득 시도가 거절됐는지 정확히 알 수 있습니다(응답 매칭 규칙).
클라이언트 처리
공식 클라이언트는 상관된 B를 즉시 Busy/Capacity 계열 오류로 caller에게 반환하며, 같은 논리 acquire를 내부에서 자동 재전송하지 않습니다. 과부하 중 retry 폭주를 만들지 않기 위한 규칙입니다. caller가 다시 시도하려면 application 전체 deadline과 backoff를 정한 뒤 새 owner의 새 acquire를 명시적으로 시작합니다.
B를 실제로 받은 요청은 확정 미획득이므로 별도의 새 호출은 안전합니다. 응답을 받지 못한 전송을 B로 추정해서는 안 되며 그런 결과는 Indeterminate입니다.
바이트 표기:
op는 ASCII 문자,owner는 바이너리(u64, 빅엔디안),key는 UTF-8 텍스트(가변, 구조에서N)입니다. 마지막\n은0A. 고정 헤더는 이진 값이라0x0A를 포함할 수 있으니, 개행을 찾기 전에 바이트 수로 먼저 소비해야 합니다.
흐름
상한은 메모리 방어선입니다. 데몬이 OOM으로 종료되기 전에 신규 acquire를 거부하고, exact-token release, 이미 승인된 응답, cleanup과 Raft 복구에는 예약 자원을 남깁니다. 상세 원인은 wire가 아니라 서버 metric/log의 key_busy, per_key_limit, global_overload 등으로 구분합니다.