-
Notifications
You must be signed in to change notification settings - Fork 90
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
Fix #3931: Add unversioned
flag to Package.set()
and Package.set_dir()
#3927
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3927 +/- ##
===========================================
+ Coverage 36.58% 84.48% +47.90%
===========================================
Files 719 40 -679
Lines 31980 3488 -28492
Branches 4707 0 -4707
===========================================
- Hits 11700 2947 -8753
+ Misses 19116 541 -18575
+ Partials 1164 0 -1164
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
First stab at trying to mock S3 calls. Any advice appreciated... |
@drernie I think it would useful in these cases:
|
As we discussed, the (good) reason to throw an error on insufficient version permissions is to ensure they realize their data is not being versioned. Of course, right now we do NOT warn them if the bucket simply lacks versions. The two consistent options would seem to be:
Is that right? |
there are more things we should have in mind
|
Okay, this seems a minimal PR that addresses the most urgent use case for Omics. Also: is there any way we could put out a 5.4.1 pre-release next Monday, so we can announce "Omics support" at my Tuesday session (right before the AWS Omics talk)? |
my idea was that we do only IMO we should also fix
I think yes, though it should be 5.5.0 because it's a new feature |
Ah. So should the flag actually be "unversioned=True", so that it explicitly forces the code to ignore all versioning? |
And should the default be None, so unversioned=False throws an error for unversioned buckets? Is there even an easy way to test for that? |
@sir-sigurd Are we good? Should I bump the version to 5.5.0a1, or will you do that when you push the pre-release? |
we need a branch without breaking changes to cut 5.x release |
Recommended:
|
unversioned
flag to Package.set()
and Package.set_dir()
Should the default for what be There is a GetBucketVersioning call possible but not everyone will have permissions to it. There are in fact three possible states for the bucket versioning: Suspended, Enabled, As for Sergey's comment from memory (but I didn't try this recently) I believe that if you turn versioning on, or on then off, objects present before or created after versioning was off indeed have a version id of |
Although we should in a separate PR distinguish between versioned and unversioned buckets in various ways throughout the product, we currently do not and have not, therefore this changeset should not have any conditionals to warn about versioned or unversioned state for reasons of consistency and backwards compatibility. |
Co-authored-by: Aneesh Karve <[email protected]>
Okay, so it sounds like you are okay with this PR as it is, right? Can @sir-sigurd move forward with merging this and cutting a pre-release? |
@sir-sigurd this is ready for pre-release |
Created a new issue to track that. Please add additional comments there. |
currently we don't grant it to the stack users
I'm not sure we could find some sensible behavior (that "throws an error for unversioned buckets") due to versioning could be enabled/disabled for existing buckets |
Rewrite of #3924