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]

Reply via email to