Kafka gateway: old and pinned clients

オープン
#4,528 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
rust

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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
主要言語
Rust
スター
5.2k
フォーク
502
平均マージ
3日 3時間
マージ済み PR(30日)
163

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

apache/iggy のほかの issue

apache/iggy の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。