Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Rust-dataplane] Migration backend handshake must preserve CONNECT_WITH_DB when current-db empty

オープン 初心者向け
#1,358 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

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

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
64/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
go, rust
領域
backend, databases

調査の方向性

rust/crates/dataplane/src/session_engine.rs の1270~1277行付近を読み、capability の処理を pkg/proxy/backend/authenticator.go の409~422行付近と比較してください。ローカルの証拠には run.tiproxy-rust-dataplane.migration-connect-db-capability.20260902.RED とあります。これを使って、現在のデータベースが空の場合を確認してください。クライアントが CONNECT_WITH_DB をネゴシエートし、バックエンドがサポートしている場合に、Rust がバックエンドの handshake で CONNECT_WITH_DB を保持すれば完了です。

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

説明

migration:bb7133-tiproxy

Migrated from bb7133/tiproxy#194. Original author: wjhuang2016; created: 2026-09-02T12:43:20Z; source body SHA-256: 3398fb4a03b040cab2767263d631dfe5c0f3cc73b9ba8efd9eb814c39840f30e.

Rust dataplane rewrite parity/functional RED
  • Snapshot commit: 60efdf5e6e8226423df85033534ad748ccb129db
  • Run: run.tiproxy-rust-dataplane.migration-connect-db-capability.20260902.RED
Problem

Go writeAuthHandshake preserves CONNECT_WITH_DB in backend handshake regardless of DB value. Rust migration_auth_capabilities clears CONNECT_WITH_DB when has_database is false.

Claim

when original client negotiated CONNECT_WITH_DB and the migration backend supports it, Rust must keep CONNECT_WITH_DB even when current-db is empty.

Source anchors
  • pkg/proxy/backend/authenticator.go:409-422 writeAuthHandshake never clears CONNECT_WITH_DB
  • rust/crates/dataplane/src/session_engine.rs:1270-1277 migration_auth_capabilities clears on has_database false
Boundary
  • Before: Rust removes CONNECT_WITH_DB when current-db empty
  • After: Go sends CONNECT_WITH_DB with empty DB field
Local evidence
  • run.tiproxy-rust-dataplane.migration-connect-db-capability.20260902.RED
主要言語
Go
スター
73
フォーク
40
平均マージ
15時間 43分
マージ済み PR(30日)
9

環境構築

はじめの一歩

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

pingcap/tiproxy のほかの issue

pingcap/tiproxy の issue をすべて見る

似ている issue

Go の issue をもっと見る

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

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