SigNoz/signoz · error
error in clickhouse queries
Error message
error in clickhouse queries
What it means
Aggregated error returned by runClickHouseQueries when one or more ClickHouse sub-queries of a composite query fail. Per-query errors are also returned in errQueriesByName keyed by query name, so callers can attribute the failure to a specific query.
Source
Thrown at pkg/query-service/app/querier/querier.go:304
results := make([]*v3.Result, 0)
errQueriesByName := make(map[string]error)
var errs []error
for result := range channelResults {
if result.Err != nil {
errs = append(errs, result.Err)
errQueriesByName[result.Name] = result.Err
continue
}
results = append(results, &v3.Result{
QueryName: result.Name,
Series: result.Series,
})
}
var err error
if len(errs) > 0 {
err = fmt.Errorf("error in clickhouse queries")
}
return results, errQueriesByName, err
}
func (q *querier) runWindowBasedListQuery(ctx context.Context, params *v3.QueryRangeParamsV3, tsRanges []utils.LogsListTsRange) ([]*v3.Result, map[string]error, error) {
res := make([]*v3.Result, 0)
qName := ""
pageSize := uint64(0)
limit := uint64(0)
offset := uint64(0)
// Get query details and check order direction
for name, v := range params.CompositeQuery.BuilderQueries {
qName = name
pageSize = v.PageSize
limit = v.Limit
offset = v.Offset
View on GitHub (pinned to 5069bf80b0)
Solutions
- Check errQueriesByName for the failing query name and the underlying ClickHouse error
- Log/print the generated SQL (raise query-service log level) and run it against ClickHouse directly to see the real error
- Verify ClickHouse connectivity, table schema, and TTL settings; ensure the signoz cluster is healthy
- Narrow the time range or add filters to reduce query cost
Defensive patterns
Strategy: try-catch
Try / catch
results, errByName, err := querier.QueryRange(ctx, orgID, params)
if err != nil && strings.Contains(err.Error(), "error in clickhouse queries") {
for name, qerr := range errByName { /* handle per-query */ }
return err
} Prevention
- Keep ClickHouse schema and query-service versions in sync
- Test generated SQL on large datasets before shipping dashboards
- Set sane timeouts and retry on transient ClickHouse errors
When it happens
Trigger: Calling QueryRange with a composite query of type v3.QueryBuilder/PromQLDirector where the generated ClickHouse SQL fails: syntax errors, missing tables/columns, ClickHouse connection issues, or execution timeouts.
Common situations: Schema mismatch after upgrade (missing columns in distributed tables), overly broad filters causing timeouts, wrong datasource type, ClickHouse cluster overload or OOM.
Related errors
AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28).
Data as JSON: /api/errors/e57e619cfbc434b6.
Report an issue: GitHub.