The ordering is less than ideal. We don't have a great way of ordering the topic config options programmatically, but I think good UX demands what we provide a better order than what we currently have, even if we have to hard-code it for some/all of the options.
Highest priority
These are the things that the user would normally want to set/override on every topic, or at least should consider.
| option |
reason |
| cleanup.policy |
this affects the semantics of the topic |
| retention.ms |
|
| retention.bytes |
|
| min.insync.replicas |
|
| compression.type |
To get good throughput it's usually necessary to set this. |
Medium priority
| option |
reason |
| leader.replication.throttled.replicas |
|
| follower.replication.throttled.replicas |
|
| file.delete.delay.ms |
|
| max.compaction.lag.ms |
|
| min.compaction.lag.ms |
|
| max.message.bytes |
|
| index.interval.bytes |
|
| min.cleanable.dirty.ratio |
|
| unclean.leader.election.enable |
|
| delete.retention.ms |
|
| segment.bytes |
|
| segment.ms |
|
| segment.index.bytes |
|
| segment.jitter.ms |
|
| message.timestamp.type |
|
| message.timestamp.difference.max.ms |
|
Lowest priority
These are things that users will uncommonly need to change.
| option |
reason |
| message.format.version |
|
| message.downconversion.enable |
|
| preallocate |
There's never normally a benefit to changing this on linux |
| flush.ms |
|
| flush.messages |
|
The ordering is less than ideal. We don't have a great way of ordering the topic config options programmatically, but I think good UX demands what we provide a better order than what we currently have, even if we have to hard-code it for some/all of the options.
Highest priority
These are the things that the user would normally want to set/override on every topic, or at least should consider.
Medium priority
Lowest priority
These are things that users will uncommonly need to change.