Reputation: 2352
This is something reading the docs over and over did not clarify for me.
a. I have an unhealthy, inaccessible node - let's call it Node A - which I want to remove from the Riak cluster and replace with a new, healthy Node B.
b. I want to do this while minimizing cluster traffic to "repopulate" Node B with the data Node A was supposed to have.
c. I assume I can do this by starting Node B even from an hour-old backup of Node A's data
d. However, since the name of the node changes (from Node A to Node B), I have to first join
Node B as an entirely new node on the cluster, and then use cluster force-replace
to replace Node A with Node B.
My question is - would this process result in:
a. The existing backed-up data on Node B being respected and only the gaps from the last hour being filled in by Read Repair
b. Or, the backed-up data on Node B being ignored completely (since the backup is for "Node A" while the running node is "Node B") and Node B being flushed with traffic from other nodes trying to populate it with data from scratch.
Maybe I'm just not reading something right or spending too much time thinking about this. Let me know how this would work.
Thanks!!
Upvotes: 2
Views: 183
Reputation: 26
Dev:
What riak-admin cluster force-replace
does is reassign the ownership of the partitions to the joining node. You would end up at (A): the existing data would be used and the remaining hour would be filled in via read repair.
There are some documentation changes in the pipeline that should make this process a little clearer. Sorry for any confusion you had.
Hope this helps,
Charlie Voiselle
[email protected]
Upvotes: 1