That exception indicates that another thread is interrupting the consumer thread. Is there something else in the process that could be causing that interruption?
The -1 broker ID actually isn't unusual. Since broker IDs should be positive, this is just a simple approach to identifying bootstrap servers where we don't know their ID yet. This just indicates it is connecting to the first bootstrap broker to get metadata. -Ewen On Tue, Jun 21, 2016 at 8:07 AM, Simon Cooper < simon.coo...@featurespace.co.uk> wrote: > Hi all, > > We've got a problem with high CPU usage on a 0.9 client. We've got a > monitoring system that polls kafka topics for metadata (to get the last > message offset) every so often, and this has started using very high CPU > continuously. We're seeing the following being spammed in the logs every > 100ms: > > 2016-06-21T13:21:10,355 | DEBUG | o.a.k.c.NetworkClient [pool-11-thread-8] > | Initialize connection to node -1 for sending metadata request > 2016-06-21T13:21:10,355 | DEBUG | o.a.k.c.NetworkClient [pool-11-thread-8] > | Initiating connection to node -1 at <hostname>:9092. > 2016-06-21T13:21:10,355 | DEBUG | o.a.k.c.NetworkClient [pool-11-thread-8] > | Error connecting to node -1 at <hostname>:9092: > java.nio.channels.ClosedByInterruptException: null > at > java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202) > ~[na:1.8.0_60-ea] > at > sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:659) > ~[na:1.8.0_60-ea] > at > org.apache.kafka.common.network.Selector.connect(Selector.java:153) > ~[monitoring-collector.jar:na] > at > org.apache.kafka.clients.NetworkClient.initiateConnect(NetworkClient.java:489) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.NetworkClient.access$400(NetworkClient.java:47) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.maybeUpdate(NetworkClient.java:624) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.maybeUpdate(NetworkClient.java:543) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:254) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.clientPoll(ConsumerNetworkClient.java:320) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:213) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:193) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.awaitMetadataUpdate(ConsumerNetworkClient.java:134) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorKnown(AbstractCoordinator.java:184) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.fetchCommittedOffsets(ConsumerCoordinator.java:290) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.refreshCommittedOffsetsIfNeeded(ConsumerCoordinator.java:272) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.consumer.KafkaConsumer.updateFetchPositions(KafkaConsumer.java:1299) > [monitoring-collector.jar:na] > at > org.apache.kafka.clients.consumer.KafkaConsumer.position(KafkaConsumer.java:1106) > [monitoring-collector.jar:na] > ... > 2016-06-21T13:21:10,355 | DEBUG | o.a.k.c.NetworkClient [pool-11-thread-8] > | Give up sending metadata request since no node is available > > This is a single-broker cluster (id: 1), all on a single machine. There is > nothing being logged in the broker logs. > > Can anyone help work out what is going wrong, and how we could fix it? In > particular, the '-1' node id is suspicious, but we can't work out where > this value is coming from. > > Thanks, > SimonC > -- Thanks, Ewen