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 filtering

View on GitHub (pinned to 806f444784)

Solutions

  1. Do not rely on badger rejecting unsupported parameters — verify which TraceQueryParameters fields your backend honors and avoid the rest.
  2. Write portable query code that degrades gracefully when a filter is not applied (validate results server-side).
  3. 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

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


AI-assisted analysis of jaegertracing/jaeger@806f444784 (2026-09-01). Data as JSON: /api/errors/bc0cdc6a4a4336f4. Report an issue: GitHub.