Yeah, but that gives them all the partitions and does not differentiate between available vs unavailable right.
Thanks, Mayuresh On Thu, Mar 5, 2015 at 9:14 AM, Guozhang Wang <wangg...@gmail.com> wrote: > 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 > -- -Regards, Mayuresh R. Gharat (862) 250-7125