Skip to content
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

Support startingTimestamp and GET method for getTableVersion #199

Merged
merged 10 commits into from Oct 26, 2022

Conversation

linzhou-db
Copy link
Collaborator

@linzhou-db linzhou-db commented Oct 16, 2022

  • Support startingTimestamp for getTableVersion
  • Support GET http method for getTableVersion, and update DeltaSharingClient to use GET instead of HEAD
  • Update both python and spark python client to issue GET instead of HEAD request for getTableVersion
  • in python rest client, include table version in the response for list_files_in_table and query_table_metadata
  • Check that queryTable with "timestamp" cannot exceeds TableConfig.startVersion

@linzhou-db linzhou-db self-assigned this Oct 16, 2022
@linzhou-db linzhou-db changed the title Support startingTimestamp for getTableVersion Support startingTimestamp and GET method for getTableVersion Oct 24, 2022
@@ -240,12 +240,28 @@ class DeltaSharingService(serverConfig: ServerConfig) {
}

@Head("/shares/{share}/schemas/{schema}/tables/{table}")
@Get("/shares/{share}/schemas/{schema}/tables/{table}")
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It seems that there's no way to "not support startingTimestamp for HEAD" given this config.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Does this imply that oss server will support startingTimestamp for HEAD method but DB's server will not?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes..

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

But we can mention in the protocol doc that startingTimestamp is not supported for HEAD

headers = values[0]
# it's a bug in the server if it doesn't return delta-table-version in the header
if "delta-table-version" not in headers:
raise LookupError("Missing delta-table-version header")
Copy link
Collaborator

Choose a reason for hiding this comment

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

Question: Can you remind me why we decided to return the table version in the header?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hmmm, I don't know. I guess it was for light request/response?
@zsxwing Do you still remember this?

@@ -240,12 +240,28 @@ class DeltaSharingService(serverConfig: ServerConfig) {
}

@Head("/shares/{share}/schemas/{schema}/tables/{table}")
@Get("/shares/{share}/schemas/{schema}/tables/{table}")
Copy link
Collaborator

Choose a reason for hiding this comment

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

Does this imply that oss server will support startingTimestamp for HEAD method but DB's server will not?

@linzhou-db linzhou-db merged commit 56b81fd into main Oct 26, 2022
@linzhou-db linzhou-db deleted the SC-112599 branch February 16, 2023 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants