[ 
https://issues.apache.org/jira/browse/KAFKA-3007?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15062931#comment-15062931
 ] 

Jason Gustafson commented on KAFKA-3007:
----------------------------------------

The internal method pollOnce is probably poorly named. Its intent is to poll IO 
one time, not fetch one record. In the current implementation, poll() returns 
immediately as soon as any records are available (it may be one, it may be 
more), so I'm not sure why you're concerned about messages backing up. If you 
want poll() to return before messages have become available, then you can use 
the timeout parameter. The only limitation with this is that the client ignores 
the timeout if it is in the middle of a rebalance.

> new Consumer should expose mechanism to fetch single message 
> -------------------------------------------------------------
>
>                 Key: KAFKA-3007
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3007
>             Project: Kafka
>          Issue Type: Improvement
>          Components: consumer
>    Affects Versions: 0.9.0.0
>            Reporter: aarti gupta
>            Assignee: Neha Narkhede
>
> Currently, the consumer.poll(timeout)
> returns all messages that have not been acked since the last fetch
> The only way to process a single message, is to throw away all but the first 
> message in the list
> This would mean we are required to fetch all messages into memory, and this 
> coupled with the client being not thread-safe, (i.e. we cannot use a 
> different thread to ack messages, makes it hard to consume messages when the 
> order of message arrival is important, and a large number of messages are 
> pending to be consumed)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to