HDDS-13919. S3 Conditional Writes (PutObject)
What changes were proposed in this pull request?
The design doc for S3 conditional write
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-13919
How was this patch tested?
@hevinhsu Could you help to take a look as well? Thanks.
@ivandika3 @chungen0126 I’ve refined the design—please take another look.
Regarding the TODO: I plan to evolve the design and code together across patches:
- Initial patch: introduce the design, fully detail “conditional write,” and outline high-level approaches for get/copy.
- Conditional get: complete the remaining design details for conditional get and include the corresponding code changes.
- Conditional copy: complete the remaining design details for conditional copy and include the corresponding code changes.
Let me know if this workflow sounds feasible.
Thanks for iterating for this, the direction is good. Should we separate the design docs and the actual implementations?
Sounds good. I’ll first revert the code changes, then we can merge this design doc first.
Let's be more permissive and not fail the precondition if ETag metadata does not exist
Agreed. will update the doc accordingly.
@errose28 and @kerneltime You guys had some interest in a fuller implementation of the "conditional write" api when I was doing the atomic rewrite change. Would be good to get your thoughts on this design doc too.
This PR has been marked as stale due to 21 days of inactivity. Please comment or remove the stale label to keep it open. Otherwise, it will be automatically closed in 7 days.
Thanks @peterxcli for the design doc and @sodonnel for the reviews.
Please go ahead with the implementation.
Thanks @ivandika3! Will submit the PR ASAP.