Calling `consumer.subscribe()` is a local call. Only when you call
`consumer.poll()` the consumer will connect to the broker to get its
assignment. Thus, it's save to call `poll()` directly.

`assignment()` will return the assignment only after the first `poll()`
call.


-Matthias

On 1/23/19 9:00 AM, chinchu chinchu wrote:
> Hello,
> I  have subscribed to a kafka topic  as below . I need to run some logic
> only after the consumer has been assigned a partition .How ever
> consumer.assignment() comes back as an empty set no matter  how long I wait
> . If I do not have the while loop and then do a  consumer.poll() I do get
> the records from the topic.Can any one tell me why this is  happening ?
> 
> consumer.subscribe(topics);
>       consumer.
> 
>       Set<TopicPartition> assigned=Collections.emptySet();
>       while(isAssigned)
> {
>                       assigned = consumer.assignment();
>                      if(!assigned.isEmpty()) {
>                    isAssigned= false;
>                            }
>    }
> 
> Thanks,
> 
> On Tue, Jan 22, 2019 at 2:14 PM chinchu chinchu <chinchutec...@gmail.com>
> wrote:
> 
>> Hello,
>> I  have subscribed to a kafka topic  as below . I need to run some logic
>> only after the consumer has been assigned a partition .How ever
>> consumer.assignment() comes back as an empty set no matter  how long I wait
>> . If I do not have the while loop and then do a  consumer.poll() I do get
>> the records from the topic.Can any one tell me why this is  happening ?
>>
>> consumer.subscribe(topics);
>>       consumer.
>>
>>       Set<TopicPartition> assigned=Collections.emptySet();
>>       while(isAssigned)
>> {
>>                       assigned = consumer.assignment();
>>                      if(!assigned.isEmpty()) {
>>                   isAssigned= false;
>>                            }
>>    }
>>
>> Thanks,
>> Chinchu
>>
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to