kopia/kopia · error
error looking for maintenance manifest
Error message
error looking for maintenance manifest
What it means
manifestIDs lists all maintenance manifests by calling rep.FindManifests with the maintenance label set. This error wraps failure of that search, so callers cannot determine whether maintenance parameters exist. It is thrown whenever the manifest lookup query itself fails (as opposed to returning an empty result).
Solutions
- Check network connectivity and credentials for the storage backend and retry
- Look for provider-side throttling/rate-limit errors in errors.Cause output and apply backoff
- Run repository consistency checks if listing persists in failing
- Ensure the repository connection is healthy (kopia repository status) before calling HasParams/GetParams
Defensive patterns
Strategy: retry
Validate before calling
if err := rep.Refresh(ctx); err != nil {
return fmt.Errorf("storage not reachable: %w", err)
} Try / catch
has, err := maintenance.HasParams(ctx, rep)
if err != nil {
// backoff and retry listing; listing errors are usually transient
time.Sleep(time.Second)
has, err = maintenance.HasParams(ctx, rep)
} Prevention
- Apply exponential backoff for manifest listing against cloud storage
- Watch for provider throttling/rate limits
- Validate repository connectivity before HasParams/GetParams
When it happens
Trigger: Calling manifestIDs via HasParams or GetParams when rep.FindManifests fails: storage backend unreachable, listing operation rejected by the provider, or authentication failure while enumerating manifests.
Common situations: Network outages against object storage during manifest listing; expired cloud session; storage provider errors on list operations (rate limits, throttling); repository metadata corruption.
Understand the failure class
Background: Database query failed: Internal Server Error 500s wrapping SQL, Prisma, and connection failures — what to check first — this error's family across 16 libraries.
Related errors
- error getting maintenance params
- error loading manifest
- put manifest
- unable to get maintenance params
- blob configuration
AI-assisted analysis of kopia/kopia@82495e54b5 (2026-09-07).
Data as JSON: /api/errors/37f58d0010c65509.
Report an issue: GitHub.
Appendix: source
Thrown at repo/maintenance/maintenance_params.go:122
return nil, errors.Wrap(err, "error loading manifest")
}
return p, nil
}
// SetParams sets the maintenance parameters.
func SetParams(ctx context.Context, rep repo.RepositoryWriter, par *Params) error {
if _, err := rep.ReplaceManifests(ctx, manifestLabels, par); err != nil {
return errors.Wrap(err, "put manifest")
}
return nil
}
func manifestIDs(ctx context.Context, rep repo.Repository) ([]*manifest.EntryMetadata, error) {
md, err := rep.FindManifests(ctx, manifestLabels)
if err != nil {
return nil, errors.Wrap(err, "error looking for maintenance manifest")
}
return md, nil
}
View on GitHub (pinned to 82495e54b5)