B · Belegt
Antwort auf einen Acquire Request (A), der wegen erreichter Grenzen der Key-Queue oder globaler key/waiter/pending/memory admission nicht angenommen wurde. Diese Anfrage hat den Lock definitiv nicht erworben; ihr Frame war nicht ungültig.
owner ist der unverändert zurückgegebene Request-Wert als Correlator und identifiziert den abgelehnten Acquire (siehe Matching-Regeln).
Client-Verarbeitung
Offizielle Clients geben ein korreliertes B sofort als Busy/Capacity-Fehler an den Caller und senden denselben logischen Acquire intern nicht erneut. Für einen Retry legt der Caller einen globalen Application-Deadline und Backoff fest und startet ausdrücklich einen neuen Acquire mit neuem Owner.
Ein tatsächlich beobachtetes B beweist Nicht-Erwerb, daher ist ein separater neuer Call sicher. Aus einem Senden ohne Antwort darf niemals B gefolgert werden; das Ergebnis ist Indeterminate.
Byte-Notation:
opist ein ASCII-Zeichen,ownerist binär (u64, big-endian), undkeyist UTF-8-Text (variable Länge, in der Struktur alsNdargestellt). Das abschließende\nist0A. Der feste Header ist ein Binärwert und kann0x0Aenthalten — er muss daher zuerst anhand der Bytezahl verbraucht werden, bevor nach dem Zeilenumbruch gesucht wird.
Ablauf
Die Limits sind Memory Guardrails. Sie lehnen neue Acquires vor einem Daemon-OOM ab und reservieren Ressourcen für exact-token release, genehmigte Antworten, Cleanup und Raft recovery. Details wie key_busy, per_key_limit und global_overload stehen in Metrics/Logs, nicht im Wire.