Kafka gateway: old and pinned clients

Aperta
#4,528 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust

Direzione di ricerca

The payload names no source files. Start in the Kafka gateway's request handling and find where it rejects SaslHandshake below v1, Produce below v3 and Fetch below v4. The scope also covers SASL tokens without a Kafka header and v0/v1 message format conversion, so read how the gateway handles SASL and record formats. Done when kafka-python 2.0.2 and Sarama 1.40.1 authenticate with SASL PLAIN and then produce and consume.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

gateways

Summary

The gateway closes the connection for a SaslHandshake v0 client, Produce below v3 and Fetch below v4. Kafka 4.0 dropped the same versions (KIP-896), but Kafka 3.x clusters still serve them.

Who hits it:

  • With SASL on: Sarama up to 1.40.1, which sends SaslHandshake v0 by default. kafka-python 2.0.2, which always sends v0 and was the latest release for four and a half years. aiokafka up to 0.12, with api_version="auto".
  • Version pins below Kafka 0.11 in Sarama, kafka-python and aiokafka. Tutorials and Event Hubs threads recommend such pins.
  • Sarama below 1.46, pinned at V2_8 or later, sends Metadata v10 and gets closed. #4527 removes this case.

librdkafka 1.8.0, which Ubuntu 22.04 ships, works, because the gateway advertises the old minimums.

Scope

  • SaslHandshake v0 with the SASL tokens that follow it without a Kafka header (before KIP-152)
  • On request only: message formats v0 and v1, converted to v2 on Produce and Fetch

Acceptance criteria

  • kafka-python 2.0.2 and Sarama 1.40.1 authenticate with SASL PLAIN, then produce and consume
Lingua principale
Rust
Stelle
5.2k
Fork
502
Merge medio
3g 5h
PR unite (30g)
152

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/iggy

Tutte le issue di apache/iggy

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.