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

Distinguish between Error and Empty for GCS and S3 DataVaults #7198

Merged
merged 8 commits into from
Jul 18, 2023

Conversation

frcroth
Copy link
Member

@frcroth frcroth commented Jul 10, 2023

URL of deployed dev instance (used for testing):

  • https://___.webknossos.xyz

Steps to test:

  • Should be done through tests ;)
  • (check if GCS and S3 still work)

Issues:

Since it is not user facing I guess no changelog.


(Please delete unneeded items, merge only when none are left open)

  • Needs datastore update after deployment

@frcroth frcroth marked this pull request as ready for review July 10, 2023 14:57
@frcroth frcroth requested a review from fm3 July 10, 2023 14:57
@frcroth frcroth self-assigned this Jul 10, 2023
Copy link
Member

@fm3 fm3 left a comment

Choose a reason for hiding this comment

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

The implementation looks good to me :)

Props for writing tests 🎉

The test does not currently distinguish between Failure and Empty, though. Also, could you add a test case where a Failure is expected? (e.g. Forbidden?)

I think this is actually a user-facing change, I’d add something like this into the changelog

“Correctly use configured fill-value for missing chunks of remote datasets hosted on gcs or s3.” (since there is a distinction on Failure vs Empty in ChunkReader, which can now work here)

util/src/main/scala/com/scalableminds/util/tools/Fox.scala Outdated Show resolved Hide resolved
test/backend/DataVaultTestSuite.scala Outdated Show resolved Hide resolved
@frcroth
Copy link
Member Author

frcroth commented Jul 14, 2023

For S3 I would need a public data set to actually validate that it works in the test. I haven't found anything by Amazon, so the tests could use some public dataset known to us or just test failure.

@frcroth frcroth requested a review from fm3 July 14, 2023 13:12
Copy link
Member

@fm3 fm3 left a comment

Choose a reason for hiding this comment

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

That’s fair then, I don’t have such a link ready either.

LGTM! :shipit:

@frcroth
Copy link
Member Author

frcroth commented Jul 17, 2023

@fm3 Tested it again before merging and a dataset with required credentials did not work because of "timeout waiting for connection pool". Turns out one has to close an s3object.

@frcroth frcroth requested a review from fm3 July 17, 2023 14:15
@frcroth frcroth changed the title Distinguish between error and Empty (404) for GCS and S3 DataVaults Distinguish between Error and Empty for GCS and S3 DataVaults Jul 18, 2023
@frcroth frcroth merged commit 7749e41 into master Jul 18, 2023
@frcroth frcroth deleted the empty-gcs-s3 branch July 18, 2023 07:47
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.

Distinguish between error and Empty (404) for GCS and S3 DataVaults
2 participants