JuliusBrussee/caveman · error

cachebench: could not build provider request

Error message

cachebench: could not build provider request

What it means

Error "cachebench: could not build provider request" thrown in JuliusBrussee/caveman.

Source

Thrown at cacheengine/cachebench/replay_http.go:139

		return ReplayResponse{}, errors.New("cachebench: nil HTTP replay transport")
	}
	if int64(len(outbound.Body)) > transport.maxRequestBytes {
		return ReplayResponse{}, errors.New("cachebench: replay body exceeds configured request limit")
	}
	provider := strings.ToLower(strings.TrimSpace(outbound.Provider))
	if !validBoundedText(provider, 64, false) {
		return ReplayResponse{}, errors.New("cachebench: invalid replay provider")
	}
	endpoint, err := transport.endpoint(provider, outbound)
	if err != nil {
		return ReplayResponse{}, err
	}
	if !validUniqueJSONObject(outbound.Body) {
		return ReplayResponse{}, errors.New("cachebench: replay body must be one JSON object")
	}
	request, err := http.NewRequestWithContext(ctx, http.MethodPost, endpoint.String(), bytes.NewReader(outbound.Body))
	if err != nil {
		return ReplayResponse{}, errors.New("cachebench: could not build provider request")
	}
	request.Header.Set("content-type", "application/json")
	request.Header.Set("accept", "application/json")
	request.Header.Set("user-agent", "caveman-cachebench-replay/1")
	if err := transport.authorize(provider, outbound.Region, request, outbound.Body); err != nil {
		return ReplayResponse{}, err
	}
	response, err := transport.client.Do(request)
	if err != nil {
		return ReplayResponse{}, errors.New("cachebench: provider request failed")
	}
	defer response.Body.Close()
	body, err := io.ReadAll(io.LimitReader(response.Body, transport.maxResponseBytes+1))
	if err != nil {
		return ReplayResponse{StatusCode: response.StatusCode}, errors.New("cachebench: provider response read failed")
	}
	if int64(len(body)) > transport.maxResponseBytes {
		return ReplayResponse{StatusCode: response.StatusCode}, errors.New("cachebench: provider response exceeds configured limit")

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Fix the request fields so the provider request can be built.

When it happens

Trigger: Thrown at cacheengine/cachebench/replay_http.go:139 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/e8bae3787a9751e4. Report an issue: GitHub.