@@ -134,11 +134,12 @@ def export_schema_as_string(self):
134
134
"""
135
135
return "\n \n " .join (ks .export_as_string () for ks in self .keyspaces .values ())
136
136
137
- def refresh (self , connection , timeout , target_type = None , change_type = None , fetch_size = None , ** kwargs ):
137
+ def refresh (self , connection , timeout , target_type = None , change_type = None , fetch_size = None ,
138
+ metadata_request_timeout = None , ** kwargs ):
138
139
139
140
server_version = self .get_host (connection .original_endpoint ).release_version
140
141
dse_version = self .get_host (connection .original_endpoint ).dse_version
141
- parser = get_schema_parser (connection , server_version , dse_version , timeout , fetch_size )
142
+ parser = get_schema_parser (connection , server_version , dse_version , timeout , metadata_request_timeout , fetch_size )
142
143
143
144
if not target_type :
144
145
self ._rebuild_all (parser )
@@ -1946,11 +1947,11 @@ def export_as_string(self):
1946
1947
1947
1948
1948
1949
class _SchemaParser (object ):
1949
-
1950
- def __init__ (self , connection , timeout , fetch_size ):
1950
+ def __init__ (self , connection , timeout , fetch_size , metadata_request_timeout ):
1951
1951
self .connection = connection
1952
1952
self .timeout = timeout
1953
1953
self .fetch_size = fetch_size
1954
+ self .metadata_request_timeout = metadata_request_timeout
1954
1955
1955
1956
def _handle_results (self , success , result , expected_failures = tuple (), query_msg = None , timeout = None ):
1956
1957
"""
@@ -2054,8 +2055,8 @@ class SchemaParserV22(_SchemaParser):
2054
2055
"compression" ,
2055
2056
"default_time_to_live" )
2056
2057
2057
- def __init__ (self , connection , timeout , fetch_size ):
2058
- super (SchemaParserV22 , self ).__init__ (connection , timeout , fetch_size )
2058
+ def __init__ (self , connection , timeout , fetch_size , metadata_request_timeout ):
2059
+ super (SchemaParserV22 , self ).__init__ (connection , timeout , fetch_size , metadata_request_timeout )
2059
2060
self .keyspaces_result = []
2060
2061
self .tables_result = []
2061
2062
self .columns_result = []
@@ -2575,8 +2576,8 @@ class SchemaParserV3(SchemaParserV22):
2575
2576
'read_repair_chance' ,
2576
2577
'speculative_retry' )
2577
2578
2578
- def __init__ (self , connection , timeout , fetch_size ):
2579
- super (SchemaParserV3 , self ).__init__ (connection , timeout , fetch_size )
2579
+ def __init__ (self , connection , timeout , fetch_size , metadata_request_timeout ):
2580
+ super (SchemaParserV3 , self ).__init__ (connection , timeout , fetch_size , metadata_request_timeout )
2580
2581
self .indexes_result = []
2581
2582
self .keyspace_table_index_rows = defaultdict (lambda : defaultdict (list ))
2582
2583
self .keyspace_view_rows = defaultdict (list )
@@ -2860,8 +2861,8 @@ class SchemaParserV4(SchemaParserV3):
2860
2861
_SELECT_VIRTUAL_TABLES = 'SELECT * from system_virtual_schema.tables'
2861
2862
_SELECT_VIRTUAL_COLUMNS = 'SELECT * from system_virtual_schema.columns'
2862
2863
2863
- def __init__ (self , connection , timeout , fetch_size ):
2864
- super (SchemaParserV4 , self ).__init__ (connection , timeout , fetch_size )
2864
+ def __init__ (self , connection , timeout , fetch_size , metadata_request_timeout ):
2865
+ super (SchemaParserV4 , self ).__init__ (connection , timeout , fetch_size , metadata_request_timeout )
2865
2866
self .virtual_keyspaces_rows = defaultdict (list )
2866
2867
self .virtual_tables_rows = defaultdict (list )
2867
2868
self .virtual_columns_rows = defaultdict (lambda : defaultdict (list ))
@@ -2995,8 +2996,8 @@ class SchemaParserDSE68(SchemaParserDSE67):
2995
2996
2996
2997
_table_metadata_class = TableMetadataDSE68
2997
2998
2998
- def __init__ (self , connection , timeout , fetch_size ):
2999
- super (SchemaParserDSE68 , self ).__init__ (connection , timeout , fetch_size )
2999
+ def __init__ (self , connection , timeout , fetch_size , metadata_request_timeout ):
3000
+ super (SchemaParserDSE68 , self ).__init__ (connection , timeout , fetch_size , metadata_request_timeout )
3000
3001
self .keyspace_table_vertex_rows = defaultdict (lambda : defaultdict (list ))
3001
3002
self .keyspace_table_edge_rows = defaultdict (lambda : defaultdict (list ))
3002
3003
@@ -3361,25 +3362,25 @@ def __init__(
3361
3362
self .to_clustering_columns = to_clustering_columns
3362
3363
3363
3364
3364
- def get_schema_parser (connection , server_version , dse_version , timeout , fetch_size = None ):
3365
+ def get_schema_parser (connection , server_version , dse_version , timeout , metadata_request_timeout , fetch_size = None ):
3365
3366
version = Version (server_version )
3366
3367
if dse_version :
3367
3368
v = Version (dse_version )
3368
3369
if v >= Version ('6.8.0' ):
3369
- return SchemaParserDSE68 (connection , timeout , fetch_size )
3370
+ return SchemaParserDSE68 (connection , timeout , fetch_size , metadata_request_timeout )
3370
3371
elif v >= Version ('6.7.0' ):
3371
- return SchemaParserDSE67 (connection , timeout , fetch_size )
3372
+ return SchemaParserDSE67 (connection , timeout , fetch_size , metadata_request_timeout )
3372
3373
elif v >= Version ('6.0.0' ):
3373
- return SchemaParserDSE60 (connection , timeout , fetch_size )
3374
+ return SchemaParserDSE60 (connection , timeout , fetch_size , metadata_request_timeout )
3374
3375
3375
3376
if version >= Version ('4-a' ):
3376
- return SchemaParserV4 (connection , timeout , fetch_size )
3377
+ return SchemaParserV4 (connection , timeout , fetch_size , metadata_request_timeout )
3377
3378
elif version >= Version ('3.0.0' ):
3378
- return SchemaParserV3 (connection , timeout , fetch_size )
3379
+ return SchemaParserV3 (connection , timeout , fetch_size , metadata_request_timeout )
3379
3380
else :
3380
3381
# we could further specialize by version. Right now just refactoring the
3381
3382
# multi-version parser we have as of C* 2.2.0rc1.
3382
- return SchemaParserV22 (connection , timeout , fetch_size )
3383
+ return SchemaParserV22 (connection , timeout , fetch_size , metadata_request_timeout )
3383
3384
3384
3385
3385
3386
def _cql_from_cass_type (cass_type ):
0 commit comments