E · Error
Respons saat request tidak dapat diproses. Teks reason menggantikan key. Key tidak di-echo, jadi frame saja tidak dapat menentukan request pipeline mana yang gagal. Karena itu setiap E adalah connection-fatal. Server melakukan flush E bila mungkin lalu menutup; klien resmi juga membuang session. Acquire yang setidaknya satu byte-nya terkirim tanpa respons final berakhir Indeterminate, bukan sukses atau gagal yang diasumsikan.
| reason | penyebab | koneksi |
|---|---|---|
auth_failed | digest auth handshake tidak cocok | ditutup |
bad_op | kode op tidak dikenal | ditutup |
bad_request | fixed header terlalu pendek (10 bytes untuk A, 8 untuk R) | ditutup |
bad_lease | lease adalah 0 atau 251..255 | ditutup |
bad_key | key kosong / melebihi 128B / mengandung spasi atau newline / bukan UTF-8 | ditutup |
line_too_long | frame melebihi 192B | ditutup |
no_leader | (cluster) leader saat ini tidak diketahui — sedang berlangsung pemilihan; coba lagi sebentar lagi | ditutup |
not_active | node tidak bisa melayani — sedang shutdown | ditutup |
- Delapan alasan ini adalah daftar lengkap dan semuanya menutup koneksi. Raw client boleh mendiagnosis, tetapi tidak boleh resinkronisasi atau memakai ulang stream.
- Klien resmi memvalidasi key dan waktu sebelum kirim;
bad_*bukan hasil API normal. no_leaderdannot_activebersifat sementara, tetapiEtidak memiliki owner/key. Buang session; hanya request yang belum dikirim boleh dicoba pada koneksi baru. Jangan otomatis mengulang acquire terkirim.M,L,no_leader, dannot_activehanya ada di cluster.- Capacity penuh mengembalikan
B(busy), bukanE, karena meng-echo owner dan key.
Notasi byte:
opberupa karakter ASCII, danreasonberupa teks ASCII (panjang variabel, ditampilkan sebagaiNdi struktur).\ndi akhir adalah0A.
Alur
E memberi informasi diagnosis, tetapi tidak pernah mengizinkan penggunaan ulang stream secara aman. Penolakan capacity yang dapat dipulihkan memakai B (busy) yang meng-echo owner dan key.