[
https://issues.apache.org/jira/browse/KAFKA-3205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Flavio Junqueira resolved KAFKA-3205.
-------------------------------------
Resolution: Won't Fix
Reviewer: Flavio Junqueira
Fix Version/s: (was: 0.10.0.0)
The changes currently in 0.9+ doesn't have as many messages printed out because
both ends, client and server, enforce the connection timeout. The change
discussed in the pull request doesn't print it in the case of a passive close
initiated by the server (in 0.9 the timeout is enforced), which is desirable
only because it pollutes the logs otherwise. It is better that we keep these
messages in 0.9 and later to be informed of connections being closed. They are
not supposed to happen very often, but if it turns out to be a problem, we can
revisit this issue.
> Error in I/O with host (java.io.EOFException) raised in producer
> ----------------------------------------------------------------
>
> Key: KAFKA-3205
> URL: https://issues.apache.org/jira/browse/KAFKA-3205
> Project: Kafka
> Issue Type: Bug
> Components: clients
> Affects Versions: 0.8.2.1, 0.9.0.0
> Reporter: Jonathan Raffre
>
> In a situation with a Kafka broker in 0.9 and producers still in 0.8.2.x,
> producers seems to raise the following after a variable amount of time since
> start :
> {noformat}
> 2016-01-29 14:33:13,066 WARN [] o.a.k.c.n.Selector: Error in I/O with
> 172.22.2.170
> java.io.EOFException: null
> at
> org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:62)
> ~[org.apache.kafka.kafka-clients-0.8.2.0.jar:na]
> at org.apache.kafka.common.network.Selector.poll(Selector.java:248)
> ~[org.apache.kafka.kafka-clients-0.8.2.0.jar:na]
> at
> org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:192)
> [org.apache.kafka.kafka-clients-0.8.2.0.jar:na]
> at
> org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:191)
> [org.apache.kafka.kafka-clients-0.8.2.0.jar:na]
> at
> org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:122)
> [org.apache.kafka.kafka-clients-0.8.2.0.jar:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66-internal]
> {noformat}
> This can be reproduced successfully by doing the following :
> * Start a 0.8.2 producer connected to the 0.9 broker
> * Wait 15 minutes, exactly
> * See the error in the producer logs.
> Oddly, this also shows up in an active producer but after 10 minutes of
> activity.
> Kafka's server.properties :
> {noformat}
> broker.id=1
> listeners=PLAINTEXT://:9092
> port=9092
> num.network.threads=2
> num.io.threads=2
> socket.send.buffer.bytes=1048576
> socket.receive.buffer.bytes=1048576
> socket.request.max.bytes=104857600
> log.dirs=/mnt/data/kafka
> num.partitions=4
> auto.create.topics.enable=false
> delete.topic.enable=true
> num.recovery.threads.per.data.dir=1
> log.retention.hours=48
> log.retention.bytes=524288000
> log.segment.bytes=52428800
> log.retention.check.interval.ms=60000
> log.roll.hours=24
> log.cleanup.policy=delete
> log.cleaner.enable=true
> zookeeper.connect=127.0.0.1:2181
> zookeeper.connection.timeout.ms=1000000
> {noformat}
> Producer's configuration :
> {noformat}
> compression.type = none
> metric.reporters = []
> metadata.max.age.ms = 300000
> metadata.fetch.timeout.ms = 60000
> acks = all
> batch.size = 16384
> reconnect.backoff.ms = 10
> bootstrap.servers = [127.0.0.1:9092]
> receive.buffer.bytes = 32768
> retry.backoff.ms = 500
> buffer.memory = 33554432
> timeout.ms = 30000
> key.serializer = class
> org.apache.kafka.common.serialization.StringSerializer
> retries = 3
> max.request.size = 5000000
> block.on.buffer.full = true
> value.serializer = class
> org.apache.kafka.common.serialization.StringSerializer
> metrics.sample.window.ms = 30000
> send.buffer.bytes = 131072
> max.in.flight.requests.per.connection = 5
> metrics.num.samples = 2
> linger.ms = 0
> client.id =
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)