fix: reject COPY-to-self from unresolved object generations

Signed-off-by: Feng Ruohang <rh@vonng.com>
This commit is contained in:
Feng Ruohang
2026-10-25 01:11:27 +08:00
parent d2eb0ade91
commit 0501a198e3
2 changed files with 9 additions and 0 deletions
+6
View File
@@ -136,6 +136,12 @@ func TestPoolsReadGenerationConflictDoesNotExposeOldValue(t *testing.T) {
}
if tc.mode != "newer-quorum" {
for _, version := range []string{"", nullVersionID} {
_, err := set.CopyObject(ctx, bucket, object, bucket, object,
ObjectInfo{metadataOnly: true, UserDefined: map[string]string{"copy-test": "conflicting-source"}},
ObjectOptions{VersionID: version}, ObjectOptions{})
if !isErrReadQuorum(err) {
t.Errorf("COPY-to-self version=%q: want read-quorum error, got %v", version, err)
}
for _, scan := range []madmin.HealScanMode{madmin.HealNormalScan, madmin.HealDeepScan} {
_, err := set.HealObject(ctx, bucket, object, version, madmin.HealOpts{ScanMode: scan, Remove: true})
if !isErrReadQuorum(err) {