From 9118851bf438aca04299adadefa4afe77db9dfa0 Mon Sep 17 00:00:00 2001 From: Thiago Date: Thu, 10 May 2018 15:21:34 -0300 Subject: [PATCH] Fix error event in recoverFromBrokerChange - Creates an error when metadata refresh request returns an error. - Fixes emit to send error event to 'error'. --- lib/client.js | 3 +++ lib/consumerGroup.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/client.js b/lib/client.js index 72c06446..13a66d4f 100644 --- a/lib/client.js +++ b/lib/client.js @@ -512,6 +512,9 @@ Client.prototype.refreshMetadata = function (topicNames, cb) { logger.debug('refresh metadata currentAttempt', currentAttempt); self.loadMetadataForTopics(topics, function (err, resp) { err = err || resp[1].error; + if (Array.isArray(err)) { + err = new Error(String(err)); + } if (operation.retry(err)) { return; } diff --git a/lib/consumerGroup.js b/lib/consumerGroup.js index af0e357a..da9efbba 100644 --- a/lib/consumerGroup.js +++ b/lib/consumerGroup.js @@ -130,7 +130,7 @@ function ConsumerGroup (memberOptions, topics) { logger.debug('brokersChanged refreshing metadata'); self.client.refreshMetadata(self.topics, function (error) { if (error) { - self.emit(error); + self.emit('error', error); return; } self.reconnectIfNeeded();