Skip to content

Commit

Permalink
Resolves tulios#1607
Browse files Browse the repository at this point in the history
* Randomizing broker order
  • Loading branch information
gunnartangring committed Aug 16, 2023
1 parent 887288b commit 5747983
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/cluster/connectionPoolBuilder.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
const { KafkaJSConnectionError, KafkaJSNonRetriableError } = require('../errors')
const ConnectionPool = require('../network/connectionPool')
const shuffle = require('../utils/shuffle')

/**
* @typedef {Object} ConnectionPoolBuilder
Expand Down Expand Up @@ -88,9 +89,12 @@ module.exports = ({
return {
build: async ({ host, port, rack } = {}) => {
if (!host) {
const list = await getBrokers()
if (!randomBrokerList) {
const brokerList = await getBrokers()
const randomBrokerList = shuffle(brokerList)
}

const randomBroker = list[index++ % list.length]
const randomBroker = randomBrokerList[index++ % randomBrokerList.length]

host = randomBroker.split(':')[0]
port = Number(randomBroker.split(':')[1])
Expand Down

0 comments on commit 5747983

Please sign in to comment.