Hi,
I have a Kafka infrastructure in which there is 1 topic (T) with 1 partition and replication factor 2. There are 2 brokers - B1 and B2 in the associated zookeeper. The two brokers are on two different hosts - host 1 and host 2. The leader is on host1, which is defined to be local in context of a producer, which also runs on host 1. The producer uses librdkafka library (C++) to write messages periodically to the topic T. The producer is configured in such a way that kafka write (to leader) happens in sync and replication happens in async (required.acks = 1). In a normal scenario, producer will write messages to B1 on host 1 synchronously and those will be replicated asynchronously by B2 on host2. Here is an issued which I am getting. Producer is writing messages and if B2 on host 2 is shutdown, an error is returned by produce API. In librdkafka terms, the error is like below. RD_KAFKA_RESP_ERR_REQUEST_TIMED_OUT = 7 (Description: Broker: Request timed out This error is basically transparent to librdkafka library and coming directly from Kafka. In terms of Kafka, it is given below. RequestTimedOut 7 Yes This error is thrown if the request exceeds the user-specified time limit in the request. I understand that the error is there because the broker B2 on host 2 is not available so the leader broker B1 is not able to send message to B2, it waits for timeout period and when it expires, it returns error to producer. My question is why leader broker B1 even attempts to do that. When B2 is shutdown, the ISR list will shrink from {B1,B2} to {B1} and there should not be any replication happening to B2. The required.acks is set to 1 so the Kafka write to leader broker (B1) should work without any error. Please help. Thanks in advance. Thanks, Ankur