Aerospike Backup Service 3.0.0 Release Notes
January 14, 2025
New in this versionโ
This version introduces support for GCP and Azure cloud storage, along with a variety of improvements and fixes to enhance performance, usability, and reliability.
New featuresโ
- Cloud storage support: Added support for Azure Blob Storage and GCP storage. [APPS-1299][APPS-1279]
- Introduced NodeList configuration property for the BackupRoutine. [APPS-1336]
- Added support for configuring Aerospike cluster password in Secret Agent. [APPS-1321]
- Reviewed and updated default configuration values for better out-of-the-box experience. [APPS-1349]
Improvementsโ
- Optimized โLast Backup Runโ field for better performance. [APPS-1351]
- Improved handling of empty backup scenarios to prevent errors. [APPS-1362]
Configuration management changesโ
Any changes you make to the configuration API take effect immediately in version 3.0. Prior to 3.0, API configuration changes required an explicit "apply" step after CRUD operations to update the runtime configuration.
Each CRUD update now automatically saves the configuration to the file and applies it to the runtime system without needing a separate "apply" operation. The memory config is always in sync with the runtime. Invalid configurations are rejected immediately and neither applied nor saved.
After an update, the running backup processes will finish as originally started, but:
- If a routine entry is absent in the updated configuration file, it will not be rescheduled.
- If the routine entry is updated, it will be rescheduled with the new parameters.
The
backup-routines
section has a new optionalnode-list
property for you to choose to back up only the selected cluster nodes. The default, if left unspecified, backs up all nodes in the cluster.The
credential
object has two new optional properties: asecret-agent
property that points to a secret agent listed in thesecret-agents
configuration parameter, and apassword-key-secret
property that specifies the secret keyword containing the password.
New API functions (2.0 โ 3.0):โ
- The
apply
endpoint reads and applies the configuration from the file (after it was modified externally). - The restore policy configuration, specified in the body of the restore request, now contains a new field
extra-ttl
. It specifies the amount of extra time-to-live (TTL) to add to records that have expirable void-times.
Issues fixedโ
- Fixed missing primary key issue in restored records. [APPS-1353]
- Client is now closed after
info
command to address a potential memory leak. [APPS-1214]
Breaking changesโ
The major codebase changes from 2.0 to 3.0 have introduced a few breaking changes.
Configuration name changesโ
- The
secret-agent
configuration field to store the list of secret agents is now namedsecret-agents
to reflect that it can contain more than one.
Restore requestโ
The restore
request (/v1/restore/full
and /v1/restore/incremental
) endpoint was changed to simplify and streamline the process.
- 2.0: The
storage
object contained apath
that was also used as the backup data location. - 3.0: The
path
in thestorage
object now only refers to the root path of the storage. The specific backup data location is now specified using a new required field:backup-data-path
. This change allows you to reuse the same storage for different restore requests.
Storageโ
The storage
object schema has been updated in 3.0 to improve clarity, modularity, and support for additional storage types.
- 2.0: Unified schema with a
type
field to differentiate storage types. - 3.0: Separate schemas for each storage type:
local-storage
s3-storage
azure-storage
gcp-storage
- Validation ensures only one storage type is configured.
S3 Path Construction:
- 2.0: S3 paths were constructed in the format
s3://<bucket>/<path>
. - 3.0:
bucket
andpath
are now separate fields ins3-storage
.
Storage examplesโ
- Local Storage
- S3 Storage
- Azure Storage
- GCP Storage
storage1:
local-storage:
path: /local/backups
storage2:
s3-storage:
bucket: my-backup-bucket
path: backups
s3-profile: default
s3-region: eu-central-1
storage3:
azure-storage:
account-name: my-storage-account
account-key: my-secret-key
container-name: my-container
endpoint: 'https://my-storage-account.blob.core.windows.net'
path: backups
storage4:
gcp-storage:
bucket-name: my-gcp-bucket
key-file: /path/to/service-account-key.json
endpoint: 'https://storage.googleapis.com'
path: backups