Broker Configuration Reference
This page lists the supported broker configuration for WarpStream. Configuration not listed here is either ignored (for non-WarpStream keys) or rejected (for unknown warpstream.* keys).
Configuration items that start with warpstream. are WarpStream-specific. Some native Kafka tooling may not handle these configs as expected.
Broker config in WarpStream is cluster-scoped: DescribeConfigs using an empty broker name or a concrete broker ID reflects the same effective cluster configuration.
auto.create.topics.enable
Section titled “auto.create.topics.enable ”Whether topics can be auto-created when clients reference unknown topic names.
| Type: | string (boolean) |
|---|---|
| Default: | true |
| Valid Values: | [true, false] |
delete.topic.enable
Section titled “delete.topic.enable ”Whether topic deletion is allowed.
| Type: | string (boolean) |
|---|---|
| Default: | true |
| Valid Values: | [true, false] |
group.consumer.heartbeat.interval.ms
Section titled “group.consumer.heartbeat.interval.ms ”Heartbeat interval for modern (KIP-848) consumer groups.
| Type: | int |
|---|---|
| Default: | 5000 |
| Valid Values: | [1,2147483647] with cross-validation rules |
group.consumer.max.heartbeat.interval.ms
Section titled “group.consumer.max.heartbeat.interval.ms ”Upper bound for modern-group heartbeat interval.
| Type: | int |
|---|---|
| Default: | 15000 |
| Valid Values: | [1,2147483647] with cross-validation rules |
group.consumer.max.session.timeout.ms
Section titled “group.consumer.max.session.timeout.ms ”Upper bound for modern-group session timeout.
| Type: | int |
|---|---|
| Default: | 60000 |
| Valid Values: | [1,2147483647] with cross-validation rules |
group.consumer.max.size
Section titled “group.consumer.max.size ”Maximum allowed size for modern (KIP-848) consumer groups.
| Type: | int |
|---|---|
| Default: | 32000 |
| Valid Values: | [1,2147483647] |
group.consumer.min.heartbeat.interval.ms
Section titled “group.consumer.min.heartbeat.interval.ms ”Lower bound for modern-group heartbeat interval.
| Type: | int |
|---|---|
| Default: | 5000 |
| Valid Values: | [1,2147483647] with cross-validation rules |
group.consumer.min.session.timeout.ms
Section titled “group.consumer.min.session.timeout.ms ”Lower bound for modern-group session timeout.
| Type: | int |
|---|---|
| Default: | 45000 |
| Valid Values: | [1,2147483647] with cross-validation rules |
group.consumer.session.timeout.ms
Section titled “group.consumer.session.timeout.ms ”Session timeout for modern (KIP-848) consumer groups.
| Type: | int |
|---|---|
| Default: | 45000 |
| Valid Values: | [1,2147483647] with cross-validation rules |
log.retention.hours
Section titled “log.retention.hours ”Same setting as log.retention.ms, but expressed in hours.
| Type: | long |
|---|---|
| Default: | 24 (1 day) |
| Valid Values: | [-1,…] |
log.retention.minutes
Section titled “log.retention.minutes ”Same setting as log.retention.ms, but expressed in minutes.
| Type: | long |
|---|---|
| Default: | 1440 (1 day) |
| Valid Values: | [-1,…] |
log.retention.ms
Section titled “log.retention.ms ”Default retention for topics, in milliseconds.
If set to a negative value, WarpStream treats retention as effectively infinite. If set to a positive value lower than 1 minute, WarpStream raises it to 1 minute.
| Type: | long |
|---|---|
| Default: | 86400000 (1 day) |
| Valid Values: | [-1,…,3153600000000] |
message.max.bytes
Section titled “message.max.bytes ”Cluster-level record size cap.
If this value is not explicitly set, WarpStream may omit it from DescribeConfigs, because the effective default depends on agent-side limits.
| Type: | int |
|---|---|
| Default: | agent-dependent (unset at cluster config layer) |
| Valid Values: | [0,…] |
num.partitions
Section titled “num.partitions ”Default partition count used when topics are auto-created.
| Type: | int |
|---|---|
| Default: | 1 |
| Valid Values: | [0, 4294967295] |
offsets.retention.minutes
Section titled “offsets.retention.minutes ”Retention for committed consumer group offsets.
| Type: | long |
|---|---|
| Default: | 10080 (7 days) |
| Valid Values: | [1,…] |
warpstream.default.partitions_auto_scaler.enabled
Section titled “warpstream.default.partitions_auto_scaler.enabled ”Cluster-level default for topic config warpstream.partitions_auto_scaler.enabled.
This default is applied to newly created topics (including auto-created topics). If a topic explicitly sets warpstream.partitions_auto_scaler.enabled, the topic value takes precedence.
| Type: | string (boolean) |
|---|---|
| Default: | false |
| Valid Values: | [true, false] |
warpstream.default.partitions_auto_scaler.max_partition_count
Section titled “warpstream.default.partitions_auto_scaler.max_partition_count ”Cluster-level default for topic config warpstream.partitions_auto_scaler.max_partition_count.
This default is applied to newly created topics. A value of 0 means unlimited. If a topic explicitly sets warpstream.partitions_auto_scaler.max_partition_count, the topic value takes precedence.
| Type: | long |
|---|---|
| Default: | 0 (unlimited) |
| Valid Values: | [0,…] |
warpstream.default.partitions_auto_scaler.partition_count_multiple
Section titled “warpstream.default.partitions_auto_scaler.partition_count_multiple ”Cluster-level default for topic config warpstream.partitions_auto_scaler.partition_count_multiple.
This default is applied to newly created topics. A value of 0 or 1 disables the constraint. If a topic explicitly sets warpstream.partitions_auto_scaler.partition_count_multiple, the topic value takes precedence.
| Type: | long |
|---|---|
| Default: | 0 |
| Valid Values: | [0,…] |
warpstream.default.partitions_auto_scaler.per_partition_throughput_uncompressed_bytes_per_second
Section titled “warpstream.default.partitions_auto_scaler.per_partition_throughput_uncompressed_bytes_per_second ”Cluster-level default for topic config warpstream.partitions_auto_scaler.per_partition_throughput_uncompressed_bytes_per_second.
This default is applied to newly created topics. If a topic explicitly sets warpstream.partitions_auto_scaler.per_partition_throughput_uncompressed_bytes_per_second, the topic value takes precedence.
| Type: | long |
|---|---|
| Default: | 2500000 |
| Valid Values: | [0,…] |
warpstream.default.topic.type
Section titled “warpstream.default.topic.type ”Default topic type for newly created topics.
| Type: | string |
|---|---|
| Default: | classic |
| Valid Values: | [classic, lightning] |
warpstream.soft.delete.topic.enable
Section titled “warpstream.soft.delete.topic.enable ”Whether soft-delete behavior is enabled for inactive topics.
| Type: | string (boolean) |
|---|---|
| Default: | true |
| Valid Values: | [true, false] |
warpstream.soft.delete.topic.ttl.hours
Section titled “warpstream.soft.delete.topic.ttl.hours ”Inactive topic TTL in hours when soft-delete is enabled.
If set to a negative value, WarpStream treats TTL as effectively infinite.
| Type: | long |
|---|---|
| Default: | 24 (1 day) |
| Valid Values: | [-1,…] |
group.consumer.* cross-validation rules
Section titled “group.consumer.* cross-validation rules ”WarpStream enforces the following invariants for KIP-848 timing configs:
group.consumer.max.heartbeat.interval.ms >= group.consumer.min.heartbeat.interval.msgroup.consumer.heartbeat.interval.msmust be within[min.heartbeat, max.heartbeat]group.consumer.max.session.timeout.ms >= group.consumer.min.session.timeout.msgroup.consumer.session.timeout.msmust be within[min.session, max.session]group.consumer.heartbeat.interval.ms < group.consumer.session.timeout.ms
Alter behavior
Section titled “Alter behavior ”AlterConfigs uses classic replace semantics for known broker configs:
- keys present in request are set
- known keys omitted from request are reset/unset
IncrementalAlterConfigs supports:
SETDELETE
APPEND and SUBTRACT are not supported for broker configs.
Unknown config behavior
Section titled “Unknown config behavior ”- Unknown keys containing
warpstreamare rejected withINVALID_CONFIG. - Unknown non-WarpStream keys are ignored for compatibility.
Kafka compatibility values returned by DescribeConfigs
Section titled “Kafka compatibility values returned by DescribeConfigs ”WarpStream also reports a set of read-only Kafka-style broker config values for compatibility:
| Config key | Value |
|---|---|
| compression.type | lz4 |
| log.flush.interval.messages | 1 |
| log.retention.bytes | -1 |
| unclean.leader.election.enable | false |
| broker.id.generation.enable | true |
| default.replication.factor | 3 |
| reserved.broker.max.id | 2147483647 |
CLI examples
Section titled “CLI examples ”Using WarpStream CLI commands:
warpstream cli describe-broker-configs \ -bootstrap-host localhost \ -bootstrap-port 9092warpstream cli alter-broker-config \ -bootstrap-host localhost \ -bootstrap-port 9092 \ --add-config "warpstream.default.topic.type=lightning"