forked from datastax/python-driver
-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Description
Resuming a discussion from @nyh and @Lorak-mmk from scylladb/scylladb#23138 on why schema agreement may be slow (and for the sake of discussion, let's also assume we are dealing with a multiple AZ, multiple DC, large cluster, say 100 nodes):
- There's a 0.2 seconds sleep between cycles of trying to get an agreed upon schema -
python-driver/cassandra/cluster.py
Line 4268 in a401409
self._time.sleep(0.2) python-driver/cassandra/cluster.py
Line 4275 in a401409
def _get_schema_mismatches(self, peers_result, local_result, local_address): - Is the query that _get_peers_query() is using ( see
python-driver/cassandra/cluster.py
Line 4299 in a401409
def _get_peers_query(self, peers_query_type, connection=None):
_SELECT_PEERS = "SELECT * FROM system.peers"
_SELECT_PEERS_NO_TOKENS_TEMPLATE = "SELECT host_id, peer, data_center, rack, rpc_address, {nt_col_name}, release_version, schema_version FROM system.peers"
_SELECT_SCHEMA_PEERS_TEMPLATE = "SELECT peer, host_id, {nt_col_name}, schema_version FROM system.peers"
I think (just from reading the code) we use _SELECT_SCHEMA_PEERS_TEMPLATE , which seems reasonable.
Anything else? Do we even have an issue?
Metadata
Metadata
Assignees
Labels
No labels