You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Rust-dataplane] Rust dataplane must stream oversized client commands instead of materializing them #1355
Migrated from bb7133/tiproxy#191. Original author: wjhuang2016; created: 2026-09-02T12:43:12Z; source body SHA-256: 55356c48eacfeeb7376024c1181cf23c81047df8746f831339056792f9817d64.
rust/crates/dataplane/src/session_engine.rs:351 defines COMMAND_PAYLOAD_LIMIT=64MiB; command intake at session_engine.rs:2230 calls client_io.read_logical(COMMAND_PAYLOAD_LIMIT) and moves the full payload into PendingCommand. Go streams any client command whose first physical packet length >= pnet.MaxPayloadLen (pkg/proxy/backend/backend_conn_mgr.go:50-51,395-408) without materializing the request.
Claim
for client command logical payloads at or above Go's streaming threshold, Rust must forward them in bounded memory (or at least not reject them solely because they exceed 64MiB), matching Go's no-OOM streaming contract.
Activity