Hi,

Thanks very much for answers to my previous questions here.

I had a couple more questions about repartitioning and I just want to
confirm my understanding.

(1) Given the following scenario:

(a) I have a cluster of Kafka stream nodes with partitions assigned to each.

(b) One node goes down...and it goes down for long enough that a
repartition happens (i.e. a time greater than
scheduled.rebalance.max.delay.ms passes by).

(c) Then the node finally comes back. If the state is still there can it
still be used (assuming it is assigned the same partitions)...and only the
delta read from Kafka? Or will it need to read everything again to rebuild
the state? I assume it has to re-read the state but I want to make sure.

(2) I understand warmup replicas help with minimizing downtime. If I
understand correctly, if I have at least one warmup replica configured and
if the state needed to be rebuilt from scratch in the scenario above,
switchover back to the old node will be delayed until the rebuild is
complete. Is my understanding correct? If my understanding is correct, why
would you ever set more than one warmup replica? Or should warmup replicas
usually be equal to standby replicas + 1 just in case multiple nodes are
stood up simultaneously?

(3) If I set the scheduled rebalance delay to be greater than 0 and a node
goes down, will I be able to access the state data from other replicas
while I am waiting for the rebalance?

Any answers would be greatly appreciated.

thanks,
Gareth

Reply via email to