sjvanrossum commented on code in PR #34135: URL: https://github.com/apache/beam/pull/34135#discussion_r1979578671
########## sdks/python/apache_beam/io/gcp/bigquery_tools.py: ########## @@ -386,8 +390,28 @@ def __init__(self, client=None, temp_dataset_id=None, temp_table_ref=None): self._temporary_table_suffix = uuid.uuid4().hex self.temp_dataset_id = temp_dataset_id or self._get_temp_dataset() + # Initialize table definition cache with default TTL of 1 hour + # Cache entries are invalidated after TTL expires to ensure fresh metadata + self._table_cache = {} Review Comment: Please evaluate the available packages (functools, cachetools, etc.) and pick the one that you find most suitable. It's likely that their locking strategies are quite similar, but since this cache can be accessed by hundreds of threads it's good to double check that the locking strategy scales well with our threading requirements. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org