M · Redirigé
Indique au client que ce nœud n'est pas le leader, et qu'il doit s'adresser au leader à la place (cluster uniquement). Le corps est l'adresse client du leader (host:port) sous forme de texte — l'adresse à laquelle le client se connecte lui-même, pas le port Raft.
Les clients officiels ne mémorisent cette adresse comme indice du leader que si elle correspond exactement à une adresse déjà inscrite dans leur allowlist, puis ferment cette session. Un acquire dont un seul octet a pu être envoyé n'est ni associé arbitrairement à M, ni retransmis : il se termine par Indeterminate. Les requêtes indépendantes suivantes et les requêtes non envoyées que le writer ne détient pas encore utilisent la nouvelle connexion au leader. Si aucun leader n'a encore été élu et qu'il n'y a pas d'adresse à indiquer, un E no_leader est envoyé à la place.
Voir Protocole (Cluster) pour le comportement complet du cluster.
Notation des octets :
opest un caractère ASCII, etaddrest du texte UTF-8 (longueur variable, notéeNdans la structure). Le\nfinal est0A.
Flux
M ne contient ni owner ni key, et une session peut mélanger plusieurs acquires. Lors d'une transition leader→suiveur, des requêtes en cours de commit peuvent coexister avec celles refusées par le suiveur ; un M ne prouve donc pas qu'un pending précis n'a pas acquis le verrou. Cette règle prudente empêche les acquires en double et la prolongation du lease avec le même owner.