CalvinKirs opened a new pull request, #68944:
URL: https://github.com/apache/doris/pull/68944

   ### What problem does this PR solve?
   
   Related PR: #68824 (cherry-picked from merged commit 
`cbed065d54f9bef9d27c7848e43929a19df20fce`).
   
   Backport MySQL 9 client and Connector/J 8/9 compatibility to `branch-4.1`.
   
   | Area | Supported behavior in 4.1 | Backport coverage |
   | --- | --- | --- |
   | B1: Multiple statements | Advertise `CLIENT_MULTI_STATEMENTS`, 
`CLIENT_MULTI_RESULTS`, and `CLIENT_PS_MULTI_RESULTS` so `allowMultiQueries` 
clients can consume all results. | Capability, handshake, and negotiation unit 
tests. |
   | A1: `caching_sha2_password` | Complete full authentication over TLS or 
RSA, including empty and incorrect passwords and `COM_CHANGE_USER`; use the 
channel's actual TLS state. | Password resolver and negotiation unit tests. |
   | A1: Client selection | Support 
`mysql_caching_sha2_password_clients=auto/all/none`; `auto` selects MySQL 9+ 
using `_client_version`. Validate startup and dynamic updates. | Configuration 
and authentication unit tests. |
   | D3: `authentication_policy` | Expose the read-only `*,,` value to MySQL 
clients. | Variable and SHOW CONFIG unit tests. |
   | F1: Prepared TIME | Decode binary `MYSQL_TYPE_TIME`/`TIME2`, including 
fractional seconds, signed durations, zero, and NULL; reject malformed or 
out-of-range payloads. | TIME literal unit tests for framing, bounds, and 
fractional values. |
   
   The 4.1 adaptation puts `authentication_policy` in 4.1's `fe-core` 
`GlobalVariable` and ports the new protocol tests to its JUnit 4/JMockit setup. 
The original PR's comment-only changes to files absent on 4.1 are omitted. This 
branch was rebased onto the latest `branch-4.1`, including #68925's TLS packet 
fix; the changes in `MysqlChannel` do not overlap.
   
   ### Release note
   
   Improve MySQL 9 client and Connector/J 8/9 compatibility for authentication, 
multi-statement results, `authentication_policy`, and prepared TIME parameters. 
Reject invalid authentication client options at startup.
   
   ### Check List (For Author)
   
   - Test
       - [x] Unit Test: 66 targeted FE tests passed using `run-fe-ut.sh` after 
rebasing onto current `branch-4.1`.
       - [x] FE Maven Checkstyle validation passed with zero violations before 
the non-conflicting rebase.
       - [ ] Regression test: not rerun for this backport.
       - [ ] Manual test: no branch-4.1 JDBC run for this backport; the 
original PR reports 28 Connector/J integration cases against its rebuilt FE.
   - Behavior changed:
       - [x] Yes, as listed in the functionality table.
   - Does this need documentation?
       - [x] Yes. The new `mysql_caching_sha2_password_clients` setting needs 
documentation, as noted in #68824; a documentation PR has not been opened yet.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to