【发布时间】:2023-02-19 20:27:09
【问题描述】:
Kafka 消息消费正常。 但是我间歇性地收到这个错误。
Exception:org.springframework.kafka.KafkaException: Seek to current after exception; nested exception is org.apache.kafka.clients.consumer.CommitFailedException: Transaction offset Commit failed due to consumer group metadata mismatch: The coordinator is not aware of this member.
at org.springframework.kafka.listener.SeekUtils.seekOrRecover(SeekUtils.java:206) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.SeekToCurrentErrorHandler.handle(SeekToCurrentErrorHandler.java:112) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeErrorHandler(KafkaMessageListenerContainer.java:2377) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2254) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.access$2300(KafkaMessageListenerContainer.java:518) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer$3.doInTransactionWithoutResult(KafkaMessageListenerContainer.java:2092) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:36) \~\[spring-tx-5.3.20.jar!/:5.3.20\]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) \~\[spring-tx-5.3.20.jar!/:5.3.20\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeInTransaction(KafkaMessageListenerContainer.java:2083) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListenerInTx(KafkaMessageListenerContainer.java:2052) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2028) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:1704) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1275) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1267) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1162) \~\[spring-kafka-2.7.14.jar!/:2.7.14\]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) \~\[?:?\]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) \~\[?:?\]
at java.lang.Thread.run(Thread.java:834) \~\[?:?\]
Caused by: org.apache.kafka.clients.consumer.CommitFailedException: Transaction offset Commit failed due to consumer group metadata mismatch: The coordinator is not aware of this member.
at org.apache.kafka.clients.producer.internals.TransactionManager$TxnOffsetCommitHandler.handleResponse(TransactionManager.java:1732) \~\[kafka-clients-2.7.2.jar!/:?\]
at org.apache.kafka.clients.producer.internals.TransactionManager$TxnRequestHandler.onComplete(TransactionManager.java:1290) \~\[kafka-clients-2.7.2.jar!/:?\]
at org.apache.kafka.clients.ClientResponse.onComplete(ClientResponse.java:109) \~\[kafka-clients-2.7.2.jar!/:?\]
at org.apache.kafka.clients.NetworkClient.completeResponses(NetworkClient.java:586) \~\[kafka-clients-2.7.2.jar!/:?\]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:578) \~\[kafka-clients-2.7.2.jar!/:?\]
at org.apache.kafka.clients.producer.internals.Sender.maybeSendAndPollTransactionalRequest(Sender.java:415) \~\[kafka-clients-2.7.2.jar!/:?\]
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:313) \~\[kafka-clients-2.7.2.jar!/:?\]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:240) \~\[kafka-clients-2.7.2.jar!/:?\]
为什么会出现此错误? 消费kafka消息是没有问题的。
对不起。 我会说一点点英语。 所以这个问题很尴尬。
【问题讨论】:
-
你确定没有问题吗?看起来消费者组重新平衡了,所以正如错误所说,组协调器不再知道该实例,因此无法提交事务。添加一个再平衡监听器