File tree Expand file tree Collapse file tree 4 files changed +23
-7
lines changed Expand file tree Collapse file tree 4 files changed +23
-7
lines changed Original file line number Diff line number Diff line change 1717from typing import List
1818
1919_lock = threading .Lock ()
20- MAX_LABELS_COUNT = 64
20+
21+ # The limit is 64 (https://cloud.google.com/bigquery/docs/labels-intro#requirements),
22+ # but leave a few spare for internal labels to be added.
23+ # See internal issue 386825477.
24+ MAX_LABELS_COUNT = 64 - 8
25+
2126_api_methods : List = []
2227_excluded_methods = ["__setattr__" , "__getattr__" ]
2328
Original file line number Diff line number Diff line change @@ -373,10 +373,18 @@ def close(self):
373373 """Delete resources that were created with this session's session_id.
374374 This includes BigQuery tables, remote functions and cloud functions
375375 serving the remote functions."""
376- self ._temp_storage_manager .clean_up_tables ()
377- self ._remote_function_session .clean_up (
378- self .bqclient , self .cloudfunctionsclient , self .session_id
379- )
376+
377+ # Protect against failure when the Session is a fake for testing or
378+ # failed to initialize.
379+ temp_storage_manager = getattr (self , "_temp_storage_manager" , None )
380+ if temp_storage_manager :
381+ self ._temp_storage_manager .clean_up_tables ()
382+
383+ remote_function_session = getattr (self , "_remote_function_session" , None )
384+ if remote_function_session :
385+ self ._remote_function_session .clean_up (
386+ self .bqclient , self .cloudfunctionsclient , self .session_id
387+ )
380388
381389 def read_gbq (
382390 self ,
Original file line number Diff line number Diff line change 1616
1717from bigframes .core import log_adapter
1818
19- MAX_LABELS_COUNT = 64
19+ # The limit is 64 (https://cloud.google.com/bigquery/docs/labels-intro#requirements),
20+ # but leave a few spare for internal labels to be added.
21+ # See internal issue 386825477.
22+ MAX_LABELS_COUNT = 56
2023
2124
2225@pytest .fixture
Original file line number Diff line number Diff line change @@ -114,7 +114,7 @@ def test_create_job_configs_labels_length_limit_met_and_labels_is_none():
114114 job_configs_labels = None , api_methods = api_methods
115115 )
116116 assert labels is not None
117- assert len (labels ) == 64
117+ assert len (labels ) == log_adapter . MAX_LABELS_COUNT
118118 assert "dataframe-head" in labels .values ()
119119
120120
You can’t perform that action at this time.
0 commit comments