Ver código fonte

Add logging to metadata refreshes

Willem van Bergen 12 anos atrás
pai
commit
59d8bbd31d
1 arquivos alterados com 5 adições e 0 exclusões
  1. 5 0
      client.go

+ 5 - 0
client.go

@@ -209,6 +209,7 @@ func (client *Client) refreshMetadata(topics []string, retries int) error {
 	}
 
 	for broker := client.any(); broker != nil; broker = client.any() {
+		Logger.Printf("Getting metadata from broker %s\n", broker.addr)
 		response, err := broker.GetMetadata(client.id, &MetadataRequest{Topics: topics})
 
 		switch err {
@@ -224,6 +225,7 @@ func (client *Client) refreshMetadata(topics []string, retries int) error {
 				if retries <= 0 {
 					return LeaderNotAvailable
 				}
+				Logger.Printf("Failed to get metadata from broker %s, waiting %dms... (%d retries remaining)\n", broker.addr, client.config.WaitForElection, retries)
 				time.Sleep(client.config.WaitForElection) // wait for leader election
 				return client.refreshMetadata(retry, retries-1)
 			}
@@ -238,9 +240,12 @@ func (client *Client) refreshMetadata(topics []string, retries int) error {
 	}
 
 	if retries > 0 {
+		Logger.Printf("Out of available brokers. Resurrecting dead brokers after %dms... (%d retries remaining)\n", client.config.WaitForElection, retries)
 		time.Sleep(client.config.WaitForElection)
 		client.resurrectDeadBrokers()
 		return client.refreshMetadata(topics, retries-1)
+	} else {
+		Logger.Printf("Out of available brokers.\n")
 	}
 
 	return OutOfBrokers