raghav-reglobe commented on PR #68748:
URL: https://github.com/apache/doris/pull/68748#issuecomment-6582130777
<!-- doris-repo-review:v1:begin -->
### Local pipeline review — ✅ PASS
```yaml
schema: doris-repo-review/v1
status: PASS
pr: apache/doris#68748
commit: 2f1ac3901596d339212090b2ceec34d94cb9efe2
base: 6fafa3195ee4e90ddfb4d2b9c8e424e693d60512
reviewed_at: 2026-11-02T21:46+05:30
reviewer: raghav-reglobe
model: claude-fable-5-1
effort: xhigh
findings: {blocker: 0, major: 0, minor: 4, nit: 3}
rounds: 1
converged: true
```
**Notes for maintainers**
- `fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlChannel.java:432` —
Minor: when the decrypted record is the peer's `close_notify` (0 bytes
produced, engine inbound done) `readPlaintext` treats it as an empty record and
reads the next TLS record; a client that sends `close_notify` without
`COM_QUIT` and keeps TCP open (OpenSSL's second `SSL_shutdown`, Python
`ssl.unwrap()`) then holds an XNIO task thread until `wait_timeout`. Null-safe
fix: return after `decryptData` when `sslEngine.isInboundDone()`, plus a test.
- `fe/fe-core/src/main/java/org/apache/doris/mysql/MysqlChannel.java:435` —
Minor, pre-existing on the base but now documented as supported: a complete
second command parked in `remainingBuffer` is only read on the next readable
event, which a request/response client never sends (node mysql2 coalesces
`COM_STMT_CLOSE` + `COM_QUERY` into one TLS record); a drain loop in
`ReadListener` over `hasBufferedInput()` closes it (not `wakeupReads()`, which
double-dispatches).
- Not verified locally: no build, unit or regression run; evidence is the
diff, XNIO 3.8.14 and JDK 17 sources, and the named client libraries' write
paths. No regression suite sends a 0xFFFFFF-byte packet over TLS, so the
continuation rule rests on the unit test's identity cipher.
<sub>Reviewed locally with the `doris-repo-review` pipeline. Repository
policy may accept this receipt for the matching commit; it is not a human
Apache approval.</sub>
<!-- doris-repo-review:v1:end -->
--
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]