[ https://issues.apache.org/jira/browse/KAFKA-1741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Neha Narkhede resolved KAFKA-1741. ---------------------------------- Resolution: Won't Fix > consumer get always old messages > -------------------------------- > > Key: KAFKA-1741 > URL: https://issues.apache.org/jira/browse/KAFKA-1741 > Project: Kafka > Issue Type: Bug > Components: consumer > Affects Versions: 0.8.1.1, 0.8.2 > Reporter: hamza ezzi > Assignee: Neha Narkhede > > every time when a consumer get a message, i have this error, and when i > restart consumer i get old message knowing i specified in my consumer config > to do not get old message > my nodejs consumer code : > var kafka = require('kafka-node'); > var HighLevelConsumer = kafka.HighLevelConsumer; > var Offset = kafka.Offset; > var Client = kafka.Client; > var argv = require('optimist').argv; > var topic = argv.topic || 'sLNzXYHLJA'; > var client = new Client('XXX.XXX.XXX:2181','consumer'+process.pid); > var payloads = [{topic:topic}]; > var options = { > groupId: 'kafka-node-group', > // Auto commit config > autoCommit: true, > autoCommitMsgCount: 100, > autoCommitIntervalMs: 5000, > // Fetch message config > fetchMaxWaitMs: 100, > fetchMinBytes: 1, > fetchMaxBytes: 1024 * 10, > fromOffset: false, > fromBeginning: false > }; > var consumer = new HighLevelConsumer(client, payloads, options); > var offset = new Offset(client); > consumer.on('message', function (message) { > console.log(this.id, message); > }); > consumer.on('error', function (err) { > console.log('error', err); > }); > consumer.on('offsetOutOfRange', function (topic) { > console.log("------------- offsetOutOfRange ------------"); > topic.maxNum = 2; > offset.fetch([topic], function (err, offsets) { > var min = Math.min.apply(null, offsets[topic.topic][topic.partition]); > consumer.setOffset(topic.topic, topic.partition, min); > }); > }); > error kafka log : > [2014-10-31 17:13:32,173] ERROR Closing socket for /212.XXX.XXX.XXX because > of error (kafka.network.Processor) > java.nio.BufferUnderflowException > at java.nio.Buffer.nextGetIndex(Buffer.java:498) > at java.nio.HeapByteBuffer.getLong(HeapByteBuffer.java:406) > at > kafka.api.OffsetCommitRequest$$anonfun$1$$anonfun$apply$1.apply(OffsetCommitRequest.scala:62) > at > kafka.api.OffsetCommitRequest$$anonfun$1$$anonfun$apply$1.apply(OffsetCommitRequest.scala:58) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at scala.collection.immutable.Range.foreach(Range.scala:141) > at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) > at scala.collection.AbstractTraversable.map(Traversable.scala:105) > at > kafka.api.OffsetCommitRequest$$anonfun$1.apply(OffsetCommitRequest.scala:58) > at > kafka.api.OffsetCommitRequest$$anonfun$1.apply(OffsetCommitRequest.scala:55) > at > scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) > at > scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) > at scala.collection.immutable.Range.foreach(Range.scala:141) > at > scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251) > at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105) > at kafka.api.OffsetCommitRequest$.readFrom(OffsetCommitRequest.scala:55) > at kafka.api.RequestKeys$$anonfun$9.apply(RequestKeys.scala:47) > at kafka.api.RequestKeys$$anonfun$9.apply(RequestKeys.scala:47) > at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:50) > at kafka.network.Processor.read(SocketServer.scala:450) > at kafka.network.Processor.run(SocketServer.scala:340) > at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)