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

[FEATURE] Implement TupleS3StoreBackend::get_all #9692

Merged
merged 4 commits into from Apr 3, 2024

Conversation

tyler-hoffman
Copy link
Contributor

@tyler-hoffman tyler-hoffman commented Apr 2, 2024

See title. This is query is non-performant because bucket.objects only exposes methods to get ObjectSummaries, rather than the objects themselves. Here are the docs: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3/bucket/objects.html#objects.

  • Description of PR changes above includes a link to an existing GitHub issue
  • PR title is prefixed with one of: [BUGFIX], [FEATURE], [DOCS], [MAINTENANCE], [CONTRIB]
  • Code is linted - run invoke lint (uses ruff format + ruff check)
  • Appropriate tests and docs have been updated

For more information about contributing, see Contribute.

After you submit your PR, keep the page open and monitor the statuses of the various checks made by our continuous integration process at the bottom of the page. Please fix any issues that come up and reach out on Slack if you need help. Thanks for contributing!

Copy link

netlify bot commented Apr 2, 2024

Deploy Preview for niobium-lead-7998 canceled.

Name Link
🔨 Latest commit 3285615
🔍 Latest deploy log https://app.netlify.com/sites/niobium-lead-7998/deploys/660c68c3f2c30f0008e78273

Copy link

codecov bot commented Apr 2, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.55%. Comparing base (0b7b2aa) to head (3285615).
Report is 1 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #9692   +/-   ##
========================================
  Coverage    82.55%   82.55%           
========================================
  Files          511      511           
  Lines        46437    46444    +7     
========================================
+ Hits         38335    38342    +7     
  Misses        8102     8102           
Flag Coverage Δ
3.10 64.61% <25.00%> (-0.01%) ⬇️
3.10 athena or clickhouse or openpyxl or pyarrow or project or sqlite or aws_creds ?
3.10 aws_deps ?
3.10 big ?
3.10 databricks ?
3.10 filesystem ?
3.10 mssql ?
3.10 mysql ?
3.10 postgresql ?
3.10 snowflake ?
3.10 spark ?
3.10 trino ?
3.11 64.61% <25.00%> (-0.01%) ⬇️
3.11 athena or clickhouse or openpyxl or pyarrow or project or sqlite or aws_creds 53.96% <25.00%> (-0.01%) ⬇️
3.11 aws_deps 48.99% <100.00%> (+<0.01%) ⬆️
3.11 big 63.97% <58.33%> (-0.01%) ⬇️
3.11 databricks 48.20% <25.00%> (-0.01%) ⬇️
3.11 filesystem 63.77% <25.00%> (-0.01%) ⬇️
3.11 mssql 47.43% <25.00%> (-0.01%) ⬇️
3.11 mysql 47.48% <25.00%> (-0.01%) ⬇️
3.11 postgresql 54.25% <25.00%> (-0.01%) ⬇️
3.11 snowflake 48.73% <25.00%> (-0.01%) ⬇️
3.11 spark 60.65% <25.00%> (-0.01%) ⬇️
3.11 trino 53.89% <25.00%> (-0.01%) ⬇️
3.8 64.62% <25.00%> (-0.01%) ⬇️
3.8 athena or clickhouse or openpyxl or pyarrow or project or sqlite or aws_creds 53.97% <25.00%> (-0.01%) ⬇️
3.8 aws_deps 49.01% <100.00%> (+<0.01%) ⬆️
3.8 big 63.98% <58.33%> (-0.01%) ⬇️
3.8 databricks 48.22% <25.00%> (-0.01%) ⬇️
3.8 filesystem 63.77% <25.00%> (-0.01%) ⬇️
3.8 mssql 47.41% <25.00%> (-0.01%) ⬇️
3.8 mysql 47.46% <25.00%> (-0.01%) ⬇️
3.8 postgresql 54.24% <25.00%> (-0.01%) ⬇️
3.8 snowflake 48.75% <25.00%> (-0.01%) ⬇️
3.8 spark 60.61% <25.00%> (-0.01%) ⬇️
3.8 trino 53.88% <25.00%> (-0.01%) ⬇️
3.9 64.62% <25.00%> (-0.01%) ⬇️
3.9 athena or clickhouse or openpyxl or pyarrow or project or sqlite or aws_creds ?
3.9 aws_deps ?
3.9 big ?
3.9 databricks ?
3.9 filesystem ?
3.9 mssql ?
3.9 mysql ?
3.9 postgresql ?
3.9 snowflake ?
3.9 spark ?
3.9 trino ?
cloud 0.00% <0.00%> (ø)
docs-basic 54.48% <25.00%> (-0.01%) ⬇️
docs-creds-needed 55.06% <25.00%> (-0.01%) ⬇️
docs-spark 54.58% <25.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@tyler-hoffman tyler-hoffman changed the title Add failing test around TupleS3StoreBackend::get_all [FEATURE] Implement TupleS3StoreBackend::get_all Apr 2, 2024
@@ -560,10 +572,6 @@ def _get(self, key):
.decode(s3_response_object.get("ContentEncoding", "utf-8"))
)

@override
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved up to be with its friend _get

@@ -543,13 +543,25 @@ def _build_s3_object_key(self, key):
return s3_object_key

def _get(self, key):
client = self._create_client()
Copy link
Member

Choose a reason for hiding this comment

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

Hmm do we not create this during init?

@override
def _get_all(self) -> list[Any]:
"""Get all objects from the store.
NOTE: This is non-performant because we download each object separately.
Copy link
Member

Choose a reason for hiding this comment

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

Is there any reference to docs/code we can put here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

good call. Updated.

@tyler-hoffman tyler-hoffman added this pull request to the merge queue Apr 3, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 3, 2024
@tyler-hoffman tyler-hoffman added this pull request to the merge queue Apr 3, 2024
Merged via the queue into develop with commit 22b0d7d Apr 3, 2024
69 checks passed
@tyler-hoffman tyler-hoffman deleted the f/v1-231/TupleS3StoreBackend-get_all branch April 3, 2024 13:52
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