thanos-io/thanos · error

create caching bucket

Error message

create caching bucket

What it means

Wraps storecache.NewCachingBucketFromYaml: the caching bucket configuration supplied via --store.caching.bucket.config could not be parsed into a working caching layer for the object storage bucket. The YAML is malformed or contains unknown/invalid cache entries, so the store cannot wrap its bucket and exits.

Solutions

  1. Validate caching bucket config fields (in-memory/memcached settings)
  2. Check size and TTL values are sensible
  3. Compare against storecache config docs
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cmd/thanos/store.go:347 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/0c4030599135ffd3. Report an issue: GitHub.

Appendix: source

Thrown at cmd/thanos/store.go:347

		return errors.Wrap(err, "parsing config YAML file")
	}
	bkt, err := client.NewBucket(logger, confContentYaml, conf.component.String(), exthttp.CreateHedgedTransportWithConfig(customBktConfig))
	if err != nil {
		return err
	}
	insBkt := objstoretracing.WrapWithTraces(objstore.WrapWithMetrics(bkt, extprom.WrapRegistererWithPrefix("thanos_", reg), bkt.Name()))

	cachingBucketConfigYaml, err := conf.cachingBucketConfig.Content()
	if err != nil {
		return errors.Wrap(err, "get caching bucket configuration")
	}

	r := route.New()

	if len(cachingBucketConfigYaml) > 0 {
		insBkt, err = storecache.NewCachingBucketFromYaml(cachingBucketConfigYaml, insBkt, logger, reg, r, conf.cachingBucketConfig.Path())
		if err != nil {
			return errors.Wrap(err, "create caching bucket")
		}
	}

	relabelConfig, err := conf.selectorRelabel.RelabelConfig(block.SelectorSupportedRelabelActions)
	if err != nil {
		return err
	}

	indexCacheContentYaml, err := conf.indexCacheConfigs.Content()
	if err != nil {
		return errors.Wrap(err, "get content of index cache configuration")
	}

	// Create the index cache loading its config from config file, while keeping
	// backward compatibility with the pre-config file era.
	var indexCache storecache.IndexCache
	if len(indexCacheContentYaml) > 0 {
		indexCache, err = storecache.NewIndexCache(logger, indexCacheContentYaml, reg)

View on GitHub (pinned to 35b8b99117)