Skip to content

Commit

Permalink
Merge pull request #1784 from Shopify/randomize-seed-broker-method
Browse files Browse the repository at this point in the history
Add randomize seed broker method
  • Loading branch information
justin-chen committed Aug 20, 2020
2 parents a1c698e + 5bcc532 commit 5992c4c
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions client.go
Expand Up @@ -160,10 +160,7 @@ func NewClient(addrs []string, conf *Config) (Client, error) {
coordinators: make(map[string]int32),
}

random := rand.New(rand.NewSource(time.Now().UnixNano()))
for _, index := range random.Perm(len(addrs)) {
client.seedBrokers = append(client.seedBrokers, NewBroker(addrs[index]))
}
client.randomizeSeedBrokers(addrs)

if conf.Metadata.Full {
// do an initial fetch of all cluster metadata by specifying an empty list of topics
Expand Down Expand Up @@ -450,10 +447,7 @@ func (client *client) RefreshBrokers(addrs []string) error {
client.seedBrokers = nil
client.deadSeeds = nil

random := rand.New(rand.NewSource(time.Now().UnixNano()))
for _, index := range random.Perm(len(addrs)) {
client.seedBrokers = append(client.seedBrokers, NewBroker(addrs[index]))
}
client.randomizeSeedBrokers(addrs)

return nil
}
Expand Down Expand Up @@ -591,6 +585,13 @@ func (client *client) RefreshCoordinator(consumerGroup string) error {

// private broker management helpers

func (client *client) randomizeSeedBrokers(addrs []string) {
random := rand.New(rand.NewSource(time.Now().UnixNano()))
for _, index := range random.Perm(len(addrs)) {
client.seedBrokers = append(client.seedBrokers, NewBroker(addrs[index]))
}
}

func (client *client) updateBroker(brokers []*Broker) {
var currentBroker = make(map[int32]*Broker, len(brokers))

Expand Down

0 comments on commit 5992c4c

Please sign in to comment.