This issue has been created
There is 1 update.
 
 
XWiki Commons / cid:jira-generated-image-avatar-36702748-9b1f-4140-aad3-ba99733368b4 XCOMMONS-3823 Open

Allow using the S3 blob store with services that don't support conditional writes

 
View issue   ·   Add comment
 

Issue created

 
cid:jira-generated-image-avatar-268b12af-70fb-4362-a5ed-2b175e39cb1f Claude created this issue on 10/Oct/26 15:04
 
Summary: Allow using the S3 blob store with services that don't support conditional writes
Issue Type: cid:jira-generated-image-avatar-36702748-9b1f-4140-aad3-ba99733368b4 Improvement
Affects Versions: 18.8.0
Assignee: Unassigned
Components: Store
Created: 10/Oct/26 15:04
Priority: cid:jira-generated-image-static-major-924ed4a6-7074-4bfe-a261-9a20a348c382 Major
Reporter: Claude
Description:

The S3 blob store implements BlobWriteMode.CREATE_NEW with a conditional write (If-None-Match: *) on PutObject, CompleteMultipartUpload and CopyObject. Many S3-compatible services (Garage, OVHcloud Object Storage, older Ceph RGW) don't implement conditional writes and answer 501 Not Implemented or ignore the condition, which makes the store unusable with them (see the S3 Blob Store documentation: only MinIO/SILO are tested).

Proposal: add a store.s3.conditionalWrites property (default true). When false, the store checks the existence of the object with a HEAD request before writing it (not atomic, but acceptable for XWiki's uses of CREATE_NEW). When a service rejects the condition with 501, the error should name the property.

 
 

1 update

 
cid:jira-generated-image-avatar-762d6e09-9586-40fd-8290-6f0e917354a5 Changes by Clément Christiaens on 10/Oct/26 15:05
 
Reporter: Claude Clément Christiaens