JuliusBrussee/caveman · error

cachebench: replay engine, transport, verifier, and emitter

Error message

cachebench: replay engine, transport, verifier, and emitter required

What it means

Error "cachebench: replay engine, transport, verifier, and emitter required" thrown in JuliusBrussee/caveman.

Source

Thrown at cacheengine/cachebench/replay.go:466

	for _, record := range records {
		provider := strings.ToLower(strings.TrimSpace(record.Provider))
		if provider == "" {
			return fmt.Errorf("cachebench: replay request %q has empty provider", record.RequestID)
		}
		counts[provider]++
	}
	for provider, count := range counts {
		if count < target.MinEligibleRequest {
			return fmt.Errorf("cachebench: provider %q population %d cannot meet minimum eligible requests %d", provider, count, target.MinEligibleRequest)
		}
	}
	return nil
}

// Run validates full population, prepares equivalent bodies, then dispatches replay.
func (runner ReplayRunner) Run(ctx context.Context, records []TraceRecord, emit func(ReplayResult) error) error {
	if runner.Engine == nil || runner.Transport == nil || runner.Verifier == nil || emit == nil {
		return errors.New("cachebench: replay engine, transport, verifier, and emitter required")
	}
	if _, err := ValidateReplay(records, runner.Limits, runner.TimeScale); err != nil {
		return err
	}
	prepared, err := runner.prepare(ctx, records)
	if err != nil {
		return err
	}
	if runner.Target != nil {
		if err := validatePreparedReplayTarget(prepared, *runner.Target); err != nil {
			return err
		}
	}
	now := runner.Now
	if now == nil {
		now = time.Now
	}
	sleep := runner.Sleep

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Provide the replay engine, transport, verifier, and emitter; all four are required.

When it happens

Trigger: Thrown at cacheengine/cachebench/replay.go:466 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/80f08a79b23fb9c7. Report an issue: GitHub.