-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[KRaft] Mixed nodes cluster is not able to recover from misconfiguration affecting the whole cluster #9426
Comments
Hey @scholzj, @tinaselenge and I have taken a look at this and we think this is related to an oversight in the KafkaRoller code, rather than a problem with the readiness probes. In the original proposal for the readiness probes for KRaft we stated that "If a combined pod has not become ready, KafkaRoller should check that all other combined pods have been scheduled (i.e. not in pending state) before rolling the pod or waiting for it to become ready." (https://github.com/strimzi/proposals/blob/main/046-kraft-liveness-readiness.md) We've both tried to reproduce this issue and found that the KafkaRoller does eventually move on to the other pods, it just takes ~10mins to do so because it tries (and times out) 10 times first. Ideally we should update the KafkaRoller so it doesn't wait for the pod to become ready if all the other pods are combined nodes that are currently pending. The tricky thing is the current KafkaRoller considers each pod independently, so we think the changes are probably not straightforward. We've identified two possible places we could make the change in KafkaRoller, but would be interested if you have other suggestions. Also Tina is looking into how tricky this would be to do in the new KafkaRoller in parallel. One place to make the change would be to check for pending pods in the Another option would be to make a change in the Either approach results in extra calls to fetch the other pods and check their state, so we need to decide if we want to make this sort of change, or whether the current delay of ~10mins is acceptable for now. |
As I said before - I do not think this is a blocker. But I personally also do not think rolling them after ~10 minutes is enough to call it not an issue. So I would say this issue stands. Whether it has to be fixed now or one day in some new roller, that is more up to discussion I guess. I don't think I have any opinion on how to fix it TBH. I don't think my understanding of the KafkaRoller is really good enough for that 😉. |
Discussed in the community call on 14.12.: Should be fixed. |
Strimzi currently does not seem to be able to recover mixed-nodes KRaft cluster when it runs into some initial misconfiguration. This can be easily reproduced with the following steps:
For example, set the affinity to a non-existent zone:
Expected result:
Actual result:
Some notable points:
The text was updated successfully, but these errors were encountered: