Rishabh Saraswat created CASSANDRA-21191:
--------------------------------------------

             Summary: [CEP-59] Implementation of In-Band Connection Draining 
(Graceful Disconnect)
                 Key: CASSANDRA-21191
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21191
             Project: Apache Cassandra
          Issue Type: New Feature
          Components: Messaging/Client, Tool/cqlsh
            Reporter: Rishabh Saraswat
            Assignee: Rishabh Saraswat


This ticket covers the implementation of the server-side logic and protocol 
extensions defined in {*}CEP-59: Graceful Disconnect – In-Band Connection 
Draining for Node Shutdown{*}.

*Goal:*
Currently, when a Cassandra node shuts down or drains, client connections are 
often terminated abruptly, leading to failed requests. CEP-59 proposes an 
"in-band" signal (GRACEFUL_DISCONNECT) to notify clients before the socket is 
closed, allowing them to stop sending new requests and wait for pending ones to 
complete.

*Proposed Scope (Implementation):*
 # *Native Protocol:* Add the new GRACEFUL_DISCONNECT event/message type to the 
Native Protocol (targeted for the next protocol version).

 # *Server-Side (Java):*

 * Modify the transport layer (specifically the Netty pipeline) to broadcast 
the disconnect signal to all active channels during the StorageService.drain() 
sequence.

 * Implement configurable timeouts to allow clients a grace period before hard 
closure.

 # *Tooling (cqlsh/Python):*

 * Update the Python driver/cqlsh to handle the new signal, ensuring users see 
a clean message rather than a stack trace during node maintenance.

*References:*
 * [CEP-59 
Wiki|https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406619103]

 * [Discussion Thread 
|https://lists.apache.org/thread/wyswxql0zhj10nthn8pmjz40v03qfd5v]



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