Connect event triggered multiple times

Hi,
I see that the connect event is triggered multiple times on 4.0.0 version and apparently just once in 3.2.2
Can you confirm that this is the case ?
Thanks!

Could you post the code here that can reproduce the issue?

Sure, this code produces several connect events maybe 10% or 20% of the time on 4.0.0 ( tested a few dozen times ) and only one event on 3.2.0 ( same amount of tries ) :

I get multiple on 3.2, similar code as above, just logging on the connect event. Local server has no requests on it, yet will spit out "New Redis Connection" several times in a brief ten minute window.

Have listeners 'close' and 'connect', and this is what I see:
[2] Closed Redis Connection
[2] New Redis Connection
[2] Closed Redis Connection
[2] New Redis Connection
So there is some TTL on the connection and it reestablishes?

@callsea1 Can you test if you get the "Connected", with lazyConnect true in the configuration and use the connect method manually like in the following. ( i had issue with this code sometime not triggering connection, and this is why i started using the connect event )
"use strict"

const redis = require('ioredis')

const client = new redis.Cluster([{
  "port": 6379,
  "host": "xxxxxxxxxxxxxxxxx.cache.amazonaws.com"
}], { lazyConnect: true })

client.connect()
  .then(() => console.log("Connected"))

@simondutertre I have moved on 😂 -- but not using a cluster,  simply this:
import Redis from 'ioredis';  redisInstance = new Redis(REDIS_URL, options);
But I tried swapping in this package: https://www.npmjs.com/package/redis
And the same behavior existed, closing and re-establishing a connection. These are the two most popular libraries... 🤔

@callsea1 Could you run config get timeout to see whether an idle client timeout has been set on the redis server?

@simondutertre I've tested locally using the following code:
const Redis = require('ioredis')
const redis = new Redis.Cluster([{
  port: 30001
}, {
  port: 30002
}, {
  port: 30003
}])

redis.on('connect', console.log.bind(console, 'abc'))

Only one connect is emitted. Could you enable the debug mode DEBUG=ioredis:* node yourapp.js and post the logs here?

