Rishabh Saraswat created CASSPYTHON-15:
------------------------------------------

             Summary: CEP-59: Add GRACEFUL_DISCONNECT support to Python driver
                 Key: CASSPYTHON-15
                 URL: https://issues.apache.org/jira/browse/CASSPYTHON-15
             Project: Apache Cassandra Python driver
          Issue Type: New Feature
            Reporter: Rishabh Saraswat
            Assignee: Rishabh Saraswat


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.



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