@@ -134,11 +134,12 @@ def export_schema_as_string(self):
134134 """
135135 return "\n \n " .join (ks .export_as_string () for ks in self .keyspaces .values ())
136136
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 ):
138139
139140 server_version = self .get_host (connection .original_endpoint ).release_version
140141 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 )
142143
143144 if not target_type :
144145 self ._rebuild_all (parser )
@@ -1946,11 +1947,11 @@ def export_as_string(self):
19461947
19471948
19481949class _SchemaParser (object ):
1949-
1950- def __init__ (self , connection , timeout , fetch_size ):
1950+ def __init__ (self , connection , timeout , fetch_size , metadata_request_timeout ):
19511951 self .connection = connection
19521952 self .timeout = timeout
19531953 self .fetch_size = fetch_size
1954+ self .metadata_request_timeout = metadata_request_timeout
19541955
19551956 def _handle_results (self , success , result , expected_failures = tuple (), query_msg = None , timeout = None ):
19561957 """
@@ -2054,8 +2055,8 @@ class SchemaParserV22(_SchemaParser):
20542055 "compression" ,
20552056 "default_time_to_live" )
20562057
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 )
20592060 self .keyspaces_result = []
20602061 self .tables_result = []
20612062 self .columns_result = []
@@ -2575,8 +2576,8 @@ class SchemaParserV3(SchemaParserV22):
25752576 'read_repair_chance' ,
25762577 'speculative_retry' )
25772578
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 )
25802581 self .indexes_result = []
25812582 self .keyspace_table_index_rows = defaultdict (lambda : defaultdict (list ))
25822583 self .keyspace_view_rows = defaultdict (list )
@@ -2860,8 +2861,8 @@ class SchemaParserV4(SchemaParserV3):
28602861 _SELECT_VIRTUAL_TABLES = 'SELECT * from system_virtual_schema.tables'
28612862 _SELECT_VIRTUAL_COLUMNS = 'SELECT * from system_virtual_schema.columns'
28622863
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 )
28652866 self .virtual_keyspaces_rows = defaultdict (list )
28662867 self .virtual_tables_rows = defaultdict (list )
28672868 self .virtual_columns_rows = defaultdict (lambda : defaultdict (list ))
@@ -2995,8 +2996,8 @@ class SchemaParserDSE68(SchemaParserDSE67):
29952996
29962997 _table_metadata_class = TableMetadataDSE68
29972998
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 )
30003001 self .keyspace_table_vertex_rows = defaultdict (lambda : defaultdict (list ))
30013002 self .keyspace_table_edge_rows = defaultdict (lambda : defaultdict (list ))
30023003
@@ -3361,25 +3362,25 @@ def __init__(
33613362 self .to_clustering_columns = to_clustering_columns
33623363
33633364
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 ):
33653366 version = Version (server_version )
33663367 if dse_version :
33673368 v = Version (dse_version )
33683369 if v >= Version ('6.8.0' ):
3369- return SchemaParserDSE68 (connection , timeout , fetch_size )
3370+ return SchemaParserDSE68 (connection , timeout , fetch_size , metadata_request_timeout )
33703371 elif v >= Version ('6.7.0' ):
3371- return SchemaParserDSE67 (connection , timeout , fetch_size )
3372+ return SchemaParserDSE67 (connection , timeout , fetch_size , metadata_request_timeout )
33723373 elif v >= Version ('6.0.0' ):
3373- return SchemaParserDSE60 (connection , timeout , fetch_size )
3374+ return SchemaParserDSE60 (connection , timeout , fetch_size , metadata_request_timeout )
33743375
33753376 if version >= Version ('4-a' ):
3376- return SchemaParserV4 (connection , timeout , fetch_size )
3377+ return SchemaParserV4 (connection , timeout , fetch_size , metadata_request_timeout )
33773378 elif version >= Version ('3.0.0' ):
3378- return SchemaParserV3 (connection , timeout , fetch_size )
3379+ return SchemaParserV3 (connection , timeout , fetch_size , metadata_request_timeout )
33793380 else :
33803381 # we could further specialize by version. Right now just refactoring the
33813382 # 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 )
33833384
33843385
33853386def _cql_from_cass_type (cass_type ):
0 commit comments