Skip to content

perf: Make executor data uploads async internally#2529

Merged
TrevorBergeron merged 4 commits intomainfrom
async-uploads-executor
Mar 24, 2026
Merged

perf: Make executor data uploads async internally#2529
TrevorBergeron merged 4 commits intomainfrom
async-uploads-executor

Conversation

@TrevorBergeron
Copy link
Contributor

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Make sure to open an issue as a bug/issue before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

@product-auto-label product-auto-label bot added size: m Pull request size is medium. api: bigquery Issues related to the googleapis/python-bigquery-dataframes API. labels Mar 20, 2026
@product-auto-label product-auto-label bot added size: s Pull request size is small. and removed size: m Pull request size is medium. labels Mar 23, 2026
@TrevorBergeron TrevorBergeron marked this pull request as ready for review March 23, 2026 22:00
@TrevorBergeron TrevorBergeron requested review from a team as code owners March 23, 2026 22:00
@TrevorBergeron TrevorBergeron requested a review from mpovoa March 23, 2026 22:00
@TrevorBergeron TrevorBergeron requested review from sycai and removed request for mpovoa March 23, 2026 22:27
Comment on lines +307 to +313
def read_data_async(
self, local_data: local_data.ManagedArrowTable, offsets_col: str
) -> concurrent.futures.Future[bq_data.BigqueryDataSource]:
future = self._threadpool.submit(
self._load_data_or_write_data, local_data, offsets_col
)
return future
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall we write a test for this function?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This functionality is covered by the tests in https://github.com/googleapis/python-bigquery-dataframes/blob/main/tests/system/small/test_large_local_data.py. I'm uncertain about adding more targeted tests of internal classes, since the current class/method boundaries will be subject to further change soon

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I'm good as long as it's under some test coverage.

@TrevorBergeron TrevorBergeron requested a review from sycai March 24, 2026 16:43
@TrevorBergeron TrevorBergeron merged commit 96597f0 into main Mar 24, 2026
19 of 25 checks passed
@TrevorBergeron TrevorBergeron deleted the async-uploads-executor branch March 24, 2026 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigquery Issues related to the googleapis/python-bigquery-dataframes API. size: s Pull request size is small.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants