Sounds good, thanks for the clarification.

Jan



On 17 June 2015 at 22:09, Jason Gustafson <ja...@confluent.io> wrote:

> We have a couple open tickets to address these issues (see KAFKA-1894 and
> KAFKA-2168). It's definitely something we want to fix.
>
> On Wed, Jun 17, 2015 at 4:21 AM, Jan Stette <jan.ste...@gmail.com> wrote:
>
>> Adding some more details to the previous question:
>>
>> The indefinite wait doesn't happen on calling subscribe() on the consumer,
>> it happens when I (in this case) call seekToEnd().
>>
>> A related problem to this is that the seekToEnd() method is synchronized
>> (as are the other access methods on KafkaConsumer), so the client holds a
>> lock while sitting in this wait. This means that if another thread tries
>>  to call close(), which is all synchronized, this thread will also be
>> blocked.
>>
>> Holding locks while performing network I/O seems like a bad idea - is this
>> something that's planned to be fixed?
>>
>> Jan
>>
>>
>>
>> On 17 June 2015 at 10:31, Jan Stette <jan.ste...@gmail.com> wrote:
>>
>> > I'm trying out the new KafkaConsumer client API in the trunk of the
>> source
>> > tree, and while I realise that this is a work in progress, I have a
>> > question that perhaps someone can shed some light on.
>> >
>> > I'm looking at how to handle various error scenarios for a Kafka client,
>> > in particular what happens when trying to connect to the broker but it's
>> > not available. The behaviour I'm seeing is that the client will retry
>> > indefinitely (at the configurable interval), basically looping around in
>> > Fetcher.awaitMetadataUpdate() forever.
>> >
>> > I would like to have some way to fail the connection attempt to avoid
>> the
>> > calling thread being blocked forever. Is this possible with the current
>> > version of the client? (Snapshot as of 16/6/15). If not, is that
>> something
>> > that's planned for the future?
>> >
>> > Jan
>> >
>> >
>>
>
>

Reply via email to