4

I have a cluster with replication factor of 6 (and 6 nodes).

I want to change the replication factor to 3 without downtime.

What happens if I change the RF node by node and restart each node?

Is it possible to work?

Daniel Cukier
  • 11,502
  • 15
  • 68
  • 123

2 Answers2

5

Replication factor is unanimous which means it has to be the same for all cluster nodes. It requires a cluster restart to change.

http://www.aerospike.com/docs/reference/configuration/#replication-factor

Ben Bates
  • 707
  • 3
  • 7
  • Going from the docs and into purgatory... If you were to change this via a rolling restart, you would probably want to disable your write load. Interim migrations **may** fail because not all nodes will be operating on the same migration schedule... but the final round of migrations **should** work out. – kporter Jan 08 '16 at 23:37
  • 1
    What do you mean by rolling restar? What is disabling write load and how to do that? Can I securely change the replication-factor node by node without writes to the database? Reads will work properly? – Daniel Cukier Jan 09 '16 at 22:54
2

A rolling restart is when you restart one node at a time. Disabling write load means stopping your application sending writes to the database. If you are not sending new writes (remember this would include deletes and updates) then reads would be ok during this process.

Ben Bates
  • 707
  • 3
  • 7