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]