I think today people can get the available partitions by calling
partitionsFor() API, and iterate the partitions and filter those whose
leader is null, right?

On Wed, Mar 4, 2015 at 4:40 PM, Mayuresh Gharat <gharatmayures...@gmail.com>
wrote:

> Cool. So then this is a non issue then. To make things better we can expose
> the availablePartitons() api through Kafka producer. What do you think?
>
> Thanks,
>
> Mayuresh
>
> On Tue, Mar 3, 2015 at 4:56 PM, Guozhang Wang <wangg...@gmail.com> wrote:
>
> > Hey Jun,
> >
> > You are right. Previously I thought only in your recent patches you add
> the
> > partitionWithAvailableLeaders that this gets exposed, however it is the
> > opposite case.
> >
> > Guozhang
> >
> > On Tue, Mar 3, 2015 at 4:40 PM, Jun Rao <j...@confluent.io> wrote:
> >
> > > Guozhang,
> > >
> > > Actually, we always return all partitions in the metadata response
> > whether
> > > the leaders are available or not.
> > >
> > > Thanks,
> > >
> > > Jun
> > >
> > > On Sat, Feb 28, 2015 at 10:46 PM, Guozhang Wang <wangg...@gmail.com>
> > > wrote:
> > >
> > > > Hi Honghai,
> > > >
> > > > 1. If a partition has no leader (i.e. all of its replicas are down)
> it
> > > will
> > > > become offline, and hence the metadata response will not have this
> > > > partition's info.
> > > >
> > > > 2. Any of the brokers cache metadata and hence can handle the
> metadata
> > > > request. It's just that their cache are updated asynchronously and
> > hence
> > > > when there is a update to the metadata, some brokers may got the new
> > > > metadata value a bit eariler than others.
> > > >
> > > > On Thu, Feb 26, 2015 at 7:21 PM, ChenHongHai <
> > > waldenchenka...@outlook.com>
> > > > wrote:
> > > >
> > > > > We have one topic with 4 partitions, but sometimes only get
> metadata
> > > of 2
> > > > > partitions, did anyone meet this kind of situation before?If some
> > > > partition
> > > > > has no leader at that moment, will it cause this problem?     How
> to
> > > make
> > > > > some partition has no leader?If 6 brokers has some partitions of
> the
> > > > topic,
> > > > > will they return same result?  Do I need try all of them and merge
> > the
> > > > > result?
> > > > >
> > > > >      SimpleConsumer consumer = consumerPool.getConsumer(seed.host,
> > > > > seed.port, connectionTimeOut, consumerBufferSize,
> > > > "refreshPartitionMeta");
> > > > >               List<String> topics = new ArrayList<String>() {{
> > > > >       add(topic);                }};
> > > TopicMetadataResponse
> > > > > resp = consumer.send(new TopicMetadataRequest(topics));
> > > > > List<TopicMetadata> metaData = resp.topicsMetadata();
> > > > >                 for (TopicMetadata item : metaData) {
> > > > > if(item.errorCode() != kafka.common.ErrorMapping.NoError())
> > > > >         LOG.error(String.format("Something wrong with topic
> metadata
> > > for
> > > > > topic: %s error code: %d ", item.topic(), item.errorCode() ));
> > > > >       for (PartitionMetadata part : item.partitionsMetadata()) {
> > > > >             partitionMeta.put(part.partitionId(), part);
> > > > >                      }                }
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > -- Guozhang
> > > >
> > >
> >
> >
> >
> > --
> > -- Guozhang
> >
>
>
>
> --
> -Regards,
> Mayuresh R. Gharat
> (862) 250-7125
>



-- 
-- Guozhang

Reply via email to