这些设置可在 system.settings 中查看,并根据 源代码 自动生成。
s3_validate_etag_on_read
类型
Bool
默认值
1
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.7 | 1 | 新增设置:通过校验 GET 响应中的 ETag 是否与列出对象时看到的 ETag 一致,检测在读取期间对 S3/GCS 对象的并发原地覆盖。previous_value=false,因此将 `compatibility` 设为 26.7 之前的版本时,会恢复原有行为(不进行校验)。 |
从 S3 (或兼容 S3 的存储 (如 GCS) ) 读取对象时,会检查每个 GET 请求返回的 ETag 是否与列出对象时观察到的 ETag 一致。一次文件读取会发出多个带范围的 GET 请求;如果对象在这些请求之间被原地覆盖 (例如外部写入方重写固定密钥) ,这些读取结果就可能会拼接自该对象的两个不同版本,并表现为校验和损坏或解析错误。检测到不匹配时,读取会以 S3_OBJECT_CHANGED_DURING_READ 失败,而不是返回不一致的数据。仅当工作负载会有意读取正在被覆盖的对象,且能够容忍不一致读取时,才应禁用此项。
s3_validate_request_settings
类型
Bool
默认值
1
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 24.6 | 1 | 允许禁用 S3 请求设置验证 |
启用 S3 请求设置验证。 可选值:
- 1 — 验证设置。
- 0 — 不验证设置。