-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perf: don't fetch rows when waiting for query to finish #400
perf: don't fetch rows when waiting for query to finish #400
Conversation
When there are large result sets, fetching rows while waiting for the query to finish can cause the API to hang indefinitely. (This may be due to an interaction between connection timeout and API timeout.) This reverts commit 86f6a51 (googleapis#374).
@@ -1630,6 +1630,40 @@ def test_iterate(self): | |||
|
|||
api_request.assert_called_once_with(method="GET", path=path, query_params={}) | |||
|
|||
def test_iterate_with_cached_first_page(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I add these tests to fix coverage.
Perhaps instead I should also be reverting the changes from #384 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alternative I'd consider is doing a flag-based feature, so users can turn on the latency changes (or flip default, and provide an opt-out while we diagnose these other cases).
@@ -1630,6 +1630,40 @@ def test_iterate(self): | |||
|
|||
api_request.assert_called_once_with(method="GET", path=path, query_params={}) | |||
|
|||
def test_iterate_with_cached_first_page(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alternative I'd consider is doing a flag-based feature, so users can turn on the latency changes (or flip default, and provide an opt-out while we diagnose these other cases).
When there are large result sets, fetching rows while waiting for the
query to finish can cause the API to hang indefinitely. (This may be due
to an interaction between connection timeout and API timeout.)
This reverts commit 86f6a51 (#374).
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:
Fixes googleapis/python-bigquery-pandas#343
Fixes #394 🦕