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

  1. Check errQueriesByName for the failing query name and the underlying ClickHouse error
  2. Log/print the generated SQL (raise query-service log level) and run it against ClickHouse directly to see the real error
  3. Verify ClickHouse connectivity, table schema, and TTL settings; ensure the signoz cluster is healthy
  4. 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

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.