{"record":{"id":"2f3909265376000d","repo":"JuliusBrussee/caveman","slug":"objectstore-delete-version-q-q-w","errorCode":null,"errorMessage":"objectstore: delete version %q (%q): %w","messagePattern":"objectstore: delete version %q \\(%q\\): %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"shared/platform/objectstore/objectstore.go","lineNumber":334,"sourceCode":"\nfunc (m *minioStore) DeletePrefixAllVersions(ctx context.Context, prefix string) error {\n\treturn m.deleteVersions(ctx, prefix, false)\n}\n\nfunc (m *minioStore) deleteVersions(ctx context.Context, keyOrPrefix string, exact bool) error {\n\tfound := false\n\tfor obj := range m.client.ListObjects(ctx, m.bucket, minio.ListObjectsOptions{\n\t\tPrefix: keyOrPrefix, Recursive: true, WithVersions: true,\n\t}) {\n\t\tif obj.Err != nil {\n\t\t\treturn fmt.Errorf(\"objectstore: list versions %q: %w\", keyOrPrefix, obj.Err)\n\t\t}\n\t\tif exact && obj.Key != keyOrPrefix {\n\t\t\tcontinue\n\t\t}\n\t\tfound = true\n\t\tif err := m.client.RemoveObject(ctx, m.bucket, obj.Key, minio.RemoveObjectOptions{VersionID: obj.VersionID}); err != nil {\n\t\t\treturn fmt.Errorf(\"objectstore: delete version %q (%q): %w\", obj.Key, obj.VersionID, err)\n\t\t}\n\t}\n\tif exact && !found {\n\t\t// Non-versioned/S3-compatible backends may omit version listings. Ordinary\n\t\t// deletion remains idempotent and covers that deployment shape.\n\t\treturn m.Delete(ctx, keyOrPrefix)\n\t}\n\treturn nil\n}\n\nfunc (m *minioStore) Exists(ctx context.Context, key string) (bool, error) {\n\t_, err := m.client.StatObject(ctx, m.bucket, key, minio.StatObjectOptions{})\n\tif err != nil {\n\t\tif minio.ToErrorResponse(err).Code == \"NoSuchKey\" {\n\t\t\treturn false, nil\n\t\t}\n\t\treturn false, fmt.Errorf(\"objectstore: stat %q: %w\", key, err)\n\t}","sourceCodeStart":316,"sourceCodeEnd":352,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/shared/platform/objectstore/objectstore.go#L316-L352","documentation":"Error \"objectstore: delete version %q (%q): %w\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at shared/platform/objectstore/objectstore.go:334 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the delete-version error and retry."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"27d5a3981a347890211bb1bf2439e5c821a63bc9","analyzedAt":"2026-08-15T09:26:11.751Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}