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]
