Skip to content

Commit 48c7f40

Browse files
committed
cluster: default metadata_request_timeout to control_connection_timeout
metadata_request_timeout and control_connection_timeout are going hand by hand, control_connection_timeout is client side timeout, while metadata_request_timeout is server side. In general case they always have to be eual.
1 parent 021485b commit 48c7f40

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

cassandra/cluster.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,10 +1083,19 @@ def default_retry_policy(self, policy):
10831083
used for columns in this cluster.
10841084
"""
10851085

1086-
metadata_request_timeout = datetime.timedelta(seconds=2)
1086+
metadata_request_timeout: Optional[float] = None
10871087
"""
1088-
Timeout for all queries used by driver it self.
1089-
Supported only by Scylla clusters.
1088+
Specifies a server-side timeout (in seconds) for all internal driver queries,
1089+
such as schema metadata lookups and cluster topology requests.
1090+
1091+
The timeout is enforced by appending `USING TIMEOUT <timeout>` to queries
1092+
executed by the driver.
1093+
1094+
- A value of `0` disables explicit timeout enforcement. In this case,
1095+
the driver does not add `USING TIMEOUT`, and the timeout is determined
1096+
by the server's defaults.
1097+
- Only supported when connected to Scylla clusters.
1098+
- If not explicitly set, defaults to the value of `control_connection_timeout`.
10901099
"""
10911100

10921101
@property
@@ -1303,8 +1312,6 @@ def __init__(self,
13031312
self.no_compact = no_compact
13041313

13051314
self.auth_provider = auth_provider
1306-
if metadata_request_timeout is not None:
1307-
self.metadata_request_timeout = metadata_request_timeout
13081315

13091316
if load_balancing_policy is not None:
13101317
if isinstance(load_balancing_policy, type):
@@ -1415,6 +1422,7 @@ def __init__(self,
14151422
self.cql_version = cql_version
14161423
self.max_schema_agreement_wait = max_schema_agreement_wait
14171424
self.control_connection_timeout = control_connection_timeout
1425+
self.metadata_request_timeout = self.control_connection_timeout if metadata_request_timeout is None else metadata_request_timeout
14181426
self.idle_heartbeat_interval = idle_heartbeat_interval
14191427
self.idle_heartbeat_timeout = idle_heartbeat_timeout
14201428
self.schema_event_refresh_window = schema_event_refresh_window

0 commit comments

Comments
 (0)