Skip to content
This repository was archived by the owner on Sep 12, 2025. It is now read-only.
This repository was archived by the owner on Sep 12, 2025. It is now read-only.

ServiceUnavailable not retried after 30 minutes #969

@tswast

Description

@tswast

Steps to reproduce

  1. Run a query and call to_arrow_iterable() on the results.
  2. Step away from a bit 30 min - hour
  3. Come back, re-run the query and call to_arrow_iterable() on the results.

Stack trace

[/usr/local/lib/python3.11/dist-packages/bigframes/dataframe.py](https://localhost:8080/#) in to_pandas_batches(self, page_size, max_results, allow_large_results)
   1867                 see https://cloud.google.com/python/docs/reference/bigquery/latest/google.cloud.bigquery.table.RowIterator#google_cloud_bigquery_table_RowIterator_to_arrow_iterable
   1868         """
-> 1869         return self._block.to_pandas_batches(
   1870             page_size=page_size,
   1871             max_results=max_results,

[/usr/local/lib/python3.11/dist-packages/bigframes/core/blocks.py](https://localhost:8080/#) in to_pandas_batches(self, page_size, max_results, allow_large_results)
    632         page_size and max_results determine the size and number of batches,
    633         see https://cloud.google.com/python/docs/reference/bigquery/latest/google.cloud.bigquery.job.QueryJob#google_cloud_bigquery_job_QueryJob_result"""
--> 634         execute_result = self.session._executor.execute(
    635             self.expr,
    636             ordered=True,

[/usr/local/lib/python3.11/dist-packages/bigframes/session/bq_caching_executor.py](https://localhost:8080/#) in execute(self, array_value, ordered, use_explicit_destination)
    210 
    211         plan = self.logical_plan(array_value.node)
--> 212         return self._execute_plan(
    213             plan,
    214             ordered=ordered,

[/usr/local/lib/python3.11/dist-packages/bigframes/session/bq_caching_executor.py](https://localhost:8080/#) in _execute_plan(self, plan, ordered, output_spec, peek)
    658         if not output_spec.require_bq_table:
    659             for exec in self._semi_executors:
--> 660                 maybe_result = exec.execute(plan, ordered=ordered, peek=peek)
    661                 if maybe_result:
    662                     return maybe_result

[/usr/local/lib/python3.11/dist-packages/bigframes/session/read_api_execution.py](https://localhost:8080/#) in execute(self, plan, ordered, peek)
     81             max_stream_count=1,
     82         )
---> 83         session = self.bqstoragereadclient.create_read_session(
     84             request=request, retry=None
     85         )

[/usr/local/lib/python3.11/dist-packages/google/cloud/bigquery_storage_v1/services/big_query_read/client.py](https://localhost:8080/#) in create_read_session(self, request, parent, read_session, max_stream_count, retry, timeout, metadata)
    903 
    904         # Send the request.
--> 905         response = rpc(
    906             request,
    907             retry=retry,

[/usr/local/lib/python3.11/dist-packages/google/api_core/gapic_v1/method.py](https://localhost:8080/#) in __call__(self, timeout, retry, compression, *args, **kwargs)
    129             kwargs["compression"] = compression
    130 
--> 131         return wrapped_func(*args, **kwargs)
    132 
    133


[/usr/local/lib/python3.11/dist-packages/google/api_core/timeout.py](https://localhost:8080/#) in func_with_timeout(*args, **kwargs)
    128                 kwargs["timeout"] = remaining_timeout
    129 
--> 130             return func(*args, **kwargs)
    131 
    132         return func_with_timeout

[/usr/local/lib/python3.11/dist-packages/google/api_core/grpc_helpers.py](https://localhost:8080/#) in error_remapped_callable(*args, **kwargs)
     76             return callable_(*args, **kwargs)
     77         except grpc.RpcError as exc:
---> 78             raise exceptions.from_grpc_error(exc) from exc
     79 
     80     return error_remapped_callable

ServiceUnavailable: 503 recvmsg:Connection reset by peer
Computation deferred. Computation will process 2.5 MB

Metadata

Metadata

Assignees

Labels

api: bigquerystorageIssues related to the googleapis/python-bigquery-storage API.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions