SigNoz/signoz · warning

invalid type for Partition

Error message

invalid type for Partition

What it means

Error returned by BuildClickHouseQuery when the 'partition' variable is missing for query contexts other than consumer-throughput-details and producer-throughput-details, which require a partition to build the SQL. Message is misleading — it indicates a missing key, not a type problem.

Source

Thrown at pkg/query-service/app/integrations/messagingQueues/kafka/translator.go:351

	if queryContext == "producer" ||
		queryContext == "consumer" ||
		queryContext == "consumer_partition_latency" ||
		queryContext == "producer-throughput-details" ||
		queryContext == "consumer-throughput-details" {

		var ok bool
		topic, ok = messagingQueue.Variables["topic"]
		if !ok {
			return nil, fmt.Errorf("invalid type for Topic")
		}

		if !(queryContext == "consumer-throughput-details" ||
			queryContext == "producer-throughput-details") {

			partition, ok = messagingQueue.Variables["partition"]
			if !ok {
				return nil, fmt.Errorf("invalid type for Partition")
			}
		}
	}

	var query string

	switch queryContext {
	case "producer":
		query = generateProducerSQL(start, end, topic, partition, queueType)
	case "consumer":
		consumerGroup, ok := messagingQueue.Variables["consumer_group"]
		if !ok {
			return nil, fmt.Errorf("invalid type for consumer group")
		}
		query = generateConsumerSQL(start, end, topic, partition, consumerGroup, queueType)
	case "producer-topic-throughput":
		query = generatePartitionLatencySQL(start, end, queueType)
	case "consumer_partition_latency":

View on GitHub (pinned to 5069bf80b0)

Solutions

  1. Include partition in the request variables
  2. Default the partition variable in the dashboard
  3. Skip partition-scoped contexts when no partition is selected

Example fix

// before
Variables: map[string]string{"topic": "orders"}

// after
Variables: map[string]string{"topic": "orders", "partition": "0"}
Defensive patterns

Strategy: validation

Validate before calling

if (needsPartition(queryContext) && !('partition' in mq.Variables)) throw new Error('partition required');

Type guard

func hasRequiredVars(v map[string]string, keys ...string) bool { for _, k := range keys { if _, ok := v[k]; !ok { return false } }; return true }

Prevention

When it happens

Trigger: Requesting Kafka partition-level overview contexts (e.g. partition-overview-latency, consumer-partition-latency) without a partition variable.

Common situations: Missing partition template variable in dashboards or API clients hitting partition-scoped endpoints.

Related errors


AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28). Data as JSON: /api/errors/3ecd55a14164c11b. Report an issue: GitHub.