Skip to content

Handle 0.9 broker's idle connection reaper #437

@ah-

Description

@ah-

I'm running librdkafka built from the 0.9.0 branch with Kafka 0.9 on osx and every once in a while I see these messages popping up:

%3|1448840086.601|FAIL|rdkafka#producer-0| 127.0.0.1:9092/bootstrap: Receive failed: Disconnected
%3|1448840086.601|ERROR|rdkafka#producer-0| 127.0.0.1:9092/bootstrap: Receive failed: Disconnected
%3|1448840086.601|FAIL|rdkafka#producer-0| 127.0.0.1:9092/bootstrap: Connection closed
%3|1448840086.601|ERROR|rdkafka#producer-0| 127.0.0.1:9092/bootstrap: Connection closed
%3|1448840686.772|FAIL|rdkafka#producer-0| 192.168.0.3:9092/0: Receive failed: Disconnected
%3|1448840686.772|ERROR|rdkafka#producer-0| 192.168.0.3:9092/0: Receive failed: Disconnected
%3|1448840686.772|FAIL|rdkafka#producer-0| 192.168.0.3:9092/0: Connection closed
%3|1448840686.772|ERROR|rdkafka#producer-0| 192.168.0.3:9092/0: Connection closed

I think they coincide with this in the Kafka logs:

[2015-11-29 23:07:14,958] ERROR Processor got uncaught exception. (kafka.network.Processor)
java.lang.IllegalStateException: connectionId has unexpected format: fe80:0:0:0:0:0:0:1%1:9092-fe80:0:0:0:0:0:0:1%1:50070
        at kafka.network.Processor$$anonfun$run$13$$anonfun$7.apply(SocketServer.scala:447)
        at kafka.network.Processor$$anonfun$run$13$$anonfun$7.apply(SocketServer.scala:447)
        at scala.Option.getOrElse(Option.scala:121)
        at kafka.network.Processor$$anonfun$run$13.apply(SocketServer.scala:446)
        at kafka.network.Processor$$anonfun$run$13.apply(SocketServer.scala:445)
        at scala.collection.Iterator$class.foreach(Iterator.scala:742)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1194)
        at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
        at kafka.network.Processor.run(SocketServer.scala:445)
        at java.lang.Thread.run(Thread.java:745)

Everything keeps working perfectly, but I suspect this is not supposed to happen. Any idea?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions