JuliusBrussee/caveman · error
objectstore: delete version %q (%q): %w
Error message
objectstore: delete version %q (%q): %w
What it means
Error "objectstore: delete version %q (%q): %w" thrown in JuliusBrussee/caveman.
Source
Thrown at shared/platform/objectstore/objectstore.go:334
func (m *minioStore) DeletePrefixAllVersions(ctx context.Context, prefix string) error {
return m.deleteVersions(ctx, prefix, false)
}
func (m *minioStore) deleteVersions(ctx context.Context, keyOrPrefix string, exact bool) error {
found := false
for obj := range m.client.ListObjects(ctx, m.bucket, minio.ListObjectsOptions{
Prefix: keyOrPrefix, Recursive: true, WithVersions: true,
}) {
if obj.Err != nil {
return fmt.Errorf("objectstore: list versions %q: %w", keyOrPrefix, obj.Err)
}
if exact && obj.Key != keyOrPrefix {
continue
}
found = true
if err := m.client.RemoveObject(ctx, m.bucket, obj.Key, minio.RemoveObjectOptions{VersionID: obj.VersionID}); err != nil {
return fmt.Errorf("objectstore: delete version %q (%q): %w", obj.Key, obj.VersionID, err)
}
}
if exact && !found {
// Non-versioned/S3-compatible backends may omit version listings. Ordinary
// deletion remains idempotent and covers that deployment shape.
return m.Delete(ctx, keyOrPrefix)
}
return nil
}
func (m *minioStore) Exists(ctx context.Context, key string) (bool, error) {
_, err := m.client.StatObject(ctx, m.bucket, key, minio.StatObjectOptions{})
if err != nil {
if minio.ToErrorResponse(err).Code == "NoSuchKey" {
return false, nil
}
return false, fmt.Errorf("objectstore: stat %q: %w", key, err)
}View on GitHub (pinned to 27d5a3981a)
Solutions
- Fix the delete-version error and retry.
When it happens
Trigger: Thrown at shared/platform/objectstore/objectstore.go:334 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15).
Data as JSON: /api/errors/2f3909265376000d.
Report an issue: GitHub.