Hi Folks,
I've been testing my Redis Cluster under load, and recently performed an add-node operation as such:
ruby ./bin/redis-trib.rb add-node --slave --master-id MASTER_NODE_ID NEW_NODE_IP:6379 RANDOM_NODE_IP:6379
After executing this command, I noticed that the new node was immediately added to the cluster topology and began serving requests while it was still syncing with the master even though it didn't even have its data set loaded into memory yet.
Of course all of these requests resulted in key space misses causing client failures during the entire sync process, which in my case takes hours to complete.
Is this the expected behavior when adding nodes at runtime? Is there a less intrusive way to scale up the cluster while avoiding what is in effect an outage in my use case?
Thanks!
Kevin