Ok. Lets imagine: the truncate command (lets say for “prod.valuable”) was sent to some server in cluster, the set was not found so the command was broadcasted over a cluster and again there is no a specified set. Finally, the command is stored in SMD. Did I write correct scenario?
A new server has been prepared with prod.valuable and filled in with data. When the server is joined to cluster will truncate command be taken from SMD and applied to a newly joined server?
The command is always broadcast and stored, then executed.
Yes it will be truncated to the written last-update-time value. If this value is prior to filling the set, then the truncate is a noop.
Yes, but it isn’t recommended and requires a cluster shutdown.
The SMD files are located in the smd directory in /opt/aerospike. For truncate, you can remove an SMD value from the cluster with the truncate-undo command. This replicates and writes a tombstone over the current SMD value.