You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by Alexandre Dupriez <al...@gmail.com> on 2021/03/26 10:58:55 UTC

Broker-level min ISR for __consumer_offsets

Hi, Community,

I wanted to reach out about the following scenario. It was most likely
discussed before and a long time ago: I apologise in advance for the
repeat.

I am customising broker-level replication settings of an internal
topic (in this case, the consumer offsets topic) to accommodate the
topology of test clusters which operate in highly constrained
environments (no more than 2 datacenters with a very limited number of
brokers). The replication factor of topics in these clusters cannot
exceed 2.

Now, in the case of a broker outage, I would like to favour
availability over durability -accepting the risks it brings- and allow
writes with the strongest replication semantic (ack=all) to be
accepted for the partitions of the consumer offsets topics, even if
only one of their replica remains in-sync. I noticed the transaction
state topic offers a broker-level configuration parameter to customize
the minimum size of ISR required to accept such writes [1], though
there is not an equivalent parameter available for the consumer
offsets topic. Note that I wish not lower the default minimum size of
ISR applying globally for all topics - but only that of the consumer
offsets topic (*).

Do you think it worth adding a broker-level configuration parameter
for that purpose? Of course, I understand the impact would be utterly
marginal - configuration can always be enforced dynamically via a
topic-level override anyway. But in this use case, I have to consider
only broker-level configuration.

I am interested to hear about other thoughts in case there is
something overlooked at?

Many thanks,
Alexandre

(*) There are too many "consumer offsets topic" (as a sequence of
words) in this text, I know.

[1] https://kafka.apache.org/documentation/#brokerconfigs_transaction.state.log.min.isr