echonesis opened a new pull request, #11225:
URL: https://github.com/apache/ozone/pull/11225

   …cess
   
   ## What changes were proposed in this pull request?
   
   `XceiverClientShortCircuit` accesses connection state and other mutable 
fields from caller, timer, and receiver threads. Some of these accesses were 
not coordinated by the existing lock, so the client did not safely support 
concurrent use.
   
   This pull request consistently uses the existing lock to protect mutable 
client state, including the domain socket, timer, connection state, request and 
response counters, logging reads, and request send timestamps.
   
   The change also:
   
   * Serializes connection initialization, request registration and writes, and 
the close transition.
   * Keeps blocking response reads, future completion, response waits, and 
receiver thread joins outside the lock.
   * Makes repeated `connect()` calls idempotent while the connection remains 
open.
   * Preserves the one-shot connection lifecycle by rejecting reconnect 
attempts after connection failure, receiver failure, or close.
   * Lets the receiver use stable references to the domain socket and timer.
   * Safely handles concurrent close calls and fails pending requests when the 
client is closed.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-16335
   
   ## How was this patch tested?
   
   Local Test
   ```
   mvn -pl :ozone-integration-test -am test \
     -Dtest=TestXceiverClientManagerSC \
     -Dsurefire.failIfNoSpecifiedTests=false \
     -DskipShade -DskipRecon -DskipDocs
   ```
   
   GitHub Actions CI: 
https://github.com/echonesis/ozone/actions/runs/34323138899
   
   Generated-by: Codex (GPT-5)


-- 
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