-
Notifications
You must be signed in to change notification settings - Fork 103
Fix : Unable to poll results in async API #515
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
Fix : Unable to poll results in async API #515
Conversation
src/databricks/sql/thrift_backend.py
Outdated
getDirectResults=ttypes.TSparkGetDirectResults( | ||
maxRows=max_rows, maxBytes=max_bytes | ||
maxRows=0 if async_op else max_rows, |
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.
Instead of setting maxRows as 0, I would recommend not specifying the direct result object in the request altogether. This is to make the intention clear of not expecting the direct results.
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.
Have made the object None
getDirectResults=None | ||
if async_op | ||
else ttypes.TSparkGetDirectResults( | ||
maxRows=max_rows, | ||
maxBytes=max_bytes, | ||
), |
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.
do we have a linter for python driver yet? if not, could you please open an issue to community or internally?
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.
@jayantsing-db I can raise a new PR for that
@@ -94,7 +94,7 @@ def test_long_running_query(self): | |||
scale_factor = 1 | |||
with self.cursor() as cursor: | |||
while duration < min_duration: | |||
assert scale_factor < 512, "Detected infinite loop" | |||
assert scale_factor < 1024, "Detected infinite loop" |
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.
Could you explain this change?
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.
For long running queries the previous upper limit of scale factor was not sufficient to run queries for atleast 5 minutes, hence increased it
Description
Polling using the async API returned the
RESOURCE_NOT_FOUND
error for async executed queriesFix
Force retention of data on the server side by not returning the results in the
direct results
within theexecute_query
responseTesting
Added e2e tests