Кафке не удалось изменить состояние раздела с OnlinePartition на OnlinePartition - PullRequest
0 голосов
/ 08 декабря 2018

Я просматриваю журналы для проблемы, которую мы недавно имели с Кафкой, где мы закончили перемотку с полным смещением.Из журналов видно, что у нас одновременно выпали две из трех реплик, или, по крайней мере, так говорит один из журналов узлов.Примерно в это же время я вижу следующее сообщение журнала, повторенное много раз с разными именами разделов:

ERROR [Controller id=0 epoch=71] Controller 0 epoch 71 failed to change state for partition PARTITION.NAME from OnlinePartition to 
OnlinePartition (state.change.logger) kafka.common.StateChangeFailedException: Failed to elect leader for partition PARTITION.NAME under strategy PreferredReplicaPartitionLeaderElectionStrategy
    at kafka.controller.PartitionStateMachine$$anonfun$doElectLeaderForPartitions$3.apply(PartitionStateMachine.scala:328)
    at ...

Странно то, что в этой части написано

от OnlinePartition к OnlinePartition

Когда я ищу это в Google, я не вижу ничего действительно полезного.Другое дело, что все, что появляется, кажется довольно старым и относится к версиям Kafka до 1.0.Предположительно, мы работаем с 1.1.0.

Есть какие-нибудь идеи относительно того, почему, если бы была попытка изменить раздел на то состояние, в котором оно, по-видимому, уже находится?Думаю, я понимаю, как это можно считать провалом, потому что ничего не изменится, но в целом это кажется бессмысленным.

1 Ответ

0 голосов
/ 08 декабря 2018

Согласно странице Внутренние контроллеры Kafka это допустимый переход состояния, когда должен быть выбран новый лидер раздела:

Допустимые переходы состояния:

,,.

OnlinePartition, OfflinePartition -> OnlinePartition

  1. выберите нового лидера и isr ​​для этого раздела и набор реплик для получения запроса LeaderAndIsr,и напиши вождь и иср в ЗК

    ...

    в. PreferredReplicaPartitionLeaderSelector : новый лидер = первая назначенная реплика (если есть в isr);новый isr = текущий isr;принимающие реплики = назначенные реплики

    ...

  2. отправлять запросы LeaderAndIsr каждой получающей реплике и запросы UpdateMetadata каждому действующему брокеру


РЕДАКТИРОВАТЬ

относительно смещений сброса, не могли бы вы проверить, применима ли KAFKA-6189 в вашем случае.Если нет, пожалуйста, поделитесь информацией о конфигурации вашего кластера, темы и группы потребителей.

...