JuliusBrussee/caveman · error

cachebench: unknown provider %q; valid: %s

Error message

cachebench: unknown provider %q; valid: %s

What it means

Error "cachebench: unknown provider %q; valid: %s" thrown in JuliusBrussee/caveman.

Source

Thrown at cacheengine/cmd/cachebench/main.go:177

	for _, provider := range cachebench.DefaultProviders() {
		available[provider.Provider] = provider
	}
	requested := strings.Split(strings.ToLower(strings.TrimSpace(raw)), ",")
	if len(requested) == 1 && requested[0] == "all" {
		return cachebench.DefaultProviders(), nil
	}
	seen := map[string]bool{}
	var providers []cachebench.ProviderConfig
	for _, name := range requested {
		name = strings.TrimSpace(name)
		provider, ok := available[name]
		if !ok || name == "all" {
			valid := make([]string, 0, len(available))
			for candidate := range available {
				valid = append(valid, candidate)
			}
			sort.Strings(valid)
			return nil, fmt.Errorf("cachebench: unknown provider %q; valid: %s", name, strings.Join(valid, ","))
		}
		if !seen[name] {
			seen[name] = true
			providers = append(providers, provider)
		}
	}
	if len(providers) == 0 {
		return nil, fmt.Errorf("cachebench: no providers selected")
	}
	return providers, nil
}

func writeTraces(path string, providers []cachebench.ProviderConfig, scenario cachebench.Scenario) error {
	file, err := os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0o600)
	if err != nil {
		return err
	}
	defer file.Close()

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Use one of the listed valid providers.

When it happens

Trigger: Thrown at cacheengine/cmd/cachebench/main.go:177 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/60b45f1d5d6dca2f. Report an issue: GitHub.