[
https://issues.apache.org/jira/browse/CASSANDRA-21191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rishabh Saraswat updated CASSANDRA-21191:
-----------------------------------------
Description:
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):*
# *Server-Side:*
* Modify the transport layer (specifically the Netty pipeline) to advertise
and emit GRACEFUL_DISCONNECT on shutting down, as CEP-59 outlines.
* Implement configurable timeouts to allow clients a grace period before hard
closure.
# *Python driver (potentially):*
* Update the Python driver to opt-in and handle GRACEFUL_DISCONNECT.
Pre CEP 59 integration
!PreCEP59.jpg!
*References:*
* [CEP-59
Wiki|https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406619103]
* [Discussion Thread
|https://lists.apache.org/thread/wyswxql0zhj10nthn8pmjz40v03qfd5v]
*See:*
* [CASSJAVA-124|https://issues.apache.org/jira/browse/CASSJAVA-124] for
java-driver implementation
* [CASSPYTHON-16|https://issues.apache.org/jira/browse/CASSPYTHON-16] for
python-driver implementation
was:
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):*
# *Server-Side:*
* Modify the transport layer (specifically the Netty pipeline) to advertise
and emit GRACEFUL_DISCONNECT on shutting down, as CEP-59 outlines.
* Implement configurable timeouts to allow clients a grace period before hard
closure.
# *Python driver (potentially):*
* Update the Python driver to opt-in and handle GRACEFUL_DISCONNECT.
Pre CEP 59 integration
!PreCEP59.png!
*References:*
* [CEP-59
Wiki|https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406619103]
* [Discussion Thread
|https://lists.apache.org/thread/wyswxql0zhj10nthn8pmjz40v03qfd5v]
*See:*
* [CASSJAVA-124|https://issues.apache.org/jira/browse/CASSJAVA-124] for
java-driver implementation
* [CASSPYTHON-16|https://issues.apache.org/jira/browse/CASSPYTHON-16] for
python-driver implementation
> [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: Brad Schoening
> Priority: Normal
> Labels: cep-59, full-time, gsoc2026, mentor
>
> 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):*
> # *Server-Side:*
> * Modify the transport layer (specifically the Netty pipeline) to advertise
> and emit GRACEFUL_DISCONNECT on shutting down, as CEP-59 outlines.
> * Implement configurable timeouts to allow clients a grace period before
> hard closure.
> # *Python driver (potentially):*
> * Update the Python driver to opt-in and handle GRACEFUL_DISCONNECT.
> Pre CEP 59 integration
> !PreCEP59.jpg!
> *References:*
> * [CEP-59
> Wiki|https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406619103]
> * [Discussion Thread
> |https://lists.apache.org/thread/wyswxql0zhj10nthn8pmjz40v03qfd5v]
> *See:*
> * [CASSJAVA-124|https://issues.apache.org/jira/browse/CASSJAVA-124] for
> java-driver implementation
> * [CASSPYTHON-16|https://issues.apache.org/jira/browse/CASSPYTHON-16] for
> python-driver implementation
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]