Wanted to understand about behavior of max.poll.records with Kafka topic with multiple partitions.
Suppose I have 8 partitions and 8 consumer instances in a single consumer-group. Suppose the producer produces 2000 messages at a very quick rate. Assume the use of round-robin partioner. And a very small message size (i.e. ignore fetch.max.bytes)

  1. In an ideal case, will 250 messages be written to each of the 8 partitions?
  2. If the max.poll.records at consumer level is default – 500 – then will each consumer instance pull all 250 records in one fetch?
  3. Will Consumer instance 1 get Message 1, 9, 17, 25 etc?

Need to understand purely theoretically – in practice there are a lot of other variables.