SigNoz/signoz · error · error
no index table supplied
Error message
no index table supplied
What it means
ErrNoIndexTable is a sentinel error returned (e.g. by GetServices) when the ClickHouse reader has no index table configured, so span/index-backed queries can't be executed.
Source
Thrown at pkg/query-service/app/clickhouseReader/reader.go:119
signozTSTableNameV4Reduced = "distributed_time_series_v4_reduced"
signozTableAttributesMetadata = "distributed_attributes_metadata"
signozLocalTableAttributesMetadata = "attributes_metadata"
signozUpdatedMetricsMetadataLocalTable = "updated_metadata"
signozUpdatedMetricsMetadataTable = "distributed_updated_metadata"
minTimespanForProgressiveSearch = time.Hour
minTimespanForProgressiveSearchMargin = time.Minute
maxProgressiveSteps = 4
charset = "abcdefghijklmnopqrstuvwxyz" +
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
NANOSECOND = 1000000000
)
var (
ErrNoOperationsTable = errors.New("no operations table supplied")
ErrNoIndexTable = errors.New("no index table supplied")
ErrStartTimeRequired = errors.New("start time is required for search queries")
seededRand *rand.Rand = rand.New(
rand.NewSource(time.Now().UnixNano()))
)
// SpanWriter for reading spans from ClickHouse
type ClickHouseReader struct {
db clickhouse.Conn
prometheus prometheus.Prometheus
sqlDB sqlstore.SQLStore
TraceDB string
operationsTable string
durationTable string
indexTable string
errorTable string
usageExplorerTable string
SpansTable string
spanAttributeTableV2 stringView on GitHub (pinned to 5069bf80b0)
Solutions
- Configure the index table name (e.g. SIGNOZ_TRACE_INDEX env var / config field) for the query service
- Ensure the corresponding distributed table exists in ClickHouse (check schema migrations)
- Restart the query service after fixing config so the reader is rebuilt with the table name
Example fix
// before SIGNOZ_TRACE_INDEX="" // after SIGNOZ_TRACE_INDEX="distributed_signoz_index_v2"
Defensive patterns
Strategy: validation
Validate before calling
if indexTable == "" {
log.Fatal("index table must be configured (SIGNOZ_TRACE_INDEX)")
}
reader := NewClickHouseReader(conn, operationsTable, indexTable) Try / catch
_, err := reader.GetServices(ctx, params)
if errors.Is(err, clickhouseReader.ErrNoIndexTable) {
// fix env/config, verify table exists, restart
} Prevention
- Assert required table env vars in deployment manifests
- Verify distributed index table exists after ClickHouse upgrades
When it happens
Trigger: Calling GetServices (or any index-table-dependent reader method) with an empty indexTable configuration on the ClickHouseReader.
Common situations: Deploying the query service without the SIGNOZ_TRACE_INDEX / index table env var; pointing at a ClickHouse cluster where the distributed index table wasn't created; upgrading to a version that renamed index tables.
Understand the failure class
Background: "environment variable is not set" and "Missing keys in environment" errors: what missing required env var messages mean and how to fix them — this error's family across 28 libraries.
Related errors
- no operations table supplied
- removing a selected field is not allowed, please reach out t
- ErrorNotFound
- error while fetching trace schema: %s
- CodeLicenseUnavailable
AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28).
Data as JSON: /api/errors/e81f0fad6e4e2e6a.
Report an issue: GitHub.