A quick update.
We have tested it in 5node cluster in stg with 500M data.
-
asinfo -v "set-config:context=service;migrate-threads=0"
→ No threads will be given for cluster to migrate. (Dynamic Variable).
- Restarted node2 aerospike. Ensured migrate-threads = 0 in aerospike.conf as well. Since dynamic change might not take effect after restart.
- checked aerospike << info >>
Pending
migrates Objects (Master,Prole,Non-Replica)
Host tx, rx
stg-aerospiketest001 (417.000, 417.000) (21.296 K, 11.610 K, 0.000)
stg-aerospiketest002 (410.000, 410.000) (21.264 K, 12.365 K, 0.000)
stg-aerospiketest003 (1.640 K, 1.640 K) (0.000, 32.973 K, 0.000) --> Restarted node
stg-aerospiketest004 (405.000, 405.000) (19.795 K, 13.309 K, 0.000)
stg-aerospiketest005 (408.000, 408.000) (20.137 K, 12.235 K, 0.000)
(82.492 K, 82.492 K) (82.492 K, 82.492 K, 0.000)
Looks like the migrates flag will be on and data transfer will try to kick in but it won’t start nodewise data transfers as we have migrate-threads=0 . Also Master objects are not set for restarted node.
This situation will change only when migrate threads > 0 .
Once migrate-threads is set > 0, the data transfer happens and cluster will be equally spread and migrates column will be 0,0.
Pending
Migrates
(tx,rx)
(0.000, 0.000)
(0.000, 0.000)
(0.000, 0.000)
(0.000, 0.000)
(0.000, 0.000)
(0.000,
Is it possible to stop the migrations/shard movement for a node restart in aerospike? Answer is No