here are the logs ( it appears that the multiple connections are caused by the node being empty, altho the number of connection seem to be random ( 3 on first try, 1 on second ) :

ioredis:cluster status: [empty] -> connecting +0ms
ioredis:cluster:connectionPool Connecting to clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 as master +0ms
ioredis:redis status[clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: [empty] -> wait +0ms
ioredis:cluster:connectionPool Connecting to clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 as master +4ms
ioredis:redis status[clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 as master +2ms
ioredis:redis status[clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: [empty] -> wait +1ms
ioredis:cluster getting slot cache from clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 +12ms
ioredis:redis status[clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: wait -> connecting +4ms
ioredis:redis queue command[0] -> cluster(slots) +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +24ms
ioredis:redis write command[0] -> info() +2ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +5ms
ioredis:connection send 1 commands in offline queue +0ms
ioredis:redis write command[0] -> cluster(slots) +1ms
ioredis:cluster:connectionPool Disconnect clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +41ms
ioredis:cluster:connectionPool Disconnect clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +0ms
ioredis:redis status[clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +5ms
ioredis:redis status[clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: close -> end +1ms
ioredis:cluster:connectionPool Disconnect clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +2ms
ioredis:redis status[clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: wait -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +2ms
ioredis:redis status[clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: close -> end +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as master +4ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +3ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as slave +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as master +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as slave +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as master +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as slave +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster status: connecting -> connect +49ms
ioredis:cluster Ready check failed (Error: Connection is closed.). Reconnecting... +6ms
ioredis:cluster status: connect -> disconnecting +0ms
ioredis:cluster:connectionPool Disconnect clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +6ms
ioredis:cluster:connectionPool Disconnect clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +1ms
ioredis:cluster:connectionPool Disconnect clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +0ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +8ms
ioredis:connection skip reconnecting since the connection is manually closed. +15ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +1ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +2ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +0ms
ioredis:connection skip reconnecting since the connection is manually closed. +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +1ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +0ms
ioredis:connection skip reconnecting since the connection is manually closed. +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
Connect event
ioredis:redis status[<IP_ADDRESS>:6379]: ready -> close +5ms
ioredis:connection skip reconnecting since the connection is manually closed. +5ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:cluster status: disconnecting -> close +13ms
ioredis:cluster status: close -> reconnecting +0ms
ioredis:cluster Cluster is disconnected. Retrying after 102ms +103ms
ioredis:cluster status: reconnecting -> connecting +0ms
ioredis:cluster:connectionPool Connecting to clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 as master +110ms
ioredis:redis status[clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: [empty] -> wait +105ms
ioredis:cluster:connectionPool Connecting to clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 as master +0ms
ioredis:redis status[clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 as master +1ms
ioredis:redis status[clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: [empty] -> wait +0ms
ioredis:cluster getting slot cache from clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 +2ms
ioredis:redis status[clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: wait -> connecting +1ms
ioredis:redis queue command[0] -> cluster(slots) +0ms
ioredis:redis status[clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: wait -> connecting +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +2ms
ioredis:redis write command[0] -> info() +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +0ms
ioredis:redis write command[0] -> info() +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +1ms
ioredis:connection send 1 commands in offline queue +111ms
ioredis:redis write command[0] -> cluster(slots) +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +1ms
ioredis:cluster:connectionPool Disconnect clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +7ms
ioredis:cluster:connectionPool Disconnect clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +1ms
ioredis:cluster:connectionPool Disconnect clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +0ms
ioredis:redis status[clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: wait -> close +2ms
ioredis:connection skip reconnecting since the connection is manually closed. +3ms
ioredis:redis status[clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: close -> end +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as master +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as slave +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as master +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as slave +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as master +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +3ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as slave +3ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +3ms
ioredis:cluster status: connecting -> connect +16ms
ioredis:cluster Ready check failed (Error: Connection is closed.). Reconnecting... +0ms
ioredis:cluster status: connect -> disconnecting +1ms
ioredis:cluster:connectionPool Disconnect clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +4ms
ioredis:cluster:connectionPool Disconnect clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +0ms
ioredis:cluster:connectionPool Disconnect clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +0ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +2ms
ioredis:connection skip reconnecting since the connection is manually closed. +10ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +2ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +0ms
ioredis:connection skip reconnecting since the connection is manually closed. +3ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +1ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +3ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:6379 because the node does not hold any slot +3ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> close +0ms
ioredis:connection skip reconnecting since the connection is manually closed. +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +1ms
Connect event
ioredis:redis status[<IP_ADDRESS>:6379]: ready -> close +2ms
ioredis:connection skip reconnecting since the connection is manually closed. +3ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: ready -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:cluster status: disconnecting -> close +13ms
ioredis:cluster status: close -> reconnecting +0ms
ioredis:cluster Cluster is disconnected. Retrying after 104ms +107ms
ioredis:cluster status: reconnecting -> connecting +1ms
ioredis:cluster:connectionPool Connecting to clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 as master +112ms
ioredis:redis status[clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: [empty] -> wait +108ms
ioredis:cluster:connectionPool Connecting to clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 as master +1ms
ioredis:redis status[clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 as master +1ms
ioredis:redis status[clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: [empty] -> wait +1ms
ioredis:cluster getting slot cache from clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 +2ms
ioredis:redis status[clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: wait -> connecting +0ms
ioredis:redis queue command[0] -> cluster(slots) +1ms
ioredis:redis status[clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: wait -> connecting +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +6ms
ioredis:redis write command[0] -> info() +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +0ms
ioredis:redis write command[0] -> info() +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +1ms
ioredis:connection send 1 commands in offline queue +119ms
ioredis:redis write command[0] -> cluster(slots) +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +1ms
ioredis:cluster:connectionPool Disconnect clustertest-0001-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +11ms
ioredis:cluster:connectionPool Disconnect clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +0ms
ioredis:redis status[clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: wait -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +3ms
ioredis:redis status[clustertest-0002-001.ggdm49.0001.euw1.cache.amazonaws.com:6379]: close -> end +1ms
ioredis:cluster:connectionPool Disconnect clustertest-0003-001.ggdm49.0001.euw1.cache.amazonaws.com:6379 because the node does not hold any slot +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as master +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as slave +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as master +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as slave +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as master +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:6379 as slave +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: [empty] -> wait +1ms
ioredis:cluster status: connecting -> connect +16ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> connecting +0ms
ioredis:redis queue command[0] -> cluster(info) +0ms
Connect event
ioredis:redis status[<IP_ADDRESS>:6379]: ready -> close +2ms
ioredis:connection skip reconnecting since the connection is manually closed. +6ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +0ms
ioredis:redis write command[0] -> info() +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: ready -> close +0ms
ioredis:connection skip reconnecting since the connection is manually closed. +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: close -> end +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> connecting +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +1ms
ioredis:connection send 1 commands in offline queue +1ms
ioredis:redis write command[0] -> cluster(info) +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +1ms
ioredis:redis write command[0] -> info() +0ms
ioredis:cluster status: connect -> ready +6ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +1ms
ioredis:connection set the connection to readonly mode +3ms
ioredis:redis write command[0] -> readonly() +1ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:6379 +5s
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> connecting +5s
ioredis:redis queue command[0] -> cluster(slots) +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +2ms
ioredis:redis write command[0] -> info() +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +2ms
ioredis:connection set the connection to readonly mode +5s
ioredis:redis write command[0] -> readonly() +1ms
ioredis:connection send 1 commands in offline queue +1ms
ioredis:redis write command[0] -> cluster(slots) +0ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:6379 +5s
ioredis:redis write command[0] -> cluster(slots) +5s
ioredis:cluster getting slot cache from <IP_ADDRESS>:6379 +5s
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> connecting +5s
ioredis:redis queue command[0] -> cluster(slots) +1ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +1ms
ioredis:redis write command[0] -> info() +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +1ms
ioredis:connection send 1 commands in offline queue +10s
ioredis:redis write command[0] -> cluster(slots) +1ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:6379 +5s
ioredis:redis write command[0] -> cluster(slots) +5s
ioredis:cluster getting slot cache from <IP_ADDRESS>:6379 +5s
ioredis:redis write command[0] -> cluster(slots) +5s
ioredis:cluster getting slot cache from <IP_ADDRESS>:6379 +5s
ioredis:redis write command[0] -> cluster(slots) +5s
ioredis:cluster getting slot cache from <IP_ADDRESS>:6379 +5s
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> connecting +5s
ioredis:redis queue command[0] -> cluster(slots) +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +2ms
ioredis:redis write command[0] -> info() +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +3ms
ioredis:connection set the connection to readonly mode +20s
ioredis:redis write command[0] -> readonly() +0ms
ioredis:connection send 1 commands in offline queue +1ms
ioredis:redis write command[0] -> cluster(slots) +1ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:6379 +5s
ioredis:redis status[<IP_ADDRESS>:6379]: wait -> connecting +5s
ioredis:redis queue command[0] -> cluster(slots) +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connecting -> connect +1ms
ioredis:redis write command[0] -> info() +0ms
ioredis:redis status[<IP_ADDRESS>:6379]: connect -> ready +1ms
ioredis:connection send 1 commands in offline queue +5s
ioredis:redis write command[0] -> cluster(slots) +1ms

I tried the lazyConnect suggestion above, and the same behavior happened

If you modify it referring comment, Is there any problem?
#697

This issue has been solved in v4.2.0. Feel free to reopen this issue if the issue still exists.

this is not fixed.

@callsea1 That may be a different issue. Could you enable the debug mode (DEBUG=ioredis:* node yourapp.js) and post the logs here?

@luin  i am using version "ioredis": "^4.3.0" and still getting this error.
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.602Z ioredis:connection error: Error: connect ETIMEDOUT <IP_ADDRESS>:6379
0|main  | 2019-07-02 13:52:01 +05:30: Error Error: connect ETIMEDOUT <IP_ADDRESS>:6379
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.603Z ioredis:connection error: Error: connect ETIMEDOUT <IP_ADDRESS>:6379
0|main  | 2019-07-02 13:52:01 +05:30: Error Error: connect ETIMEDOUT <IP_ADDRESS>:6379
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.603Z ioredis:redis status[localhost:6379]: connecting -> close
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.604Z ioredis:connection reconnect in 50ms
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.604Z ioredis:redis status[localhost:6379]: close -> reconnecting
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.604Z ioredis:redis status[localhost:6379]: connecting -> close
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.604Z ioredis:connection reconnect in 50ms
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.604Z ioredis:redis status[localhost:6379]: close -> reconnecting
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.654Z ioredis:redis status[localhost:6379]: reconnecting -> connecting
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.654Z ioredis:redis status[<IP_ADDRESS>:26379]: [empty] -> connecting
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.655Z ioredis:redis queue command[<IP_ADDRESS>:26379]: 0 -> sentinel([ 'slaves', 'mymaster' ])
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.656Z ioredis:redis status[<IP_ADDRESS>:26379]: connecting -> connect
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.656Z ioredis:redis status[<IP_ADDRESS>:26379]: connect -> ready
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.656Z ioredis:connection send 1 commands in offline queue
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.656Z ioredis:redis write command[<IP_ADDRESS>:26379]: 0 -> sentinel([ 'slaves', 'mymaster' ])
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.657Z ioredis:redis status[localhost:6379]: reconnecting -> connecting
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.657Z ioredis:redis status[<IP_ADDRESS>:26379]: [empty] -> connecting
0|main  | 2019-07-02 13:52:01 +05:30: 2019-07-02T08:22:01.657Z ioredis:redis queue command[<IP_ADDRESS>:26379]: 0 -> sentinel([ 'slaves', 'mymaster' ])

Sure, this code produces several connect events maybe 10% or 20% of the time on 4.0.0 ( tested a few dozen times ) and only one event on 3.2.0 ( same amount of tries ) :
"use strict"

const redis = require('ioredis')

const client = new redis.Cluster([{
        "port": 6379,
        "host": "xxxxxxxxxxx.cache.amazonaws.com"
    },
   {
        "port": 6379,
        "host": "xxxxxxxxxxx.cache.amazonaws.com"
    }])

client.on('connect', () => {
  console.log('Connect event')
})
```l

the latest version was  still happened!
redis was connected!
[WARN] Redis server does not require a password, but a password was supplied.
redis was connected!
[WARN] Redis server does not require a password, but a password was supplied.
redis was connected!
[WARN] Redis server does not require a password, but a password was supplied.
redis was connected!
[WARN] Redis server does not require a password, but a password was supplied.
redis was connected!
[WARN] Redis server does not require a password, but a password was supplied.
redis was connected!
[WARN] Redis server does not require a password, but a password was supplied.
redis was connected!
[WARN] Redis server does not require a password, but a password was supplied.
redis was connected!
[WARN] Redis server does not require a password, but a password was supplied.
redis was connected!
[WARN] Redis server does not require a password, but a password was supplied.
redis was connected!

@luin

ioredis:cluster:connectionPool Reset with [ { port: 8000, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' } ] +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +3ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +4ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +4ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:8000 +84ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: [empty] -> wait +7ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: wait -> connecting +3ms
ioredis:redis queue command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +1ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8000 +0ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: [empty] -> wait +4ms
ioredis:cluster:subscriber started +3ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connecting -> connect +10ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> auth([ '123' ]) +1ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connect -> ready +3ms
ioredis:connection set the connection name [ioredisClusterRefresher] +0ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> client([ 'setname', 'ioredisClusterRefresher' ]) +3ms
ioredis:connection send 1 commands in offline queue +5ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +3ms
[WARN] Redis server does not require a password, but a password was supplied.
ioredis:cluster cluster slots result count: 3 +44ms
ioredis:cluster cluster slots result [0]: slots 0~5460 served by <IP_ADDRESS>:8000,<IP_ADDRESS>:8004 +2ms
ioredis:cluster cluster slots result [1]: slots 5461~10922 served by <IP_ADDRESS>:8001,<IP_ADDRESS>:8005 +1ms
ioredis:cluster cluster slots result [2]: slots 10923~16383 served by <IP_ADDRESS>:8002,<IP_ADDRESS>:8003 +1ms
ioredis:cluster:connectionPool Reset with [ { host: '<IP_ADDRESS>', port: 8000, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8004, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8001, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8005, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8002, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8003, readOnly: true } ] +55ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +8ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +27ms
ioredis:connection skip reconnecting since the connection is manually closed. +29ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +7ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +0ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +7ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +5ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +1ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +4ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8004 as slave +3ms
ioredis:redis status[<IP_ADDRESS>:8004]: [empty] -> wait +3ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8005 as slave +2ms
ioredis:redis status[<IP_ADDRESS>:8005]: [empty] -> wait +3ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8002 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8002]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8003 as slave +2ms
ioredis:redis status[<IP_ADDRESS>:8003]: [empty] -> wait +4ms
ioredis:cluster status: connecting -> connect +37ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> connecting +3ms
ioredis:redis queue command[<IP_ADDRESS>:8000]: 0 -> cluster([ 'info' ]) +0ms
ioredis:cluster:subscriber subscriber has left, selecting a new one... +76ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +25ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: close -> end +3ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8001 +6ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: [empty] -> wait +3ms
redis was connected!
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: ready -> close +5ms
ioredis:connection skip reconnecting since the connection is manually closed. +12ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: close -> end +3ms
ioredis:connection error: Error: connect ETIMEDOUT +10s
ioredis:redis status[<IP_ADDRESS>:8000]: connecting -> close +10s
ioredis:connection skip reconnecting because retryStrategy is not a function +11ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +6ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +10s
ioredis:cluster Ready check failed (Error: Connection is closed.). Reconnecting... +10s
ioredis:cluster status: connect -> disconnecting +4ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: wait -> close +19ms
ioredis:connection skip reconnecting since the connection is manually closed. +23ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: close -> end +3ms
ioredis:cluster:subscriber stopped +10s
ioredis:cluster:connectionPool Reset with [] +17ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8004 because the node does not hold any slot +5ms
ioredis:redis status[<IP_ADDRESS>:8004]: wait -> close +12ms
ioredis:connection skip reconnecting since the connection is manually closed. +15ms
ioredis:redis status[<IP_ADDRESS>:8004]: close -> end +4ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8004 from the pool +8ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +3ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +10ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +4ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +7ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8005 because the node does not hold any slot +3ms
ioredis:redis status[<IP_ADDRESS>:8005]: wait -> close +5ms
ioredis:connection skip reconnecting since the connection is manually closed. +7ms
ioredis:redis status[<IP_ADDRESS>:8005]: close -> end +1ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8005 from the pool +3ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8002 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8002]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +5ms
ioredis:redis status[<IP_ADDRESS>:8002]: close -> end +1ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8002 from the pool +3ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8003 because the node does not hold any slot +3ms
ioredis:redis status[<IP_ADDRESS>:8003]: wait -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +6ms
ioredis:redis status[<IP_ADDRESS>:8003]: close -> end +1ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8003 from the pool +4ms
ioredis:cluster status: disconnecting -> close +53ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +0ms
ioredis:cluster status: close -> close +3ms
ioredis:cluster status: close -> reconnecting +1ms
ioredis:cluster Cluster is disconnected. Retrying after 102ms +103ms
ioredis:cluster status: reconnecting -> connecting +2ms
ioredis:cluster:connectionPool Reset with [ { port: 8000, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' } ] +117ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +13ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +134ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +6ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +15ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:8001 +38ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: [empty] -> wait +8ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: wait -> connecting +5ms
ioredis:redis queue command[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +2ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8000 +208ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: [empty] -> wait +6ms
ioredis:cluster:subscriber started +5ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: connecting -> connect +7ms
ioredis:redis write command[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: 0 -> auth([ '123' ]) +2ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: connect -> ready +3ms
ioredis:connection set the connection name [ioredisClusterRefresher] +184ms
ioredis:redis write command[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: 0 -> client([ 'setname', 'ioredisClusterRefresher' ]) +3ms
ioredis:connection send 1 commands in offline queue +6ms
ioredis:redis write command[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +7ms
[WARN] Redis server does not require a password, but a password was supplied.
ioredis:cluster cluster slots result count: 3 +44ms
ioredis:cluster cluster slots result [0]: slots 10923~16383 served by <IP_ADDRESS>:8002,<IP_ADDRESS>:8003 +1ms
ioredis:cluster cluster slots result [1]: slots 5461~10922 served by <IP_ADDRESS>:8001,<IP_ADDRESS>:8005 +2ms
ioredis:cluster cluster slots result [2]: slots 0~5460 served by <IP_ADDRESS>:8000,<IP_ADDRESS>:8004 +1ms
ioredis:cluster:connectionPool Reset with [ { host: '<IP_ADDRESS>', port: 8002, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8003, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8001, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8005, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8000, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8004, readOnly: true } ] +65ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +6ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +17ms
ioredis:connection skip reconnecting since the connection is manually closed. +21ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +6ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +5ms
ioredis:connection skip reconnecting since the connection is manually closed. +7ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +1ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +3ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8002 as master +1ms
ioredis:redis status[<IP_ADDRESS>:8002]: [empty] -> wait +3ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8003 as slave +3ms
ioredis:redis status[<IP_ADDRESS>:8003]: [empty] -> wait +3ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8005 as slave +1ms
ioredis:redis status[<IP_ADDRESS>:8005]: [empty] -> wait +1ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8004 as slave +3ms
ioredis:redis status[<IP_ADDRESS>:8004]: [empty] -> wait +5ms
ioredis:cluster status: connecting -> connect +35ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> connecting +2ms
ioredis:redis queue command[<IP_ADDRESS>:8001]: 0 -> cluster([ 'info' ]) +1ms
ioredis:cluster:subscriber subscriber has left, selecting a new one... +66ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: wait -> close +2ms
ioredis:connection skip reconnecting since the connection is manually closed. +22ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: close -> end +1ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8004 +3ms
ioredis:redis status[<IP_ADDRESS>:8004 (ioredisClusterSubscriber)]: [empty] -> wait +2ms
redis was connected!
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: ready -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +9ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: close -> end +1ms
ioredis:connection error: Error: connect ETIMEDOUT +10s
ioredis:redis status[<IP_ADDRESS>:8001]: connecting -> close +10s
ioredis:connection skip reconnecting because retryStrategy is not a function +4ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +10s
ioredis:cluster Ready check failed (Error: Connection is closed.). Reconnecting... +10s
ioredis:cluster status: connect -> disconnecting +1ms
ioredis:redis status[<IP_ADDRESS>:8004 (ioredisClusterSubscriber)]: wait -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +10ms
ioredis:redis status[<IP_ADDRESS>:8004 (ioredisClusterSubscriber)]: close -> end +4ms
ioredis:cluster:subscriber stopped +10s
ioredis:cluster:connectionPool Reset with [] +9ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8002 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8002]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +6ms
ioredis:redis status[<IP_ADDRESS>:8002]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8002 from the pool +7ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8003 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8003]: wait -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +8ms
ioredis:redis status[<IP_ADDRESS>:8003]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8003 from the pool +4ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8005 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8005]: wait -> close +10ms
ioredis:connection skip reconnecting since the connection is manually closed. +14ms
ioredis:redis status[<IP_ADDRESS>:8005]: close -> end +6ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8005 from the pool +21ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +4ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +13ms
ioredis:connection skip reconnecting since the connection is manually closed. +20ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +6ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +10ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8004 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8004]: wait -> close +10ms
ioredis:connection skip reconnecting since the connection is manually closed. +14ms
ioredis:redis status[<IP_ADDRESS>:8004]: close -> end +4ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8004 from the pool +12ms
ioredis:cluster status: disconnecting -> close +71ms
ioredis:cluster status: close -> close +6ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +2ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> reconnecting +1ms
ioredis:cluster Cluster is disconnected. Retrying after 104ms +107ms
ioredis:cluster status: reconnecting -> connecting +1ms
ioredis:cluster:connectionPool Reset with [ { port: 8000, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' } ] +124ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +18ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +150ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +11ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +10ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:8000 +40ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: [empty] -> wait +8ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: wait -> connecting +1ms
ioredis:redis queue command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +2ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8001 +236ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: [empty] -> wait +5ms
ioredis:cluster:subscriber started +6ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connecting -> connect +8ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> auth([ '123' ]) +1ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connect -> ready +3ms
ioredis:connection set the connection name [ioredisClusterRefresher] +193ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> client([ 'setname', 'ioredisClusterRefresher' ]) +6ms
ioredis:connection send 1 commands in offline queue +6ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +5ms
[WARN] Redis server does not require a password, but a password was supplied.
ioredis:cluster cluster slots result count: 3 +50ms
ioredis:cluster cluster slots result [0]: slots 0~5460 served by <IP_ADDRESS>:8000,<IP_ADDRESS>:8004 +1ms
ioredis:cluster cluster slots result [1]: slots 5461~10922 served by <IP_ADDRESS>:8001,<IP_ADDRESS>:8005 +3ms
ioredis:cluster cluster slots result [2]: slots 10923~16383 served by <IP_ADDRESS>:8002,<IP_ADDRESS>:8003 +2ms
ioredis:cluster:connectionPool Reset with [ { host: '<IP_ADDRESS>', port: 8000, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8004, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8001, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8005, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8002, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8003, readOnly: true } ] +64ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +11ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +32ms
ioredis:connection skip reconnecting since the connection is manually closed. +35ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +6ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +7ms
ioredis:connection skip reconnecting since the connection is manually closed. +9ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +5ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +6ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8004 as slave +4ms
ioredis:redis status[<IP_ADDRESS>:8004]: [empty] -> wait +3ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8005 as slave +3ms
ioredis:redis status[<IP_ADDRESS>:8005]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8002 as master +5ms
ioredis:redis status[<IP_ADDRESS>:8002]: [empty] -> wait +6ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8003 as slave +4ms
ioredis:redis status[<IP_ADDRESS>:8003]: [empty] -> wait +3ms
ioredis:cluster status: connecting -> connect +47ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> connecting +2ms
ioredis:redis queue command[<IP_ADDRESS>:8000]: 0 -> cluster([ 'info' ]) +1ms
ioredis:cluster:subscriber subscriber has left, selecting a new one... +88ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +30ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: close -> end +4ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8001 +7ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: [empty] -> wait +2ms
redis was connected!
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: ready -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +10ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: close -> end +3ms

ioredis:cluster:connectionPool Reset with [ { port: 8000, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' } ] +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +5ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +0ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +3ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +3ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:8001 +96ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: [empty] -> wait +5ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: wait -> connecting +4ms
ioredis:redis queue command[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +1ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8001 +0ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: [empty] -> wait +3ms
ioredis:cluster:subscriber started +3ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: connecting -> connect +13ms
ioredis:redis write command[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: 0 -> auth([ '123' ]) +1ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: connect -> ready +5ms
ioredis:connection set the connection name [ioredisClusterRefresher] +0ms
ioredis:redis write command[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: 0 -> client([ 'setname', 'ioredisClusterRefresher' ]) +3ms
ioredis:connection send 1 commands in offline queue +4ms
ioredis:redis write command[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +4ms
[WARN] Redis server does not require a password, but a password was supplied.
ioredis:cluster cluster slots result count: 3 +51ms
ioredis:cluster cluster slots result [0]: slots 10923~16383 served by <IP_ADDRESS>:8002,<IP_ADDRESS>:8003 +1ms
ioredis:cluster cluster slots result [1]: slots 5461~10922 served by <IP_ADDRESS>:8001,<IP_ADDRESS>:8005 +3ms
ioredis:cluster cluster slots result [2]: slots 0~5460 served by <IP_ADDRESS>:8000,<IP_ADDRESS>:8004 +1ms
ioredis:cluster:connectionPool Reset with [ { host: '<IP_ADDRESS>', port: 8002, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8003, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8001, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8005, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8000, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8004, readOnly: true } ] +62ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +10ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +32ms
ioredis:connection skip reconnecting since the connection is manually closed. +34ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +6ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +5ms
ioredis:connection skip reconnecting since the connection is manually closed. +7ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +4ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8002 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8002]: [empty] -> wait +6ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8003 as slave +3ms
ioredis:redis status[<IP_ADDRESS>:8003]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8005 as slave +3ms
ioredis:redis status[<IP_ADDRESS>:8005]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +4ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8004 as slave +4ms
ioredis:redis status[<IP_ADDRESS>:8004]: [empty] -> wait +2ms
ioredis:cluster status: connecting -> connect +42ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> connecting +4ms
ioredis:redis queue command[<IP_ADDRESS>:8000]: 0 -> cluster([ 'info' ]) +1ms
ioredis:cluster:subscriber subscriber has left, selecting a new one... +89ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +28ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: close -> end +1ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8003 +4ms
ioredis:redis status[<IP_ADDRESS>:8003 (ioredisClusterSubscriber)]: [empty] -> wait +2ms
redis was connected!
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: ready -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +10ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterRefresher)]: close -> end +3ms
ioredis:connection error: Error: connect ETIMEDOUT +10s
ioredis:redis status[<IP_ADDRESS>:8000]: connecting -> close +10s
ioredis:connection skip reconnecting because retryStrategy is not a function +7ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +7ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +10s
ioredis:cluster Ready check failed (Error: Connection is closed.). Reconnecting... +10s
ioredis:cluster status: connect -> disconnecting +6ms
ioredis:redis status[<IP_ADDRESS>:8003 (ioredisClusterSubscriber)]: wait -> close +24ms
ioredis:connection skip reconnecting since the connection is manually closed. +34ms
ioredis:redis status[<IP_ADDRESS>:8003 (ioredisClusterSubscriber)]: close -> end +7ms
ioredis:cluster:subscriber stopped +10s
ioredis:cluster:connectionPool Reset with [] +25ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8002 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8002]: wait -> close +9ms
ioredis:connection skip reconnecting since the connection is manually closed. +14ms
ioredis:redis status[<IP_ADDRESS>:8002]: close -> end +4ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8002 from the pool +9ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8003 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8003]: wait -> close +7ms
ioredis:connection skip reconnecting since the connection is manually closed. +9ms
ioredis:redis status[<IP_ADDRESS>:8003]: close -> end +4ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8003 from the pool +9ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +9ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +5ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8005 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8005]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +5ms
ioredis:redis status[<IP_ADDRESS>:8005]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8005 from the pool +4ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8004 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8004]: wait -> close +5ms
ioredis:connection skip reconnecting since the connection is manually closed. +8ms
ioredis:redis status[<IP_ADDRESS>:8004]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8004 from the pool +6ms
ioredis:cluster status: disconnecting -> close +58ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +0ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> reconnecting +3ms
ioredis:cluster Cluster is disconnected. Retrying after 102ms +105ms
ioredis:cluster status: reconnecting -> connecting +2ms
ioredis:cluster:connectionPool Reset with [ { port: 8000, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' } ] +119ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +13ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +135ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +3ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +3ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:8000 +26ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: [empty] -> wait +8ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: wait -> connecting +1ms
ioredis:redis queue command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +2ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8001 +192ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: [empty] -> wait +6ms
ioredis:cluster:subscriber started +6ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connecting -> connect +7ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> auth([ '123' ]) +2ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connect -> ready +3ms
ioredis:connection set the connection name [ioredisClusterRefresher] +168ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> client([ 'setname', 'ioredisClusterRefresher' ]) +3ms
ioredis:connection send 1 commands in offline queue +4ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +4ms
[WARN] Redis server does not require a password, but a password was supplied.
ioredis:cluster cluster slots result count: 3 +37ms
ioredis:cluster cluster slots result [0]: slots 0~5460 served by <IP_ADDRESS>:8000,<IP_ADDRESS>:8004 +0ms
ioredis:cluster cluster slots result [1]: slots 5461~10922 served by <IP_ADDRESS>:8001,<IP_ADDRESS>:8005 +3ms
ioredis:cluster cluster slots result [2]: slots 10923~16383 served by <IP_ADDRESS>:8002,<IP_ADDRESS>:8003 +1ms
ioredis:cluster:connectionPool Reset with [ { host: '<IP_ADDRESS>', port: 8000, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8004, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8001, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8005, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8002, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8003, readOnly: true } ] +49ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +8ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +21ms
ioredis:connection skip reconnecting since the connection is manually closed. +24ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +6ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +7ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +6ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +1ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +4ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8004 as slave +2ms
ioredis:redis status[<IP_ADDRESS>:8004]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8005 as slave +4ms
ioredis:redis status[<IP_ADDRESS>:8005]: [empty] -> wait +4ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8002 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8002]: [empty] -> wait +4ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8003 as slave +4ms
ioredis:redis status[<IP_ADDRESS>:8003]: [empty] -> wait +2ms
ioredis:cluster status: connecting -> connect +41ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> connecting +3ms
ioredis:redis queue command[<IP_ADDRESS>:8000]: 0 -> cluster([ 'info' ]) +1ms
ioredis:cluster:subscriber subscriber has left, selecting a new one... +72ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +28ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: close -> end +2ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8001 +5ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: [empty] -> wait +3ms
redis was connected!
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: ready -> close +5ms
ioredis:connection skip reconnecting since the connection is manually closed. +9ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: close -> end +1ms
ioredis:connection error: Error: connect ETIMEDOUT +10s
ioredis:redis status[<IP_ADDRESS>:8000]: connecting -> close +10s
ioredis:connection skip reconnecting because retryStrategy is not a function +5ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +7ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +10s
ioredis:cluster Ready check failed (Error: Connection is closed.). Reconnecting... +10s
ioredis:cluster status: connect -> disconnecting +4ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: wait -> close +26ms
ioredis:connection skip reconnecting since the connection is manually closed. +33ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: close -> end +4ms
ioredis:cluster:subscriber stopped +10s
ioredis:cluster:connectionPool Reset with [] +34ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8004 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8004]: wait -> close +14ms
ioredis:connection skip reconnecting since the connection is manually closed. +17ms
ioredis:redis status[<IP_ADDRESS>:8004]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8004 from the pool +11ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +8ms
ioredis:connection skip reconnecting since the connection is manually closed. +10ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +5ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8005 because the node does not hold any slot +0ms
ioredis:redis status[<IP_ADDRESS>:8005]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +6ms
ioredis:redis status[<IP_ADDRESS>:8005]: close -> end +4ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8005 from the pool +6ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8002 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8002]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +6ms
ioredis:redis status[<IP_ADDRESS>:8002]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8002 from the pool +4ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8003 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8003]: wait -> close +5ms
ioredis:connection skip reconnecting since the connection is manually closed. +6ms
ioredis:redis status[<IP_ADDRESS>:8003]: close -> end +1ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8003 from the pool +4ms
ioredis:cluster status: disconnecting -> close +55ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +3ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> reconnecting +1ms
ioredis:cluster Cluster is disconnected. Retrying after 104ms +106ms
ioredis:cluster status: reconnecting -> connecting +2ms
ioredis:cluster:connectionPool Reset with [ { port: 8000, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' } ] +121ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +15ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +142ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +11ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +10ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:8000 +35ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: [empty] -> wait +9ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: wait -> connecting +1ms
ioredis:redis queue command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +2ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8001 +206ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: [empty] -> wait +4ms
ioredis:cluster:subscriber started +4ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connecting -> connect +7ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> auth([ '123' ]) +1ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connect -> ready +2ms
ioredis:connection set the connection name [ioredisClusterRefresher] +183ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> client([ 'setname', 'ioredisClusterRefresher' ]) +5ms
ioredis:connection send 1 commands in offline queue +3ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +5ms
[WARN] Redis server does not require a password, but a password was supplied.
ioredis:cluster cluster slots result count: 3 +42ms
ioredis:cluster cluster slots result [0]: slots 0~5460 served by <IP_ADDRESS>:8000,<IP_ADDRESS>:8004 +0ms
ioredis:cluster cluster slots result [1]: slots 5461~10922 served by <IP_ADDRESS>:8001,<IP_ADDRESS>:8005 +2ms
ioredis:cluster cluster slots result [2]: slots 10923~16383 served by <IP_ADDRESS>:8002,<IP_ADDRESS>:8003 +1ms
ioredis:cluster:connectionPool Reset with [ { host: '<IP_ADDRESS>', port: 8000, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8004, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8001, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8005, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8002, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8003, readOnly: true } ] +52ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +8ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +21ms
ioredis:connection skip reconnecting since the connection is manually closed. +26ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +4ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +6ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +7ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +4ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +1ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +7ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8004 as slave +5ms
ioredis:redis status[<IP_ADDRESS>:8004]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +3ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8005 as slave +2ms
ioredis:redis status[<IP_ADDRESS>:8005]: [empty] -> wait +3ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8002 as master +3ms
ioredis:redis status[<IP_ADDRESS>:8002]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8003 as slave +2ms
ioredis:redis status[<IP_ADDRESS>:8003]: [empty] -> wait +2ms
ioredis:cluster status: connecting -> connect +39ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> connecting +2ms
ioredis:redis queue command[<IP_ADDRESS>:8001]: 0 -> cluster([ 'info' ]) +1ms
ioredis:cluster:subscriber subscriber has left, selecting a new one... +70ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +26ms
ioredis:redis status[<IP_ADDRESS>:8001 (ioredisClusterSubscriber)]: close -> end +2ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8003 +5ms
ioredis:redis status[<IP_ADDRESS>:8003 (ioredisClusterSubscriber)]: [empty] -> wait +2ms
redis was connected!
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: ready -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +7ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: close -> end +2ms
ioredis:connection error: Error: connect ETIMEDOUT +10s
ioredis:redis status[<IP_ADDRESS>:8001]: connecting -> close +10s
ioredis:connection skip reconnecting because retryStrategy is not a function +5ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +10ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +10s
ioredis:cluster Ready check failed (Error: Connection is closed.). Reconnecting... +10s
ioredis:cluster status: connect -> disconnecting +6ms
ioredis:redis status[<IP_ADDRESS>:8003 (ioredisClusterSubscriber)]: wait -> close +18ms
ioredis:connection skip reconnecting since the connection is manually closed. +38ms
ioredis:redis status[<IP_ADDRESS>:8003 (ioredisClusterSubscriber)]: close -> end +19ms
ioredis:cluster:subscriber stopped +10s
ioredis:cluster:connectionPool Reset with [] +36ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +14ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +5ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +7ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8004 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8004]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +9ms
ioredis:redis status[<IP_ADDRESS>:8004]: close -> end +4ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8004 from the pool +8ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8005 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8005]: wait -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +10ms
ioredis:redis status[<IP_ADDRESS>:8005]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8005 from the pool +7ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8002 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8002]: wait -> close +5ms
ioredis:connection skip reconnecting since the connection is manually closed. +7ms
ioredis:redis status[<IP_ADDRESS>:8002]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8002 from the pool +4ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8003 because the node does not hold any slot +0ms
ioredis:redis status[<IP_ADDRESS>:8003]: wait -> close +2ms
ioredis:connection skip reconnecting since the connection is manually closed. +4ms
ioredis:redis status[<IP_ADDRESS>:8003]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8003 from the pool +6ms
ioredis:cluster status: disconnecting -> close +67ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> reconnecting +5ms
ioredis:cluster Cluster is disconnected. Retrying after 106ms +106ms
ioredis:cluster status: reconnecting -> connecting +4ms
ioredis:cluster:connectionPool Reset with [ { port: 8000, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' } ] +123ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +16ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +148ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +7ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +5ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:8000 +36ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: [empty] -> wait +12ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: wait -> connecting +9ms
ioredis:redis queue command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +1ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8000 +216ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: [empty] -> wait +5ms
ioredis:cluster:subscriber started +3ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connecting -> connect +8ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> auth([ '123' ]) +1ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connect -> ready +2ms
ioredis:connection set the connection name [ioredisClusterRefresher] +193ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> client([ 'setname', 'ioredisClusterRefresher' ]) +5ms
ioredis:connection send 1 commands in offline queue +10ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +8ms
[WARN] Redis server does not require a password, but a password was supplied.
ioredis:cluster cluster slots result count: 3 +49ms
ioredis:cluster cluster slots result [0]: slots 0~5460 served by <IP_ADDRESS>:8000,<IP_ADDRESS>:8004 +0ms
ioredis:cluster cluster slots result [1]: slots 5461~10922 served by <IP_ADDRESS>:8001,<IP_ADDRESS>:8005 +2ms
ioredis:cluster cluster slots result [2]: slots 10923~16383 served by <IP_ADDRESS>:8002,<IP_ADDRESS>:8003 +1ms
ioredis:cluster:connectionPool Reset with [ { host: '<IP_ADDRESS>', port: 8000, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8004, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8001, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8005, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8002, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8003, readOnly: true } ] +63ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +10ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +19ms
ioredis:connection skip reconnecting since the connection is manually closed. +22ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +6ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +9ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +5ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +0ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +6ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8004 as slave +5ms
ioredis:redis status[<IP_ADDRESS>:8004]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +7ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8005 as slave +7ms
ioredis:redis status[<IP_ADDRESS>:8005]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8002 as master +1ms
ioredis:redis status[<IP_ADDRESS>:8002]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8003 as slave +2ms
ioredis:redis status[<IP_ADDRESS>:8003]: [empty] -> wait +2ms
ioredis:cluster status: connecting -> connect +44ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> connecting +2ms
ioredis:redis queue command[<IP_ADDRESS>:8000]: 0 -> cluster([ 'info' ]) +3ms
ioredis:cluster:subscriber subscriber has left, selecting a new one... +79ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: wait -> close +2ms
ioredis:connection skip reconnecting since the connection is manually closed. +29ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: close -> end +2ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8003 +4ms
ioredis:redis status[<IP_ADDRESS>:8003 (ioredisClusterSubscriber)]: [empty] -> wait +2ms
redis was connected!
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: ready -> close +7ms
ioredis:connection skip reconnecting since the connection is manually closed. +10ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: close -> end +2ms
ioredis:connection error: Error: connect ETIMEDOUT +10s
ioredis:redis status[<IP_ADDRESS>:8000]: connecting -> close +10s
ioredis:connection skip reconnecting because retryStrategy is not a function +1ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +0ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +10s
ioredis:cluster Ready check failed (Error: Connection is closed.). Reconnecting... +10s
ioredis:cluster status: connect -> disconnecting +0ms
ioredis:redis status[<IP_ADDRESS>:8003 (ioredisClusterSubscriber)]: wait -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +2ms
ioredis:redis status[<IP_ADDRESS>:8003 (ioredisClusterSubscriber)]: close -> end +1ms
ioredis:cluster:subscriber stopped +10s
ioredis:cluster:connectionPool Reset with [] +1ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8004 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8004]: wait -> close +1ms
ioredis:connection skip reconnecting since the connection is manually closed. +1ms
ioredis:redis status[<IP_ADDRESS>:8004]: close -> end +1ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8004 from the pool +3ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +9ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +6ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +9ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8005 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8005]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +7ms
ioredis:redis status[<IP_ADDRESS>:8005]: close -> end +6ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8005 from the pool +8ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8002 because the node does not hold any slot +2ms
ioredis:redis status[<IP_ADDRESS>:8002]: wait -> close +4ms
ioredis:connection skip reconnecting since the connection is manually closed. +11ms
ioredis:redis status[<IP_ADDRESS>:8002]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8002 from the pool +7ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8003 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8003]: wait -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +9ms
ioredis:redis status[<IP_ADDRESS>:8003]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8003 from the pool +6ms
ioredis:cluster status: disconnecting -> close +41ms
ioredis:cluster status: close -> close +3ms
ioredis:cluster status: close -> close +2ms
ioredis:cluster status: close -> close +2ms
ioredis:cluster status: close -> close +1ms
ioredis:cluster status: close -> reconnecting +1ms
ioredis:cluster Cluster is disconnected. Retrying after 108ms +109ms
ioredis:cluster status: reconnecting -> connecting +2ms
ioredis:cluster:connectionPool Reset with [ { port: 8000, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' },
ioredis:cluster:connectionPool   { port: 8001, host: '<IP_ADDRESS>', password: '123' } ] +126ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +16ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +147ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +8ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +6ms
ioredis:cluster getting slot cache from <IP_ADDRESS>:8000 +33ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: [empty] -> wait +5ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: wait -> connecting +3ms
ioredis:redis queue command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +2ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8000 +203ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: [empty] -> wait +4ms
ioredis:cluster:subscriber started +7ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connecting -> connect +10ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> auth([ '123' ]) +1ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: connect -> ready +2ms
ioredis:connection set the connection name [ioredisClusterRefresher] +183ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> client([ 'setname', 'ioredisClusterRefresher' ]) +3ms
ioredis:connection send 1 commands in offline queue +4ms
ioredis:redis write command[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: 0 -> cluster([ 'slots' ]) +5ms
[WARN] Redis server does not require a password, but a password was supplied.
ioredis:cluster cluster slots result count: 3 +39ms
ioredis:cluster cluster slots result [0]: slots 0~5460 served by <IP_ADDRESS>:8000,<IP_ADDRESS>:8004 +4ms
ioredis:cluster cluster slots result [1]: slots 5461~10922 served by <IP_ADDRESS>:8001,<IP_ADDRESS>:8005 +2ms
ioredis:cluster cluster slots result [2]: slots 10923~16383 served by <IP_ADDRESS>:8002,<IP_ADDRESS>:8003 +1ms
ioredis:cluster:connectionPool Reset with [ { host: '<IP_ADDRESS>', port: 8000, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8004, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8001, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8005, readOnly: true },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8002, readOnly: false },
ioredis:cluster:connectionPool   { host: '<IP_ADDRESS>', port: 8003, readOnly: true } ] +53ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8000 because the node does not hold any slot +7ms
ioredis:redis status[<IP_ADDRESS>:8000]: wait -> close +26ms
ioredis:connection skip reconnecting since the connection is manually closed. +29ms
ioredis:redis status[<IP_ADDRESS>:8000]: close -> end +3ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8000 from the pool +7ms
ioredis:cluster:connectionPool Disconnect <IP_ADDRESS>:8001 because the node does not hold any slot +1ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +6ms
ioredis:redis status[<IP_ADDRESS>:8001]: close -> end +2ms
ioredis:cluster:connectionPool Remove <IP_ADDRESS>:8001 from the pool +7ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8000 as master +1ms
ioredis:redis status[<IP_ADDRESS>:8000]: [empty] -> wait +7ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8004 as slave +3ms
ioredis:redis status[<IP_ADDRESS>:8004]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8001 as master +2ms
ioredis:redis status[<IP_ADDRESS>:8001]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8005 as slave +3ms
ioredis:redis status[<IP_ADDRESS>:8005]: [empty] -> wait +4ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8002 as master +3ms
ioredis:redis status[<IP_ADDRESS>:8002]: [empty] -> wait +2ms
ioredis:cluster:connectionPool Connecting to <IP_ADDRESS>:8003 as slave +2ms
ioredis:redis status[<IP_ADDRESS>:8003]: [empty] -> wait +3ms
ioredis:cluster status: connecting -> connect +42ms
ioredis:redis status[<IP_ADDRESS>:8001]: wait -> connecting +3ms
ioredis:redis queue command[<IP_ADDRESS>:8001]: 0 -> cluster([ 'info' ]) +1ms
ioredis:cluster:subscriber subscriber has left, selecting a new one... +76ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: wait -> close +3ms
ioredis:connection skip reconnecting since the connection is manually closed. +29ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterSubscriber)]: close -> end +2ms
ioredis:cluster:subscriber selected a subscriber <IP_ADDRESS>:8005 +4ms
ioredis:redis status[<IP_ADDRESS>:8005 (ioredisClusterSubscriber)]: [empty] -> wait +2ms
redis was connected!
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: ready -> close +6ms
ioredis:connection skip reconnecting since the connection is manually closed. +10ms
ioredis:redis status[<IP_ADDRESS>:8000 (ioredisClusterRefresher)]: close -> end +2ms

still have this issue in 4.16.3

still have the same issue..

still have the same issue... , by the way i use upstash redis,
but still work if i used docker redis


population meaning in mueller_approval_polls

I am wondering what the column population means in the mueller_approval_polls dataset? It only has 2 types of observations under this column: rv & a). Thank you!

That's either "registered voters" or "adults"


Assertion Error Fix

AssertionErrors won't show up when the user makes a syntax error in numbers or durations.
(They will instead receive a proper SyntaxError message instead of "Programming error")

LGTM


Remote image optimization fails if content-type contains charset parameter

Hi,
we're currently running into the issue that if a remote image https://test.com/foo.jpg responds with the content-type content-type: image/jpeg;charset=UTF-8, the image will be locally saved as foo.jpg.jpeg;charset=UTF-8. This breaks the optimization of the remote image and no WEBP images are generated.
I guess that we need to further split the string if the imageFormat string contains a semicolon.
You can reproduce the issue with this remote image.
Best wishes,
Eduard

Wow, I'm really impressed. Thank you for providing a fix for this super fast!
I can confirm that #169 resolves this issue. 🎉


Is it normal that "admin/users" and "admin/users/" routes considered by backone as different?

Is it normal that "admin/users" and "admin/users/" routes considered by backone as different?

Yes, those are two different routes. See e.g. #848 for more information

I see. Thanks.


[Raspberry Pi, Ubuntu Mate, systemd] Make bleno Node.js app start automatically and keep alive.

I'm trying to auto start and keep alive my Node.js app featuring bleno.
However, I can't get it to work:
Info:

Raspberry Pi 3
Ubuntu Mate 15.04
node -v 8.6.0
npm -v 5.3.0

I created a service for systemd tool.
The service file is located at /etc/systemd/system.

The following is my Node entrance file index.js:

I've activated the service using sudo systemctl enable mx-ble-node.
After sudo reboot, systemctl status mx-ble-node shows this:

Note that bleno.state == powerdOff.
bleno is not advertising. onStateChange is never called.
However, if I sudo systemctl restart mx-ble-node, and systemctl status mx-ble-node after that I get:

Note that this time, bleno.state == 'unknown'.
onStateChange is called and the service is advertised correctly.
Things I've checked so far:

Service is running (enabled)
Executed sudo setcap cap_net_raw+eip $(eval readlink -f which node)
No difference if I start my service After= or Before= bluetooth.target.
No difference if bluetooth service is enabled or disabled. (bleno README suggests disabling it)

Why isn't it working after boot, but after manual service restart?

Did you resolved the problem?

Nope. Getting no answer at all to my question here kind of discouraged me...

Not sure if you got and answer but I tried this after reading the referenced threads. I added:
After=hciuart.service

to the service file. Also I have the bluetooth service disabled per bleno recommendation.

I have read all of this but I can't clearly se the working answere ?
HIs there any working solution for this ?

Hi
I'm not sure if this is the best or at least correct way to do this, but it worked for me on Raspberry pi 3B+ running Raspbian stretch, here is my service file
[Unit]
Description=Sexbot bluetooth LE peripheral
After=sys-subsystem-bluetooth-devices-hci0.device
Wants=sys-subsystem-bluetooth-devices-hci0.device
Requires=sys-subsystem-bluetooth-devices-hci0.device

To find what dependency to add I used systemd-analize to generate an startup order graph using the following command
systemd-analyze plot > startup_order.svg
Then opened with xdg-open startup_order.svg

on raspbian-lite I had to delay more the start so the service file ended like this
[Unit]
Description=Sexbot bluetooth LE peripheral
After=multi-user.target
Wants=sys-subsystem-bluetooth-devices-hci0.device
Requires=bluetooth.target