Ticketing
Dokumentation

L · Leader-Hinweis

Strukturrefresh

Keine Antwort auf eine Anfrage, sondern eine vom Server ausgehende Mitteilung (nur im Cluster). Erkennt ein Knoten, dass der Raft-Leader gewechselt hat, sendet er die Client-Adresse des neuen Leaders einmalig an alle Clients, die mit ihm verbunden sind.

Worin es sich von M unterscheidet

M · VerwiesenL · Leader-Hinweis
ArtAntwort auf eine AnfrageMitteilung des Servers (unabhängig von Anfragen)
Bedeutung„diese Anfrage kann hier nicht bearbeitet werden“„der Leader hat gewechselt“ (Information)
Verbindungschließen und zum neuen Leader neu verbindenbestehen lassen — nur der Hinweis wird aktualisiert
Dieser Knotenist sicher nicht der Leaderkann selbst der neue Leader sein

Die Verbindung darf nach einem L nicht geschlossen werden. Häufig ist der sendende Knoten genau der neue Leader, und über diese Verbindung stehen noch Anfragen aus.

Wozu das gut ist

Ohne diese Mitteilung erfährt ein Client von einem Leader-Wechsel erst, wenn er eine Anfrage absetzt und mit M abgewiesen wird. L spart diesen Umweg, sodass schon die erste Anfrage nach einem Failover direkt beim neuen Leader landet.

Ältere Clients, die dieses op nicht kennen, können es gefahrlos ignorieren — sie verhalten sich dann lediglich wie vor der Einführung (Anfrage → M → Wiederholung).

Byte-Notation: op ist ein ASCII-Zeichen, und addr ist UTF-8-Text (variable Länge, in der Struktur als N dargestellt). Das abschließende \n ist 0A.

Ablauf

Client
verbundener Knoten
neuer Leader
eine Wahl wechselt den Leader
L · Leader-Hinweis (Adresse des neuen Leaders)
nur der Leader-Hinweis wird aktualisiert — Verbindung bleibt bestehen
ab der nächsten Anfrage direkt zum neuen Leader
A · vergeben (token)
AnfrageAntwort

Im Einzelserver-Modus gibt es keinen Leader-Begriff, daher wird diese Mitteilung dort nie gesendet. Zum Cluster-Verhalten insgesamt siehe Protokoll (Cluster).