【问题标题】:Getting UNKOWN_PRODUCER_ID Exception in spring kafka在 spring kafka 中获取 UNKOWN_PRODUCER_ID 异常
【发布时间】:2020-05-05 01:58:22
【问题描述】:

我正在使用带有 Kafka 链式事务的 spring boot 2.1.9 和 spring Kafka 2.2.9。

我每次都会收到来自 Kafka 生产者的警告。因此,某些时间功能将无法正常工作。

我想知道为什么会出现这些错误?是不是配置有问题?

2020-05-04 09:12:35.216  WARN [xxxxx-order-service,,,] 10 --- [ad | producer-8] o.a.k.clients.producer.internals.Sender  : [Producer clientId=producer-8, transactionalId=xxxxx-Order-Service-JOg4T1vFzW4tuc-2] Got error produce response with correlation id 1946 on topic-partition process_event-0, retrying (2147483646 attempts left). Error: UNKNOWN_PRODUCER_ID
2020-05-04 09:12:35.327  WARN [xxxxx-order-service,,,] 10 --- [ad | producer-8] o.a.k.clients.producer.internals.Sender  : [Producer clientId=producer-8, transactionalId=xxxxx-Order-Service-JOg4T1vFzW4tuc-2] Got error produce response with correlation id 1950 on topic-partition audit-0, retrying (2147483646 attempts left). Error: UNKNOWN_PRODUCER_ID
2020-05-04 09:12:53.512  WARN [xxxxx-order-service,,,] 10 --- [ad | producer-6] o.a.k.clients.producer.internals.Sender  : [Producer clientId=producer-6, transactionalId=xxxxx-Order-Service-JOg4T1vFzW4tuc-0] Got error produce response with correlation id 5807 on topic-partition process_submitted_page_count-2, retrying (2147483646 attempts left). Error: UNKNOWN_PRODUCER_ID
2020-05-04 09:12:53.632  WARN [xxxxx-order-service,,,] 10 --- [ad | producer-6] o.a.k.clients.producer.internals.Sender  : [Producer clientId=producer-6, transactionalId=xxxxx-Order-Service-JOg4T1vFzW4tuc-0] Got error produce response with correlation id 5811 on topic-partition process_event-0, retrying (2147483646 attempts left). Error: UNKNOWN_PRODUCER_ID
2020-05-04 09:12:53.752  WARN [xxxxx-order-service,,,] 10 --- [ad | producer-6] o.a.k.clients.producer.internals.Sender  : [Producer clientId=producer-6, transactionalId=xxxxx-Order-Service-JOg4T1vFzW4tuc-0] Got error produce response with correlation id 5816 on topic-partition audit-0, retrying (2147483646 attempts left). Error: UNKNOWN_PRODUCER_ID

【问题讨论】:

    标签: apache-kafka spring-kafka kafka-producer-api


    【解决方案1】:

    我假设你可能会点击这个issue

    当流应用程序的流量很少时,有可能 消费者清除甚至会删除由 a 发送的最后一条消息 生产者(即该生产者发送的所有消息都已 消费和提交),因此,代理将删除该 生产者的 ID。下次该生产者尝试发送时,它将 得到这个UNKNOWN_PRODUCER_ID 错误代码,但在这种情况下,这个错误 是可重试的:生产者只会获得一个新的生产者 ID 和 重试,然后这一次会成功。


    建议的解决方案:升级 Kafka

    现在,solved 版本 2.4.0+ 出现此问题,因此如果您仍然遇到此问题,则需要升级到更新的 Kafka 版本。

    替代解决方案:增加保留时间和transactional.id.expiration.ms

    或者,如果您不能(或不想)升级,那么您可以延长保留期 (log.retention.hours) 以及 transactional.id.expiration.ms,它定义了需要经过的非活动时间量才能升级生产者被视为过期(默认为 7 天)。

    【讨论】:

      猜你喜欢
      • 2018-05-14
      • 1970-01-01
      • 2019-02-15
      • 2014-09-10
      • 1970-01-01
      • 2020-05-27
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多