gruuya opened a new issue, #5504:
URL: https://github.com/apache/opendal/issues/5504

   ### Feature Description
   
   In #5352 new capability and correctness check layers were introduced. Unlike 
the former the later is on by default 
https://github.com/apache/opendal/blob/f7f9990f95146400c3aef8afc11804e4a6e3afe3/core/src/types/operator/builder.rs#L475
   
   This issue is about making that layer optional too (or a number of other 
resolutions mentioned below).
   
   ### Problem and Solution
   
   The main problem is that with the above-mentioned change one cannot call 
`if_none_match` on an S3 operator anymore, as it leads to `service s3 doesn't 
support operation write with args if_none_match`.
   
   I see a number of potential resolutions, sorted by perceived simplicity:
   - make `CorrectnessCheckLayer` optional in `OperatorBuilder`
   - whereas `write_with_if_not_exists` defaults to true for S3 
https://github.com/apache/opendal/blob/f7f9990f95146400c3aef8afc11804e4a6e3afe3/core/src/services/s3/backend.rs#L959
     there's no corresponding config for `write_with_if_none_match` (and so it 
defaults to `false` from `..Default::default()`); arguably one should be added 
and it should default to `true`
   - make `Operator` -> `OperatorInfo` -> `Capability` reachable in a mutable 
manner for a custom override
   
   ### Additional Context
   
   _No response_
   
   ### Are you willing to contribute to the development of this feature?
   
   - [X] Yes, I am willing to contribute to the development of this feature.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to