Kafka UNKNOWN_PRODUCER_ID исключение - PullRequest
0 голосов
/ 26 июня 2018

Иногда я нахожу исключение UNKNOWN_PRODUCER_ID при использовании потоков kafka.

2018-06-25 10:31:38.329  WARN 1 --- [-1-1_0-producer] o.a.k.clients.producer.internals.Sender  : [Producer clientId=default-groupz-7bd94946-3bc0-4400-8e73-7126b9b9c0d4-StreamThread-1-1_0-producer, transactionalId=default-groupz-1_0] Got error produce response with correlation id 1996 on topic-partition default-groupz-mplat-five-minute-stat-urlCount-counts-store-changelog-0, retrying (2147483646 attempts left). Error: UNKNOWN_PRODUCER_ID

Ссылка на официальные документы:

Это исключение выдается брокером, если он не может найти метаданные производителя, связанные с указанным производителем. это может произойти, если, например, записи производителя были удалены потому что их время хранения истекло. Однажды последние записи имя_производителя удалено, метаданные производителя удалены из брокер, и будущие добавления производителя будут возвращать это исключение.

В нем говорится, что одна из возможностей заключается в том, что производитель простаивает дольше, чем время хранения (по умолчанию неделя), поэтому метаданные производителя будут удалены из брокера. Существуют ли другие причины, по которым брокеры не могли найти метаданные производителя?

1 Ответ

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

Возможно, вы испытываете https://issues.apache.org/jira/browse/KAFKA-7190. Как сказано в этом билете:

Когда потоковое приложение имеет мало трафика, возможно, что очистка потребителя удалит даже последнее сообщение, отправленное производителем (т. е. все сообщения, отправленные этот производитель был поглощен и привержен), и, как следствие, брокер удалит идентификатор этого производителя. В следующий раз, когда этот производитель попытается отправить, он получит этот код ошибки UNKNOWN_PRODUCER_ID, но в этом случае, эта ошибка повторяется: производитель просто получит новый идентификатор производителя и повторяет попытку, и тогда на этот раз все получится.

Эта проблема также отслеживается на https://cwiki.apache.org/confluence/display/KAFKA/KIP-360%3A+Improve+handling+of+unknown+producer

...