Rishabh Saraswat created CASSANDRA-21210:
--------------------------------------------
Summary: CEP-59: Add GRACEFUL_DISCONNECT support to Java driver
Key: CASSANDRA-21210
URL: https://issues.apache.org/jira/browse/CASSANDRA-21210
Project: Apache Cassandra
Issue Type: Sub-task
Reporter: Rishabh Saraswat
Assignee: Rishabh Saraswat
Adds GRACEFUL_DISCONNECT support to the Java 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]