KRaft: a new controller can bootstrap against itself and never join the quorum
Mantenedores costumam responder em até 1 dia
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Description
A controller that starts without metadata (a new pod, e.g. after scaling up a controller role group) finds the quorum leader through controller.quorum.bootstrap.servers. Outside Kerberos, that list has one entry per controller role group: the role group's headless Service. That Service sets publishNotReadyAddresses: true, so the name also resolves to the starting pod's own IP.
Kafka treats each entry in controller.quorum.bootstrap.servers as one bootstrap node and resolves its name when it connects. If the starting pod's lookup returns its own IP, the connection succeeds, so Kafka never tries another address. The pod asks itself for the leader, gets no answer, and repeats this forever.
This is a race in the quorum management added in #1010.
Symptoms
- The new controller stays in Raft state
unattached(epoch 0) and never becomes an observer. The quorum's replication status doesn't list it at all. - Its
quorum-managersidecar logsLocal Raft state is 'unattached', nothing to doindefinitely, so it never callsadd-controller. - The
kafkacontainer never becomes ready, and the StatefulSet rollout stalls. Because the StatefulSet usesOrderedReady, later replicas are not created either. - The pod's only connections on the controller port go to its own IP.
- Deleting the pod usually clears it: the replacement resolves another IP and joins normally.
- Linguagem predominante
- Rust
- Estrelas
- 31
- Forks
- 9
- Merge médio
- 4d 5h
- PRs com merge (30d)
- 14
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de stackabletech/kafka-operator
-
Use mTLS instead of Kerberos for KRaft inter-node trafficTalvez já em andamento @razvan assumiu há 1 dia. Abertatype/internal-improvement
stackabletech/kafka-operator#1066 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
KRaft: adding a controller role group can bootstrap a second quorumTalvez já em andamento @razvan assumiu há 1 dia. Abertatype/bug
stackabletech/kafka-operator#1060 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 30/100
stackabletech/kafka-operator#1059 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
stackabletech/kafka-operator#1058 ·
Mantenedores costumam responder em até 1 dia
-
type/bug
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
stackabletech/kafka-operator#955 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de stackabletech/kafka-operator
Issues semelhantes
-
[Bug]: opencode_go chat route drops reasoning_effort (even 'none'), while the same endpoint honors it via custom_llm_provider=openaiTalvez já em andamento @arvindkumar-ship-it assumiu hoje. Abertallm translation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
BerriAI/litellm#51871 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
comp-formats
Dificuldade 2/5 Meio dia Facilidade para iniciantes 64/100
ClickHouse/ClickHouse#131694 ·
Mantenedores costumam responder em até 1 dia
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
C-Bug S-Needs-Triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
bevyengine/bevy#26558 ·
Mantenedores costumam responder em até 2 dias