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]

Reply via email to