[
https://issues.apache.org/jira/browse/CASSPYTHON-16?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rishabh Saraswat updated CASSPYTHON-16:
---------------------------------------
Description:
See [CEP-59
|https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406619103]
See [Server side |https://issues.apache.org/jira/browse/CASSANDRA-21191]
Adds GRACEFUL_DISCONNECT support to the Python driver. The driver now detects
server-side graceful disconnect support and subscribes to the event on all
connections, allowing it to react gracefully when a node is shutting down.
Flow:
1. Driver sends OPTIONS to server
2. If SUPPORTED response contains GRACEFUL_DISCONNECT: ["true"], driver
adds GRACEFUL_DISCONNECT to event types before sending REGISTER
3. REGISTER is sent to server subscribing to GRACEFUL_DISCONNECT event.
4. Upon receiving GRACEFUL_DISCONNECT event on a connection, driver marks
that node as down in the load balancing policy so new requests are
routed to other healthy nodes
5. In-flight requests on the draining connection complete normally
6. Driver closes the connection once all in-flight requests are done
Since the driver already maintains connections to all nodes, no reconnection is
needed — requests are simply routed to already-connected healthy nodes.
NOTE: Completion of this sub-task marks the final delivery of the GSoC 2026
project (Ecosystem Integration & Graceful Draining).
was:
See [CEP-59
|https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406619103]
See [Server side |https://issues.apache.org/jira/browse/CASSANDRA-21191]
Adds GRACEFUL_DISCONNECT support to the Python driver. The driver now
detects server-side graceful disconnect support and subscribes to the
event on all connections, allowing it to react gracefully when a node
is shutting down.
Flow:
1. Driver sends OPTIONS to server
2. If SUPPORTED response contains GRACEFUL_DISCONNECT: ["true"], driver
adds GRACEFUL_DISCONNECT to event types before sending REGISTER
3. REGISTER is sent to server subscribing to GRACEFUL_DISCONNECT event.
4. Upon receiving GRACEFUL_DISCONNECT event on a connection, driver marks
that node as down in the load balancing policy so new requests are
routed to other healthy nodes
5. In-flight requests on the draining connection complete normally
6. Driver closes the connection once all in-flight requests are done
Since the driver already maintains connections to all nodes, no
reconnection is needed — requests are simply routed to already-connected
healthy nodes.
> CEP-59: Add GRACEFUL_DISCONNECT support to Python driver
> --------------------------------------------------------
>
> Key: CASSPYTHON-16
> URL: https://issues.apache.org/jira/browse/CASSPYTHON-16
> Project: Apache Cassandra Python driver
> Issue Type: New Feature
> Reporter: Rishabh Saraswat
> Assignee: Rishabh Saraswat
> Priority: Normal
>
> See [CEP-59
> |https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406619103]
> See [Server side |https://issues.apache.org/jira/browse/CASSANDRA-21191]
> Adds GRACEFUL_DISCONNECT support to the Python driver. The driver now detects
> server-side graceful disconnect support and subscribes to the event on all
> connections, allowing it to react gracefully when a node is shutting down.
> Flow:
> 1. Driver sends OPTIONS to server
> 2. If SUPPORTED response contains GRACEFUL_DISCONNECT: ["true"], driver
> adds GRACEFUL_DISCONNECT to event types before sending REGISTER
> 3. REGISTER is sent to server subscribing to GRACEFUL_DISCONNECT event.
> 4. Upon receiving GRACEFUL_DISCONNECT event on a connection, driver marks
> that node as down in the load balancing policy so new requests are
> routed to other healthy nodes
> 5. In-flight requests on the draining connection complete normally
> 6. Driver closes the connection once all in-flight requests are done
> Since the driver already maintains connections to all nodes, no reconnection
> is needed — requests are simply routed to already-connected healthy nodes.
> NOTE: Completion of this sub-task marks the final delivery of the GSoC 2026
> project (Ecosystem Integration & Graceful Draining).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]