thanos-io/thanos · error
open storage dir
Error message
open storage dir
What it means
os.OpenRoot failed on the receive data directory after creating it. This obtains a rooted-handle for safe tenant-scoped file access; failure indicates the directory vanished, permission issues, or an unsupported filesystem.
Solutions
- Re-check data dir permissions after creation errors
- Ensure the filesystem supports openat2/O_PATH semantics (or run a newer kernel)
- Confirm nothing deletes the data dir concurrently
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at cmd/thanos/receive.go:217 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of thanos-io/thanos@35b8b99117 (2026-09-07).
Data as JSON: /api/errors/e3cd05ccc843ad5e.
Report an issue: GitHub.
Appendix: source
Thrown at cmd/thanos/receive.go:217
bkt, err = client.NewBucket(logger, confContentYaml, comp.String(), nil)
if err != nil {
return err
}
bkt = objstoretracing.WrapWithTraces(objstore.WrapWithMetrics(bkt, extprom.WrapRegistererWithPrefix("thanos_", reg), bkt.Name()))
} else {
level.Info(logger).Log("msg", "no supported bucket was configured, uploads will be disabled")
}
}
var dataDir *os.Root
if enableIngestion {
if err := os.MkdirAll(conf.dataDir, 0o755); err != nil {
return errors.Wrapf(err, "create data dir in %v", conf.dataDir)
}
dataDir, err = os.OpenRoot(conf.dataDir)
if err != nil {
return errors.Wrap(err, "open storage dir")
}
// Create TSDB for the default tenant.
if err := createDefautTenantTSDB(logger, conf.defaultTenantID, dataDir); err != nil {
return errors.Wrapf(err, "create default tenant tsdb in %v", conf.dataDir)
}
}
relabelConfig, err := conf.relabelCfg.RelabelConfig(nil)
if err != nil {
return errors.Wrap(err, "get relabel configuration")
}
var cache = storecache.NoopMatchersCache
if conf.matcherCacheSize > 0 {
cache, err = storecache.NewMatchersCache(storecache.WithSize(conf.matcherCacheSize), storecache.WithPromRegistry(reg))
if err != nil {
return errors.Wrap(err, "failed to create matchers cache")View on GitHub (pinned to 35b8b99117)