-
Notifications
You must be signed in to change notification settings - Fork 15
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
Switch to v2 object split scheme #957
Conversation
f242f22
to
0bff48e
Compare
0bff48e
to
54a811f
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #957 +/- ##
==========================================
- Coverage 26.92% 26.71% -0.21%
==========================================
Files 87 87
Lines 14129 14246 +117
==========================================
+ Hits 3804 3806 +2
- Misses 9903 10017 +114
- Partials 422 423 +1 ☔ View full report in Codecov by Sentry. |
b7c4cba
to
cf43c02
Compare
cf43c02
to
c699af0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've expected more red lines, but probably we're still too dependent on the tree service.
var ( | ||
bktInfo = p.Bkt | ||
attributes [][2]string | ||
multipartHash = sha256.New() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Technically it's not needed, you know it has no data.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is correct. Unfortunately, I failed to avoid it. Even empty data must be hashed and marshaled to be available for the next parts. This required calculating a hash for the whole object and the next part uses the "hash state" from the previous one
Closes #937. Signed-off-by: Evgenii Baidakov <evgenii@nspcc.io>
In real NeoFS the complex object is constructing by the node using linking object, previous-id header, etc. For tests we use only the map and this step creates real object in this map. Signed-off-by: Evgenii Baidakov <evgenii@nspcc.io>
c699af0
to
2931301
Compare
These changes fixes test_s3.py::test_versioning_obj_suspend_versions and test_s3.py::test_list_multipart_upload_owner tests. Signed-off-by: Evgenii Baidakov <evgenii@nspcc.io>
Fixes s3tests_boto3/functional/test_s3.py::test_encryption_sse_c_multipart_bad_download test. Signed-off-by: Evgenii Baidakov <evgenii@nspcc.io>
Signed-off-by: Evgenii Baidakov <evgenii@nspcc.io>
Current texts are misleading a bit. Signed-off-by: Evgenii Baidakov <evgenii@nspcc.io>
Signed-off-by: Evgenii Baidakov <evgenii@nspcc.io>
2931301
to
8328780
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is (has been for 2 weeks) my first experience with our S3 review. Overall, looks working to me. However, I still do not understand why some changes are done now and in the replace v1 to v2 commit. We have not changed the split noticeably, it is just now more convenient and more informative for SNs, but it is still an object chain, and still, the whole chain is backward-dependent, so it is strange.
Also, reuploading parts logic blows my mind, but it is not this PR's scope.
No description provided.