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

Initial version of the HTTP API + DF upgrade #31

Merged
merged 19 commits into from
Jul 27, 2022
Merged

Conversation

mildbyte
Copy link
Contributor

Merging this into master because it also contains a DataFusion upgrade and some config parsing and test improvements/fixes; will keep working on HTTP:

  • explicitly bans writes (need to add a POST)
  • return format very basic (just Arrow's JSON dump functionality)
  • need a query execution endpoint that ignores caching / doesn't need the query hash

Because we prepare a vector of all futures (PG/HTTP frontends), there's a
lifetime issue with the config structs that I don't completely understand
(they basically need to live as long as the `'static` lifetime). We can't pass
them by reference to the PG/HTTP frontend because that reference might not live
as long as static, since we're doing this as a separate function that's called
from main (?)). Our `prepare_frontends` function can't own the config either
(it has to outlive it). To fix this, we pass the config to the PG/HTTP frontends
by-value and clone it.
This is used so that we can mock SeafowlContext easier in unit tests.
(this mocking is getting really painful)
  - Parquet hashes changed (probably fine, due to changes in ArrowWriter / DF's
    execution output?)
  - Output of `SHOW TABLES` changed (new column)
This is to exercise the actual context creation code and remove code duplication
@mildbyte mildbyte linked an issue Jul 27, 2022 that may be closed by this pull request
@mildbyte mildbyte merged commit 66e42d8 into main Jul 27, 2022
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.

CDN-friendly HTTP API
1 participant