-
Notifications
You must be signed in to change notification settings - Fork 80
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
NSFS | versioning | add comment and documentation about multipart upload version-id #8785
base: master
Are you sure you want to change the base?
Conversation
88fa612
to
fa56b2d
Compare
…oad version-id Signed-off-by: nadav mizrahi <[email protected]>
fa56b2d
to
20c3d8e
Compare
@@ -49,6 +49,9 @@ In the figure, each original directory contains a hidden .versions/ sub- directo | |||
* The version ID will be attached as an xattr of the file. | |||
* When a latest version is moved to past versions directory, the file name will be changed from key to key_{version_id}. | |||
|
|||
#### Multipart upload version order | |||
according to AWS specifications multipart upload version time should be calcluated based on multipart upload creation time rather then completion time. For directory buckets, the object creation time is the completion date of the multipart upload. In our design the version-id time is calculated based on completion time. see https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#distributedmpupload https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-using-multipart-upload.html#s3-express-distributedmpupload |
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.
minor typos
I would move this part before the "out of scope" as it is quite an internal and deep subject (and you attached between basic concepts - version ID and Delete Marker).
I'm adding a suggestion for adding links and separation - accept only the parts that you like.
according to AWS specifications multipart upload version time should be calcluated based on multipart upload creation time rather then completion time. For directory buckets, the object creation time is the completion date of the multipart upload. In our design the version-id time is calculated based on completion time. see https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#distributedmpupload https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-using-multipart-upload.html#s3-express-distributedmpupload | |
According to AWS specifications, multipart upload version time should be calculated based on multipart upload creation time rather than completion time (see [AWS Documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#distributedmpupload)). | |
On the other hand, for directory buckets, the object creation time is the completion date of the multipart upload (see [AWS Documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-using-multipart-upload.html#s3-express-distributedmpupload). | |
In our design, the version-id time is calculated based on completion time. |
// 2.1.2. else - copy the prev part size file prefix to upload_path | ||
// 3. copy bytes of the current's part size file | ||
// NOTE on versioning - according to general aws specifications, the version_id time should be based on when we created the upload. | ||
// for directory buckets, on AWS, the object creation time is the completion date of the multipart upload | ||
// on our design we desided to do it based on when the upload was completed. |
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 would note the reason in short (1 to a couple of words - "performance"...).
// on our design we desided to do it based on when the upload was completed. | |
// on our design we decided to do it based on when the upload was completed. |
Explain the changes
Issues: Fixed #xxx / Gap #xxx
Testing Instructions: