benbjohnson/litestream · error
invalid value for query parameter %q: %q (must be a positive
Error message
invalid value for query parameter %q: %q (must be a positive integer)
What it means
IntQueryValue rejected a URL query parameter (e.g. concurrency, partSize, retention): the value is present but is not a positive base-10 integer. Flag-style values like '0', '-1', or non-numeric strings are invalid for these numeric knobs.
Source
Thrown at replica_url.go:222
return false, true
}
}
}
return false, false
}
// IntQueryValue returns a positive integer value from URL query parameters.
// It checks keys in order and returns the value and whether it was set.
// Returns an error if a present value is not a positive integer.
func IntQueryValue(query url.Values, keys ...string) (value int64, ok bool, err error) {
if query == nil {
return 0, false, nil
}
for _, key := range keys {
if raw := query.Get(key); raw != "" {
n, err := strconv.ParseInt(raw, 10, 64)
if err != nil || n <= 0 {
return 0, false, fmt.Errorf("invalid value for query parameter %q: %q (must be a positive integer)", key, raw)
}
return n, true, nil
}
}
return 0, false, nil
}
// IsHetznerEndpoint returns true if the endpoint is Hetzner object storage service.
func IsHetznerEndpoint(endpoint string) bool {
host := extractEndpointHost(endpoint)
if host == "" {
return false
}
return strings.HasSuffix(host, ".your-objectstorage.com")
}
// IsTigrisEndpoint returns true if the endpoint is the Tigris object storage service.
func IsTigrisEndpoint(endpoint string) bool {View on GitHub (pinned to 4ed7a308f6)
Solutions
- Set the query parameter to a positive integer, e.g. ?concurrency=4
- Remove the parameter to use its default
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at replica_url.go:222 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of benbjohnson/litestream@4ed7a308f6 (2026-09-06).
Data as JSON: /api/errors/9d6bed0dcff89a68.
Report an issue: GitHub.