Hi all, I'd like to pick up MySQL protocol support for brpc, building on @yanglimingcn's work in PR #2093 (https://github.com/apache/brpc/pull/2093). He invited a successor on the thread on 2025-07-15, and there is fresh user demand on issue #3011 (https://github.com/apache/brpc/issues/3011).
Rather than landing #2093 as a single ~8 KLoC PR (which stalled in review twice -- Jan 2023 and Jul 2023), I plan to deliver the same scope as four small, separately-reviewable follow-up PRs: 1. Text protocol + mysql_native_password (in progress) 2. Transactions (MysqlTransaction) 3. Prepared statements (COM_STMT_*, Socket fd-version ABA-safe stmt_id map per yanglimingcn's design) 4. caching_sha2_password + TLS (extension beyond #2093's scope) This staging matches yanglimingcn's original split -- his first attempt PR #691 (Mar 2019) was also text-protocol-only, with transactions/prepared statements planned as follow-ups. For Stage 1 specifically, the work is: - rebase onto current master (PROTOCOL_MYSQL slot 27 is now PROTOCOL_COUCHBASE; Socket::WriteOptions::with_auth was renamed to auth_flags) - clean-room rewrite of mysql_auth_hash.cpp (existing one is GPL-licensed, flagged by @wwbmmm in the review) - address every text-protocol review comment from the original rounds (typos, style, license headers, Socket::Write return-value check, New(Arena*) overload, dead-code removal) - drop the Socket::_fd_version field for now (only needed for stmt_id ABA in Stage 3) - open a fresh PR rather than pushing to #2093's branch, so the original author's history stays intact and he can pick up Stages 2-4 if he has time A couple of asks: 1. Could a PMC member assign a Stage 1 shepherd from the maintainer rotation? @wwbmmm already reviewed #2093 twice and would be the natural fit if available; happy with anyone else as well. 2. Any guidance on whether the new English doc should live at docs/en/mysql_client.md alongside the slim docs/cn/mysql_client.md, given the translation initiative in PR #3263. Will cross-link this thread from #2093, #209, and #3011 once the GitHub side is up. Thanks, Varun Raj --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
