Skip to content

Commit 3561fab

Browse files
committed
fix: reconnect when ready check failed
1 parent b1c761c commit 3561fab

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

lib/redis/event_handler.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,8 @@ exports.connectHandler = function (self) {
3939
self._readyCheck(function (err, info) {
4040
if (err) {
4141
self.flushQueue(new Error('Ready check failed: ' + err.message));
42-
if (!self.condition.auth && err.message.split(' ')[0] === 'NOAUTH') {
43-
self.silentEmit('error', err);
44-
self.disconnect(true);
45-
}
42+
self.silentEmit('error', err);
43+
self.disconnect(true);
4644
} else {
4745
self.serverInfo = info;
4846
if (self.connector.check(info)) {

test/functional/ready_check.js

+16
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,20 @@ describe('ready_check', function () {
1616
});
1717
redis.connect();
1818
});
19+
20+
it('should reconnect when info return a error', function (done) {
21+
var redis = new Redis({
22+
lazyConnect: true,
23+
retryStrategy: function () {
24+
done();
25+
return;
26+
}
27+
});
28+
29+
stub(redis, 'info', function (callback) {
30+
callback(new Error('info error'));
31+
});
32+
33+
redis.connect();
34+
});
1935
});

0 commit comments

Comments
 (0)