Partition Count Must Be Consumer-Parallelism Aligned
Restrict partition counts to a divisor-rich allowlist (1, 3, 6, 12, 24, 48, 96).
Rationale
When `partitions % consumers != 0`, range/cooperative-sticky assignors give some consumers one extra partition. With a prime count like 17 or 23 you can never balance, and the lagging consumer holds back the whole group. A divisor-rich allowlist keeps the math friendly for common consumer-group sizes.
Pattern
partitions in [1, 3, 6, 12, 24, 48, 96]
Examples
partitions: 6
partitions: 12
partitions: 48
partitions: 5
partitions: 17
partitions: 100
Parameters
| Name | Default | Description |
|---|---|---|
allowed_values |
[1,3,6,12,24,48,96] |
Allowed partition counts. |
Governs
This policy relates to the following Kafka configuration keys:
Implementation
Drop this YAML into Conduktor Console as a ResourcePolicy, then link it from an ApplicationInstance, Application, or KafkaCluster.
Conduktor ResourcePolicy
# Conduktor self-service ResourcePolicy --- apiVersion: self-serve/v1 kind: ResourcePolicy metadata: name: partition-count-power-aligned spec: targetKind: Topic description: partitions must be one of [1, 3, 6, 12, 24, 48, 96] rules: - condition: 'spec.partitions in [1, 3, 6, 12, 24, 48, 96]' errorMessage: "partitions must be one of [1, 3, 6, 12, 24, 48, 96] — odd or prime counts cause permanent consumer-group skew"
Related policies
Try Conduktor Console
Enforce policies like this across your team — central audit history, pre-commit guardrails, ApplicationInstance bindings. 5-min Docker install.
Get Started →