{"record":{"id":"3ecd55a14164c11b","repo":"SigNoz/signoz","slug":"invalid-type-for-partition","errorCode":null,"errorMessage":"invalid type for Partition","messagePattern":"invalid type for Partition","errorType":"validation","errorClass":null,"httpStatus":400,"severity":"warning","filePath":"pkg/query-service/app/integrations/messagingQueues/kafka/translator.go","lineNumber":351,"sourceCode":"\n\tif queryContext == \"producer\" ||\n\t\tqueryContext == \"consumer\" ||\n\t\tqueryContext == \"consumer_partition_latency\" ||\n\t\tqueryContext == \"producer-throughput-details\" ||\n\t\tqueryContext == \"consumer-throughput-details\" {\n\n\t\tvar ok bool\n\t\ttopic, ok = messagingQueue.Variables[\"topic\"]\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"invalid type for Topic\")\n\t\t}\n\n\t\tif !(queryContext == \"consumer-throughput-details\" ||\n\t\t\tqueryContext == \"producer-throughput-details\") {\n\n\t\t\tpartition, ok = messagingQueue.Variables[\"partition\"]\n\t\t\tif !ok {\n\t\t\t\treturn nil, fmt.Errorf(\"invalid type for Partition\")\n\t\t\t}\n\t\t}\n\t}\n\n\tvar query string\n\n\tswitch queryContext {\n\tcase \"producer\":\n\t\tquery = generateProducerSQL(start, end, topic, partition, queueType)\n\tcase \"consumer\":\n\t\tconsumerGroup, ok := messagingQueue.Variables[\"consumer_group\"]\n\t\tif !ok {\n\t\t\treturn nil, fmt.Errorf(\"invalid type for consumer group\")\n\t\t}\n\t\tquery = generateConsumerSQL(start, end, topic, partition, consumerGroup, queueType)\n\tcase \"producer-topic-throughput\":\n\t\tquery = generatePartitionLatencySQL(start, end, queueType)\n\tcase \"consumer_partition_latency\":","sourceCodeStart":333,"sourceCodeEnd":369,"githubUrl":"https://github.com/SigNoz/signoz/blob/5069bf80b08f1f00d7e014eccc09902f9871004f/pkg/query-service/app/integrations/messagingQueues/kafka/translator.go#L333-L369","documentation":"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.","triggerScenarios":"Requesting Kafka partition-level overview contexts (e.g. partition-overview-latency, consumer-partition-latency) without a partition variable.","commonSituations":"Missing partition template variable in dashboards or API clients hitting partition-scoped endpoints.","solutions":["Include partition in the request variables","Default the partition variable in the dashboard","Skip partition-scoped contexts when no partition is selected"],"exampleFix":"// before\nVariables: map[string]string{\"topic\": \"orders\"}\n\n// after\nVariables: map[string]string{\"topic\": \"orders\", \"partition\": \"0\"}","handlingStrategy":"validation","validationCode":"if (needsPartition(queryContext) && !('partition' in mq.Variables)) throw new Error('partition required');","typeGuard":"func hasRequiredVars(v map[string]string, keys ...string) bool { for _, k := range keys { if _, ok := v[k]; !ok { return false } }; return true }","tryCatchPattern":null,"preventionTips":["Provide partition for partition-scoped contexts","Skip queries when required variables are unset"],"tags":["kafka","messaging-queues","validation"],"backgroundTag":"missing-request-parameter","analyzedSha":"5069bf80b08f1f00d7e014eccc09902f9871004f","analyzedAt":"2026-08-28T06:22:12.824Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}