Browse Source

Don't let an error getting leader lead to a nil-pointer

Evan Huus 12 years ago
parent
commit
94bf93c00d
1 changed files with 4 additions and 5 deletions
  1. 4 5
      kafka/consumer.go

+ 4 - 5
kafka/consumer.go

@@ -110,11 +110,10 @@ func (c *Consumer) fetchMessages() {
 			}
 			}
 		default:
 		default:
 			c.client.disconnectBroker(c.broker)
 			c.client.disconnectBroker(c.broker)
-			c.broker, err = c.client.leader(c.topic, c.partition)
-			if c.sendError(err) {
-				continue
-			} else {
-				return
+			for c.broker = nil; err != nil; c.broker, err = c.client.leader(c.topic, c.partition) {
+				if !c.sendError(err) {
+					return
+				}
 			}
 			}
 		}
 		}