Hi,
Could someone please tell me how we can retain the LUT of records when we backup and restore the complete data of a cluster using asbackup and asrestore utilities?
I read the below in the documentation:
Prerequisites and notes for restore
asrestore can restore only backups from Aerospike Server and tools version 3.0 or later. To restore a backup from earlier releases, contact Aerospike Support.
The TTL of restored keys is preserved, but the last-update-time and generation count are reset to the current time.
But wanted to make sure if there are any other ways of migrating a cluster and retaining its LUT.
The LUT is currently not returned in the wire protocol to any clients, including the asbackup ‘client’.
The LUT of a record is always set to the current time whenever the record is updated and there is no way to change that (one would have to also be very careful if there ever would be a way to interfere with the LUT).
Yeah… but not sure how we would deal with the semantics of the LUT if you allow to ‘revisit history’ even though I definitely see the use of such feature for restore which, I guess is a way to ‘revisit history’ and go back in time…
You can have your own bin in the record that stores LUT inserted by the client, if that helps. Then that would be carried by the asbackup and asrestore, as is.
Apparently, I think this would need code change from the application side, and the use case of retaining LUT for us is to perform truncates as an Aerospike Administrator from asadm.