Skip to content

[Rust-dataplane] Migration must not fail when backend lacks CONNECT_WITH_DB #1359

Open

Description

@bb7133

Migrated from bb7133/tiproxy#195. Original author: wjhuang2016; created: 2026-09-02T12:43:23Z; source body SHA-256: 98716752416412d27fca5681622664d2fc0c61d5626bdc543fb6e2a9ab846d78.

Rust dataplane rewrite parity/functional RED

  • Snapshot commit: 60efdf5e6e8226423df85033534ad748ccb129db
  • Run: run.tiproxy-rust-dataplane.migration-connect-db-missing-backend.20260902.RED

Problem

Go writeAuthHandshake omits CONNECT_WITH_DB/DB when backend lacks the capability and continues. Rust migration_auth_capabilities returns CandidateFailure::Handshake when has_database and backend lacks CONNECT_WITH_DB.

Claim

if a migration backend does not advertise CONNECT_WITH_DB, Rust must omit the DB capability and continue like Go rather than failing the candidate.

Source anchors

  • pkg/proxy/backend/authenticator.go:409-422 writeAuthHandshake capability intersection
  • rust/crates/dataplane/src/session_engine.rs:1269-1274 fails on missing CONNECT_WITH_DB

Boundary

  • Before: Rust returns CandidateFailure::Handshake
  • After: Go sends backend handshake without CONNECT_WITH_DB and proceeds

Local evidence

  • run.tiproxy-rust-dataplane.migration-connect-db-missing-backend.20260902.RED

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    migration:bb7133-tiproxyMigrated from bb7133/tiproxy with preserved provenance

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions