jaegertracing/jaeger · info
this query parameter is not supported yet
Error message
this query parameter is not supported yet
What it means
ErrNotSupported is the badger backend's placeholder for query parameters it does not implement yet, per the source comment ('during development, don't support every option - yet'). It is declared as a public sentinel so callers can errors.Is-check for unsupported features. In the current badger reader no active call site returns it — unsupported parameters are effectively ignored rather than rejected.
Source
Thrown at internal/storage/v1/badger/spanstore/reader.go:46
ErrServiceNameNotSet = errors.New("service name must be set")
// ErrStartTimeMinGreaterThanMax occurs when start time min is above start time max
ErrStartTimeMinGreaterThanMax = errors.New("min start time is above max")
// ErrDurationMinGreaterThanMax occurs when duration min is above duration max
ErrDurationMinGreaterThanMax = errors.New("min duration is above max")
// ErrMalformedRequestObject occurs when a request object is nil
ErrMalformedRequestObject = errors.New("malformed request object")
// ErrStartAndEndTimeNotSet occurs when start time and end time are not set
ErrStartAndEndTimeNotSet = errors.New("start and end time must be set")
// ErrUnableToFindTraceIDAggregation occurs when an aggregation query for TraceIDs fail.
ErrUnableToFindTraceIDAggregation = errors.New("could not find aggregation of traceIDs")
// ErrNotSupported during development, don't support every option - yet
ErrNotSupported = errors.New("this query parameter is not supported yet")
// ErrInternalConsistencyError indicates internal data consistency issue
ErrInternalConsistencyError = errors.New("internal data consistency issue")
)
const (
defaultNumTraces = 100
sizeOfTraceID = 16
encodingTypeBits = 0x0F
)
// TraceReader reads traces from the local badger store
type TraceReader struct {
store *badger.DB
cache *CacheStore
}
// executionPlan is internal structure to track the index filteringView on GitHub (pinned to 806f444784)
Solutions
- Do not rely on badger rejecting unsupported parameters — verify which TraceQueryParameters fields your backend honors and avoid the rest.
- Write portable query code that degrades gracefully when a filter is not applied (validate results server-side).
- If you need full parameter support, use the Elasticsearch or Cassandra backend instead of badger (badger is aimed at local/development use).
Example fix
// before
q := &spanstore.TraceQueryParameters{ServiceName: "svc", StartTimeMin: a, StartTimeMax: b, // plus unsupported filters
}
ids, _ := reader.FindTraceIDs(ctx, q) // silently ignored filters
// after
q := &spanstore.TraceQueryParameters{ServiceName: "svc", StartTimeMin: a, StartTimeMax: b}
ids, err := reader.FindTraceIDs(ctx, q)
if err != nil { return err } Defensive patterns
Strategy: fallback
Validate before calling
var badgerSupportedFields = map[string]bool{
"ServiceName": true, "OperationName": true, "Tags": true,
"StartTimeMin": true, "StartTimeMax": true,
"DurationMin": true, "DurationMax": true, "NumTraces": true,
}
// strip or reject unsupported fields before querying badger Try / catch
ids, err := reader.FindTraceIDs(ctx, q)
if errors.Is(err, spanstore.ErrNotSupported) {
// degrade: retry with only the universally supported parameters
ids, err = reader.FindTraceIDs(ctx, minimalQuery(q))
}
if err != nil { return nil, err } Prevention
- Restrict queries against the badger backend to the parameters it implements.
- Feature-detect backend capabilities in wrapper code and disable unsupported filters in the UI.
- Use ES/Cassandra when advanced query features are required; badger targets local/development use.
- Add integration tests per backend so silently-ignored filters are caught.
When it happens
Trigger: Expected when passing query features the badger backend does not plan to honor (e.g. advanced aggregation options in historical code paths). In the shipped code it is declared but not returned, so no current API call produces it.
Common situations: Porting applications from ES/Cassandra backends that support richer query parameters to badger; writing portable code that switches on backend-specific unsupported-feature errors; reviewing legacy Jaeger versions where it was returned.
Related errors
- service name must be set
- min start time is above max
- min duration is above max
- malformed request object
- start and end time must be set
AI-assisted analysis of jaegertracing/jaeger@806f444784 (2026-09-01).
Data as JSON: /api/errors/bc0cdc6a4a4336f4.
Report an issue: GitHub.