After doing some debugging, I found out that consumer metadata request message has been sent to kafka broker but broker doesn't return any result until timeout I tried to restart kafka broker and finally it works.
Is there any explanation for this? Thank you, On Mon, Nov 2, 2015 at 10:39 AM, Muqtafi Akhmad <muqt...@traveloka.com> wrote: > Hello all, > > I am trying to get consumer metadata from my Java program, using blocking > channel as described in this link > <https://cwiki.apache.org/confluence/display/KAFKA/Committing+and+fetching+consumer+offsets+in+Kafka>. > The problem is, I always got SocketTimeoutException but when I try to use > telnet to kafka server there is no problem. > Here is my program code : > >> BlockingChannel channel = new BlockingChannel( >> KAFKA_SERVER, >> KAFKA_SERVER_PORT, >> BlockingChannel.UseDefaultBufferSize(), >> BlockingChannel.UseDefaultBufferSize(), >> FETCH_CONSUMER_METADATA_TIMEOUT); >> channel.connect(); >> channel.send(new ConsumerMetadataRequest(GROUP_ID, >> ConsumerMetadataRequest.CurrentVersion(), random.nextInt(), CLIENT_ID)); >> this.consumerMetadataResponse = >> ConsumerMetadataResponse.readFrom(channel.receive().buffer()); >> channel.disconnect(); > > > and here is the exception caught in program : > >> java.net.SocketTimeoutException >> at sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:229) >> at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103) >> at >> java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:385) >> at kafka.utils.Utils$.read(Utils.scala:380) >> at >> kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54) >> at kafka.network.Receive$class.readCompletely(Transmission.scala:56) >> at >> kafka.network.BoundedByteBufferReceive.readCompletely(BoundedByteBufferReceive.scala:29) >> at kafka.network.BlockingChannel.receive(BlockingChannel.scala:111) > > > Thank you, > > -- > Muqtafi Akhmad > Software Engineer > Traveloka > > -- Muqtafi Akhmad Software Engineer Traveloka