Hi Saurabh the 0.10.2.x client is backward compatible up to the 0.10.0.0 broker, not earlier.
ciao Edo -------------------------------------------------- Edoardo Comar IBM Message Hub IBM UK Ltd, Hursley Park, SO21 2JN Tom Crayford <tcrayf...@heroku.com> wrote on 28/06/2017 15:21:04: > From: Tom Crayford <tcrayf...@heroku.com> > To: dev@kafka.apache.org > Date: 28/06/2017 15:21 > Subject: Re: Is Kafka client 0.10.2.1 backward compatible > > Kafka promises one thing and one thing only for backwards compatability, > which is that brokers with newer versions will always support older > clients. The inverse: old brokers with new clients is not true. > > On Wed, Jun 28, 2017 at 6:18 AM, saurabh mimani <mimani.saur...@gmail.com> > wrote: > > > I am trying to use partitionsFor method of kafka client 2.11: 0.10.2.1 > > < https://mvnrepository.com/artifact/org.apache.kafka/kafka_2.11/0.10.2.1> > > for > > topics published by Kafka 0.8.2.x, but it gives timeout. Following are > > more details: > > > > I have a small Java spark service which uses kafka client 2.11: 0.10.2.1 > > < https://mvnrepository.com/artifact/org.apache.kafka/kafka_2.11/0.10.2.1>. > > > > Following is the code which works fine when I read topics published from > > latest Kafka version: > > > > Properties props = new Properties(); > > props.put(org.apache.kafka.clients.producer.ProducerConfig.BOOTSTRAP_ > > SERVERS_CONFIG, > > producerConfig.getBrokerConnectionString()); > > props.put(org.apache.kafka.clients.producer. > > ProducerConfig.ACKS_CONFIG, > > "all"); > > props.put(org.apache.kafka.clients.producer. > > ProducerConfig.RETRIES_CONFIG, > > producerConfig.getRetry()); > > props.put(org.apache.kafka.clients.producer.ProducerConfig.BATCH_SIZE_ > > CONFIG, > > producerConfig.getBatchSize()); > > props.put(org.apache.kafka.clients.producer.ProducerConfig.LINGER_MS_ > > CONFIG, > > producerConfig.getLingerTimeInMs()); > > props.put(org.apache.kafka.clients.producer.ProducerConfig.REQUEST_ > > TIMEOUT_MS_CONFIG, > > producerConfig.getRequestTimeout()); > > props.put(org.apache.kafka.clients.producer. > > ProducerConfig.MAX_BLOCK_MS_CONFIG, > > producerConfig.getMaxBlockMS()); > > props.put(org.apache.kafka.clients.producer. > > ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, > > producerConfig.getMaxIdleTime()); > > props.put(org.apache.kafka.clients.producer. > > ProducerConfig.BUFFER_MEMORY_CONFIG, > > maxBytesInBuffer / producerConfig.getProducersCount()); > > props.put(org.apache.kafka.clients.producer. > > ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, > > "org.apache.kafka.common.serialization.StringSerializer"); > > props.put(org.apache.kafka.clients.producer.ProducerConfig.VALUE_ > > SERIALIZER_CLASS_CONFIG, > > "org.apache.kafka.common.serialization.ByteArraySerializer"); > > producers = new Producer[1]; > > producers[0] = new KafkaProducer<>(props); > > producers[0].partitionsFor("mYTopic").size(); > > > > There is a existing Kafka topic, where kafka version is 0.8.2.x . I wanted > > to use the same code for this as well. But this code gives timeout in last > > line(partitionsFor) with topic published by Kafka of version 0.8.2.x. Any > > help in this regard will be appreciated. > > > > in short: Kafka topic(published by 0.8.2.x) not able to read by 0.10.2.1 > > client > > > > > > > > Best Regards > > > > Saurabh Kumar Mimani > > Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU