You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Ivan Andika (Jira)" <ji...@apache.org> on 2025/09/24 09:55:00 UTC
[jira] [Updated] (HDDS-13117) Add support for S3 conditional requests
[ https://issues.apache.org/jira/browse/HDDS-13117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Andika updated HDDS-13117:
-------------------------------
Description:
[https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html]
Last year, AWS S3 supported conditional writes (although GCS has supported it for a long time). Conditional reads have been supported for a while.
This feature has been used by some applications (databases on s3). One blog ([https://www.morling.dev/blog/leader-election-with-s3-conditional-writes/]) also implemented a PoC of leader election based on s3 conditional writes.
HDDS-10656 has already implemented a atomic rewrite key feature, but we need to check whether we can use this feature.
Currently OM HA has only a single Raft group with a single applier thread (see Ratis StateMachineUpdater), therefore it should be quite straightforward (at least for conditional writes). However, a short design doc will be useful. We can separate this tickets to multiple smaller tickets
# Conditional reads (HeadObject / GetObject)
# Conditional copy (CopyObject)
# Conditional writes
was:
[https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html]
Last year, AWS S3 supported conditional writes (although GCP has supported it for a long time). Conditional reads have been supported for a while.
This feature has been used by some applications (databases on s3). One blog ([https://www.morling.dev/blog/leader-election-with-s3-conditional-writes/]) also implemented a PoC of leader election based on s3 conditional writes.
HDDS-10656 has already implemented a atomic rewrite key feature, but we need to check whether we can use this feature.
Currently OM HA has only a single Raft group with a single applier thread (see Ratis StateMachineUpdater), therefore it should be quite straightforward (at least for conditional writes). However, a short design doc will be useful. We can separate this tickets to multiple smaller tickets
# Conditional reads (HeadObject / GetObject)
# Conditional copy (CopyObject)
# Conditional writes
> Add support for S3 conditional requests
> ---------------------------------------
>
> Key: HDDS-13117
> URL: https://issues.apache.org/jira/browse/HDDS-13117
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Ivan Andika
> Priority: Major
>
> [https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html]
> Last year, AWS S3 supported conditional writes (although GCS has supported it for a long time). Conditional reads have been supported for a while.
> This feature has been used by some applications (databases on s3). One blog ([https://www.morling.dev/blog/leader-election-with-s3-conditional-writes/]) also implemented a PoC of leader election based on s3 conditional writes.
> HDDS-10656 has already implemented a atomic rewrite key feature, but we need to check whether we can use this feature.
> Currently OM HA has only a single Raft group with a single applier thread (see Ratis StateMachineUpdater), therefore it should be quite straightforward (at least for conditional writes). However, a short design doc will be useful. We can separate this tickets to multiple smaller tickets
> # Conditional reads (HeadObject / GetObject)
> # Conditional copy (CopyObject)
> # Conditional writes
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org