Procházet zdrojové kódy

If we can't connect, the leader is not available

If kafka gave us a broker we can't talk to (which we suspected because it was
already dead), then mark the partition as LeaderNotAvailable so that subsequent
calls to Leader don't return it unnecessarily
Evan Huus před 11 roky
rodič
revize
21fb992498
1 změnil soubory, kde provedl 1 přidání a 0 odebrání
  1. 1 0
      client.go

+ 1 - 0
client.go

@@ -549,6 +549,7 @@ func (client *Client) update(data *MetadataResponse) ([]string, error) {
 				broker := client.brokers[partition.Leader]
 				if _, present := client.deadBrokerAddrs[broker.Addr()]; present {
 					if connected, _ := broker.Connected(); !connected {
+						partition.Err = LeaderNotAvailable
 						toRetry[topic.Name] = true
 					}
 				}