shanizta siddiqua created CASSANDRA-21265:
---------------------------------------------

             Summary: [GSoC 2026] CEP-59: Self-Draining Graceful Disconnect    
via cleanup() Callback   
                 Key: CASSANDRA-21265
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21265
             Project: Apache Cassandra
          Issue Type: New Feature
          Components: Messaging/Client
            Reporter: shanizta siddiqua
            Assignee: shanizta siddiqua


This proposal takes a driver-first approach to CEP-59, with a self-draining 
connection mechanism that hooks into CQLMessageHandler's existing cleanup() 
callback and per-connection channelPayloadBytesInFlight counter.

Server-side: Four-phase shutdown (SEAL → SIGNAL → DRAIN → DEADLINE). Each 
connection closes itself via three conditions in the existing cleanup() 
callback:

if (!isRunning && bytesInFlight == 0 && gracePeriodElapsed()) channel.close();

The gracePeriodElapsed() condition addresses network-latent requests still in 
the TCP pipe (identified during design review with Jane He).

Driver-side: New DRAINING host state (distinct from DOWN) with policy 
integration across LoadBalancingPolicy, ReconnectionPolicy, RetryPolicy, and 
SpeculativeExecutionPolicy.

See CEP-59 spec: 
[https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406619103] 
Related: CASSANDRA-21191



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to