venkata91 opened a new pull request, #3842:
URL: https://github.com/apache/celeborn/pull/3842

   ## Problem
   
   A push request timeout leaves the pooled `TransportClient` eligible for 
reuse while its Netty channel still reports active. After a Worker restart or 
Pod IP replacement, long-running applications can therefore repeatedly send 
replica pushes over a stale connection and receive `PUSH_DATA_TIMEOUT_REPLICA`.
   
   ## Fix
   
   - Invalidate and asynchronously close the transport client when a push 
request expires.
   - Ensure `TransportClientFactory` creates a fresh connection for the next 
request.
   - Temporarily add a timed-out replica peer to `unavailablePeers`, reusing 
the existing replica fast-fail duration.
   - Preserve higher-level retry/revive semantics rather than replaying the 
payload in the transport layer.
   
   ## Verification
   
   - `TransportResponseHandlerSuiteJ`
   - `TransportClientFactorySuiteJ`
   - `./build/mvn -pl common,worker -am -DskipTests package` with JDK 17


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

Reply via email to