I have a few questions that I couldn’t find an answer for in the documentation nor somewhere online:
Some background information:
We are not going to use the new ddata mode just yet, we’ll keep the default persistence mode
Downtime is not much of an issue
Questions:
Do you need to make sure that the Kafka bus is empty before doing an upgrade?
1a. If so, what is the recommended strategy for this to happen?
1b. If not, what will happen when doing a rolling upgrade when some nodes are still running 1.3 and some are already on 1.4? Will all the events still be able to be processed correctly?
No, you don’t need to drain the Kafka topics before updating. The consumers will stop as each node shuts down, and resume on the new nodes as they start. The only thing required to ensure compatibility for Kafka consumers through a rolling upgrade is that your own deserialization and processing code doesn’t change in an incompatible way.
If downtime isn’t a concern for you, then a full shutdown and redeployment is a less risky and more predictable option compared with a rolling upgrade.