- Notifications
You must be signed in to change notification settings - Fork90
Closed
Description
A refactor last month introduced the global_DEFAULT_VALUE
in the PollingFuture class ->
here.
This change is backward incompatible as some libraries (ex: google-cloud-bigquery) are based on the fact that the default value isNone
and notobject()
.
For example, the typeguardhere becomes invalid and enters which results in a error on thisline.
TypeError: unsupported operand type(s) for -: 'object' and 'float'
Stack trace
/usr/local/lib/python3.9/site-packages/feast/infra/offline_stores/bigquery.py:583: in block_until_done-- | if bq_job.exception(): | /usr/local/lib/python3.9/site-packages/google/api_core/future/polling.py:282: in exception | self._blocking_poll(timeout=timeout) | /usr/local/lib/python3.9/site-packages/google/cloud/bigquery/job/query.py:1245: in _blocking_poll | super(QueryJob, self)._blocking_poll(timeout=timeout, **kwargs) | /usr/local/lib/python3.9/site-packages/google/api_core/future/polling.py:137: in _blocking_poll | polling(self._done_or_raise)(retry=retry) | /usr/local/lib/python3.9/site-packages/google/api_core/retry.py:349: in retry_wrapped_func | return retry_target( | /usr/local/lib/python3.9/site-packages/google/api_core/retry.py:191: in retry_target | return target() | /usr/local/lib/python3.9/site-packages/google/cloud/bigquery/job/query.py:1358: in _done_or_raise | self._reload_query_results(retry=retry, timeout=transport_timeout) | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | | self = QueryJob<project=..., location=US, id=...> | retry = None, timeout = <object object at 0x7fa46677c5c0> | | def _reload_query_results( | self, retry: "retries.Retry" = DEFAULT_RETRY, timeout: float = None | ): | """Refresh the cached query results. | | Args: | retry (Optional[google.api_core.retry.Retry]): | How to retry the call that retrieves query results. | timeout (Optional[float]): | The number of seconds to wait for the underlying HTTP transport | before using ``retry``. | """ | if self._query_results and self._query_results.complete: | return | | # Since the API to getQueryResults can hang up to the timeout value | # (default of 10 seconds), set the timeout parameter to ensure that | # the timeout from the futures API is respected. See: | # https://github.com/GoogleCloudPlatform/google-cloud-python/issues/4135 | timeout_ms = None | if self._done_timeout is not None: | # Subtract a buffer for context switching, network latency, etc. | > api_timeout = self._done_timeout - _TIMEOUT_BUFFER_SECS | E TypeError: unsupported operand type(s) for -: 'object' and 'float' | | /usr/local/lib/python3.9/site-packages/google/cloud/bigquery/job/query.py:1329: TypeError
Thanks!
Metadata
Metadata
Assignees
Labels
No labels