Hi Kafka guys,
 
I faced the following Exception when I sent message to Kafka 1.0 -
2018-02-13 04:45:49,861 INFO [STDOUT] org.apache.kafka.common.KafkaException: 
Cannot perform send because at least one previous transactional or idempotent 
request has failed with errors.
2018-02-13 04:45:49,861 ERROR 
[org.apache.kafka.clients.producer.internals.Sender] [TransactionalId 
e9ebda3a-d160-4441-b7e0-2f8ba150c59a] Aborting producer batches due to fatal 
error
org.apache.kafka.common.errors.ProducerFencedException: Producer attempted an 
operation with an old epoch. Either there is a newer producer with the same 
transactionalId, or the producer's transaction has been expired by the broker.
2018-02-13 04:45:49,861 INFO [STDOUT] at 
org.apache.kafka.clients.producer.internals.TransactionManager.failIfNotReadyForSend(TransactionManager.java:248)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
org.apache.kafka.clients.producer.internals.TransactionManager.maybeAddPartitionToTransaction(TransactionManager.java:233)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:789)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:745)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:634)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
com.z2.np.server.kafkaMQ.producer.Producer.send(Producer.java:103)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
com.z2.np.server.kafkaMQ.producer.ProducerManager.sendMessage(ProducerManager.java:43)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
com.z2.np.server.automation.workflow.scheduler.worker.AWAbstractScheduleWorker.sentOut(AWAbstractScheduleWorker.java:86)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
com.z2.np.server.automation.workflow.scheduler.worker.AWTriggerScheduleWorker.doWork(AWTriggerScheduleWorker.java:114)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
com.z2.np.server.automation.workflow.scheduler.worker.AWAbstractScheduleWorker.run(AWAbstractScheduleWorker.java:61)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
java.util.concurrent.ForkJoinTask$AdaptedRunnable.exec(ForkJoinTask.java:1265)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:334)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
java.util.concurrent.ForkJoinWorkerThread.execTask(ForkJoinWorkerThread.java:604)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:784)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
java.util.concurrent.ForkJoinPool.work(ForkJoinPool.java:646)
2018-02-13 04:45:49,861 INFO [STDOUT] at 
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:398)
2018-02-13 04:45:49,861 INFO [STDOUT] Caused by: 
org.apache.kafka.common.errors.ProducerFencedException: Producer attempted an 
operation with an old epoch. Either there is a newer producer with the same 
transactionalId, or the producer's transaction has been expired by the broker.
What is the old epoch? I am very sure the transationalId is different  between 
Producers,
I have googled many many times but also can not find a real solution, I also 
found some other developers faced the same problem as I faced, but they also 
cannot get a solution.
 
Can you guys give me some help???  Thanks!!!!

Reply via email to