-
Notifications
You must be signed in to change notification settings - Fork 162
feat(csharp/src/Drivers/Databricks): BaseDatabricksReader #2842
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
feat(csharp/src/Drivers/Databricks): BaseDatabricksReader #2842
Conversation
235df22 to
29bc9ff
Compare
| [InlineData(true, "CloudFetch enabled")] | ||
| [InlineData(false, "CloudFetch disabled")] | ||
| [InlineData(true, "CloudFetch enabled")] // TODO: test cloudfetch disabled | ||
| public async Task StatusPollerKeepsQueryAlive(bool useCloudFetch, string configName) |
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.
Removes cloudfetch heartbeat test: cloudfetch URLs are fetched during CloudFetchReader initialization, and the URL expire swithin 15 minutes. Delaying for 30 minutes will result in attempting to read expired urls. This makes testing this really difficult.
@jadewang-db Do we need to do anything about this url expiration?
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.
Discussed offline: we'll need to seperately take a look into handling url expiration, then we should re-enable this test for cloudfetch.
440c1b2 to
a7d6ef3
Compare
CurtHagenlocher
left a comment
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.
Thanks! Can you take care of a couple of super-nitpicky formatting issues?
| isDisposed = true; | ||
| } | ||
|
|
||
|
|
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.
nit: extra blank line
| this.schema = schema; | ||
| this.isLz4Compressed = isLz4Compressed; | ||
| this.statement = statement; | ||
| if (statement.DirectResults != null && !statement.DirectResults.ResultSet.HasMoreRows) { |
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.
nit: please put open brace on new line
Handles shared reading logic (Status Polling logic) for DatabricksReader and CloudFetchReader. Also modifies polling lifecycle to begin during Reader initialization instead of first time
ReadNextRecordBatchAsyncis calledThere is still a slight gap when we are not polling for results immediately after query execution completes (here); can be addressed in a later PR