[ https://issues.apache.org/jira/browse/KAFKA-3147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15118362#comment-15118362 ]
Jun Rao commented on KAFKA-3147: -------------------------------- I think the issue could be related to "abort.on.send.failure". There is a code path where the above error can be hit. In MirrorMaker, if abortOnSendFailure is enabled, we will call producer.close(0) on send failure. This will call sender.forceClose(), which first sets this.forceClose = true, followed by accumulator.close(). Suppose that the sender wakes up after this.forceClose = true but before accumulator.close(). The sender will call this.accumulator.abortIncompleteBatches(), which eventually closes all batch records in the queue w/o actually dequeuing them. At this moment, if the client sends another record to the producer, it can hit the exception described in the jira. [~mgharat], this may be introduced in the request timeout patch. Could you take a look and see if the above scenario is possible? Thanks. > Memory records is not writable in MirrorMaker > --------------------------------------------- > > Key: KAFKA-3147 > URL: https://issues.apache.org/jira/browse/KAFKA-3147 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.9.0.0 > Reporter: Meghana Narasimhan > > Hi, > We are running a 3 node cluster (kafka version 0.9) and Node 0 also has a few > mirror makers running. > When we do a rolling restart of the cluster, the mirror maker shuts down with > the following errors. > [2016-01-11 20:16:00,348] WARN Got error produce response with correlation id > 12491674 on topic-partition test-99, retrying (2147483646 attempts left). > Error: NOT_LEADER_FOR_PARTITION > (org.apache.kafka.clients.producer.internals.Sender) > [2016-01-11 20:16:00,853] FATAL [mirrormaker-thread-0] Mirror maker thread > failure due to (kafka.tools.MirrorMaker$MirrorMakerThread) > java.lang.IllegalStateException: Memory records is not writable > at > org.apache.kafka.common.record.MemoryRecords.append(MemoryRecords.java:93) > at > org.apache.kafka.clients.producer.internals.RecordBatch.tryAppend(RecordBatch.java:69) > at > org.apache.kafka.clients.producer.internals.RecordAccumulator.append(RecordAccumulator.java:168) > at > org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:435) > at > kafka.tools.MirrorMaker$MirrorMakerProducer.send(MirrorMaker.scala:593) > at > kafka.tools.MirrorMaker$MirrorMakerThread$$anonfun$run$3.apply(MirrorMaker.scala:398) > at > kafka.tools.MirrorMaker$MirrorMakerThread$$anonfun$run$3.apply(MirrorMaker.scala:398) > at scala.collection.Iterator$class.foreach(Iterator.scala:742) > at scala.collection.AbstractIterator.foreach(Iterator.scala:1194) > at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) > at scala.collection.AbstractIterable.foreach(Iterable.scala:54) > at > kafka.tools.MirrorMaker$MirrorMakerThread.run(MirrorMaker.scala:398) > [2016-01-11 20:16:01,072] WARN Got error produce response with correlation id > 12491679 on topic-partition test-75, retrying (2147483646 attempts left). > Error: NETWORK_EXCEPTION (org.apache.kafka.clients.producer.internals.Sender) > [2016-01-11 20:16:01,073] WARN Got error produce response with correlation id > 12491679 on topic-partition test-93, retrying (2147483646 attempts left). > Error: NETWORK_EXCEPTION (org.apache.kafka.clients.producer.internals.Sender) > [2016-01-11 20:16:01,073] WARN Got error produce response with correlation id > 12491679 on topic-partition test-24, retrying (2147483646 attempts left). > Error: NETWORK_EXCEPTION (org.apache.kafka.clients.producer.internals.Sender) > [2016-01-11 20:16:20,479] FATAL [mirrormaker-thread-0] Mirror maker thread > exited abnormally, stopping the whole mirror maker. > (kafka.tools.MirrorMaker$MirrorMakerThread) > Curious if the NOT_LEADER_FOR_PARTITION is because of a potential bug hinted > at in the thread , > http://mail-archives.apache.org/mod_mbox/kafka-users/201505.mbox/%3ccajs3ho_u8s1xou_kudnfjamypjtmrjlw10qvkngn2yqkdan...@mail.gmail.com%3E > > And I think the mirror maker shuts down because of the > "abort.on.send.failure" which is set to true in our case. -- This message was sent by Atlassian JIRA (v6.3.4#6332)