[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15974827#comment-15974827 ] Shannon Carey commented on KAFKA-3594: -- Does this problem result in failure to push messages to Kafka? Does the whole batch get lost, or what? Is there a workaround? > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.9.0.2, 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.processBatch$1(BatchingExecutor.scala:67) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:82) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:58) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoi
[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15930084#comment-15930084 ] Phil Adams commented on KAFKA-3594: --- I found out via the kafka users mailing list that this fix is in the 0.9.0 branch. I pulled that from github and built locally. > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.9.0.2, 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.processBatch$1(BatchingExecutor.scala:67) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:82) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:58) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTas
[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15928059#comment-15928059 ] Phil Adams commented on KAFKA-3594: --- What is the recommended way to get a fix for this issue? I can't seem to find a pre-built 0.9.0.2 kafka-clients library, and I assume I can't use a v0.10.x kafka-clients library with a v0.9.0.1 broker. If I need to download the source and build myself, what branch should I pull? Thanks in advance for any help! Phil > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.9.0.2, 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.processBatch$1(BatchingExecutor.scala:67) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:82) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:58) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] >
[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15348026#comment-15348026 ] ASF GitHub Bot commented on KAFKA-3594: --- Github user ijuma closed the pull request at: https://github.com/apache/kafka/pull/1547 > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar Reddy >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.processBatch$1(BatchingExecutor.scala:67) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:82) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:58) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala
[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15347386#comment-15347386 ] ASF GitHub Bot commented on KAFKA-3594: --- GitHub user ijuma opened a pull request: https://github.com/apache/kafka/pull/1547 KAFKA-3594; After calling MemoryRecords.close() method, hasRoomFor() method should return false This exception is occurring when producer is trying to append a record to a Re-enqueued record batch in the accumulator. We should not allow to add a record to Re-enqueued record batch. This is due a bug in MemoryRecords.java/hasRoomFor() method. After calling MemoryRecords.close() method, hasRoomFor() method should return false. This is a backport to the 0.9.0 branch. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ijuma/kafka kafka-3594-for-0.9.0 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/1547.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1547 commit 3e3e8a28d88f5d191bbdc0c35f086a925bc8c512 Author: Manikumar reddy O Date: 2016-04-21T22:13:25Z KAFKA-3594; After calling MemoryRecords.close() method, hasRoomFor() method should return false This exception is occurring when producer is trying to append a record to a Re-enqueued record batch in the accumulator. We should not allow to add a record to Re-enqueued record batch. This is due a bug in MemoryRecords.java/hasRoomFor() method. After calling MemoryRecords.close() method, hasRoomFor() method should return false. Author: Manikumar reddy O Reviewers: Ismael Juma, Grant Henke, Guozhang Wang Closes #1249 from omkreddy/KAFKA-3594 > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar Reddy >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.im
[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15324104#comment-15324104 ] Petr Novotnik commented on KAFKA-3594: -- Any chance for this to be back ported to a 0.9.0.x release? > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar Reddy >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.processBatch$1(BatchingExecutor.scala:67) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:82) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:58) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) > [com.typesafe.akka.akka-act
[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15252866#comment-15252866 ] ASF GitHub Bot commented on KAFKA-3594: --- Github user asfgit closed the pull request at: https://github.com/apache/kafka/pull/1249 > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar Reddy >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.processBatch$1(BatchingExecutor.scala:67) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:82) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:58) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scal
[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15252099#comment-15252099 ] ASF GitHub Bot commented on KAFKA-3594: --- GitHub user omkreddy reopened a pull request: https://github.com/apache/kafka/pull/1249 KAFKA-3594; After calling MemoryRecords.close() method, hasRoomFor() method should return false This exception is occurring when producer is trying to append a record to a Re-enqueued record batch in the accumulator. We should not allow to add a record to Re-enqueued record batch. This is due a bug in MemoryRecords.java/hasRoomFor() method. After calling MemoryRecords.close() method, hasRoomFor() method should return false. You can merge this pull request into a Git repository by running: $ git pull https://github.com/omkreddy/kafka KAFKA-3594 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/1249.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1249 commit 294a604114a02414887529d9b9025e11a527344a Author: Manikumar reddy O Date: 2016-04-21T10:24:59Z KAFKA-3594; After calling MemoryRecords.close() method, hasRooFor() method should return false > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar Reddy >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1
[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15252082#comment-15252082 ] ASF GitHub Bot commented on KAFKA-3594: --- Github user omkreddy closed the pull request at: https://github.com/apache/kafka/pull/1249 > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar Reddy >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.processBatch$1(BatchingExecutor.scala:67) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:82) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.apply(BatchingExecutor.scala:59) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:58) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41) > [com.typesafe.akka.akka-actor_2.11-2.3.4.jar:na] > at > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.sc
[jira] [Commented] (KAFKA-3594) Kafka new producer retries doesn't work in 0.9.0.1
[ https://issues.apache.org/jira/browse/KAFKA-3594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15251696#comment-15251696 ] ASF GitHub Bot commented on KAFKA-3594: --- GitHub user omkreddy opened a pull request: https://github.com/apache/kafka/pull/1249 KAFKA-3594; After calling MemoryRecords.close() method, hasRooFor() method should return false This exception is occurring when producer is trying to append a record to a Re-enqueued record batch in the accumulator. We should not allow to add a record to Re-enqueued record batch. This is due a bug in MemoryRecords.java/hasRooFor() method. After calling MemoryRecords.close() method, hasRooFor() method should return false. You can merge this pull request into a Git repository by running: $ git pull https://github.com/omkreddy/kafka KAFKA-3594 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/1249.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1249 commit 3f018abf2b7b570e220ffab285863eb4b8a55326 Author: Manikumar reddy O Date: 2016-04-21T10:24:59Z KAFKA-3594; After calling MemoryRecords.close() method, hasRooFor() method should return false > Kafka new producer retries doesn't work in 0.9.0.1 > -- > > Key: KAFKA-3594 > URL: https://issues.apache.org/jira/browse/KAFKA-3594 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.9.0.1 > Environment: Debian 7.8 Wheezy / Kafka 0.9.0.1 (Confluent 2.0.1) >Reporter: Nicolas PHUNG >Assignee: Manikumar Reddy >Priority: Critical > Labels: kafka, new, producer, replication, retry > Fix For: 0.10.0.0 > > > Hello, > I'm encountering an issue with the new Producer on 0.9.0.1 client with a > 0.9.0.1 Kafka broker when Kafka broker are offline for example. It seems the > retries doesn't work anymore and I got the following error logs : > {noformat} > play.api.Application$$anon$1: Execution exception[[IllegalStateException: > Memory records is not writable]] > at play.api.Application$class.handleError(Application.scala:296) > ~[com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at play.api.DefaultApplication.handleError(Application.scala:402) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at scala.Option.map(Option.scala:146) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:320) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3.applyOrElse(PlayDefaultUpstreamHandler.scala:316) > [com.typesafe.play.play_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:46) > [com.typesafe.play.play-iteratees_2.11-2.3.10.jar:2.3.10] > at > scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Promise$class.complete(Promise.scala:55) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:153) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237) > [org.scala-lang.scala-library-2.11.8.jar:na] > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > [org.scala-lang.scala-library-2.11.8.jar:na] > at > akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.proc