Thanks, Jun. That is also my guess:) If the exception is caught, I can easily convert hasNext() from blocking to nonblocking.
Regards, Libo -----Original Message----- From: Jun Rao [mailto:jun...@gmail.com] Sent: Wednesday, December 18, 2013 12:09 AM To: users@kafka.apache.org Subject: Re: a consumer question Actually, hasNext() only returns false when the consumer connector is shutdown. Typically, you either set consumer.timeout.ms to -1 or a value larger than 0. If it's set to 0, my guess is that it throws a timeout exception immediately if there is no more message. Thanks, Jun On Tue, Dec 17, 2013 at 4:57 PM, Guozhang Wang <wangg...@gmail.com> wrote: > If there is no more messages, hasNext will return false instead of > throwing an exception. > > Guozhang > > > On Tue, Dec 17, 2013 at 11:53 AM, Yu, Libo <libo...@citi.com> wrote: > > > Sorry, a typo. Correct my question. When consumer.timeout.ms is set > > to > 0, > > if there is no > > message available, hasNext() throws a timeout exception, otherwise > > it returns true. > > Is that the right behavior? > > > > Regards, > > > > Libo > > > > > > -----Original Message----- > > From: Jun Rao [mailto:jun...@gmail.com] > > Sent: Tuesday, December 17, 2013 12:40 AM > > To: users@kafka.apache.org > > Subject: Re: a consumer question > > > > If there is a message, hasNext() returns true, not throwing an exception. > > > > Thanks, > > > > Jun > > > > > > On Mon, Dec 16, 2013 at 11:29 AM, Yu, Libo <libo...@citi.com> wrote: > > > > > Hi folks, > > > > > > For this parameters, if consumer.timeout.ms is set to 0, whenever > > > I call ConsumerIterator's hasNext(), if there is a message > > > available, a timeout exception will be thrown. Is my understanding > > > correct? Thanks. > > > > > > consumer.timeout.ms > > > > > > -1 > > > > > > Throw a timeout exception to the consumer if no message is > > > available for consumption after the specified interval > > > > > > > > > > > > Regards, > > > > > > Libo > > > > > > > > > > > > -- > -- Guozhang >