Aerospike Backup Service 3.1.0 Release Notes
May 15, 2025 | Download
New features
- Add flag to allow concurrent incremental backups. [APPS-1607]
- Support filter by partition. [APPS-1613]
- Add configuration option to skip backup of cluster configuration. [APPS-1599]
- Add support for specifying object storage classes for all supported storage providers. [APPS-1503]
Improvements
- Use segmentio/asm/base64 for faster base64 encoding/decoding. [FMWK-735]
- Optimize memory usage during encoding. [FMWK-731]
- Add configurable chunk size option to S3 writer. [FMWK-742]
- Optimize restore to empty databases. [APPS-1369]
- Optimize storage for last-backup query. [APPS-1536]
- Optimize number estimation of backup records. [FMWK-741]
- Enhance backup statistics with additional fields. [APPS-1370]
- Add config JSON schema to allow autocomplete and real-time validation. [APPS-1667]
- Expose backup and restore velocity metrics (KB per second and records per second). [APPS-1344]
- Add doubt counter for errors. [APPS-1552]
- Implement strict validation for unsupported fields. [APPS-1532]
- Add HTTP request logging middleware. [APPS-1466]
- Add Backup Service Helm chart. [APPS-1457]
- Allow configuration referencing in the restore endpoint. [APPS-1307]
- Make backup and restore policies optional. [APPS-1343]
Bug fixes
- Fix several conversion bugs. [APPS-1622]
- Improve restore-path validation. [APPS-1549]
- Remove incomplete backup data properly in case of failure. [APPS-1593]
- Set default socket timeout. [APPS-1553]
Maintenance
- Cache GCP and Azure clients. [APPS-1533]
- Update
golangci-lint
to 2.1.5. [APPS-1652] - Update
aerospike-management-lib
to 1.7.0. [APPS-1551] - Refactor backup backend. [APPS-1555]
- Rename
s3_log_level
andmin_part_size
properties and add Tagliatelle linter. [APPS-1456]
Breaking changes
A small bug was fixed where the two parameters max-async-connections
and min-part-size
were not standardized to kebab-case
. These parameters were written with underscores in all versions until 3.1.
All configuration parameters and flags now use kebab-case
instead of snake_case
.
Strict validation
In 3.1, ABS performs strict validation of the configuration file during startup. Invalid configurations cause errors that prevent the service from starting.
Support for specifying object storage classes
Object storage classes define the durability and availability levels for objects within a bucket. You can specify the object storage class when backing up to any cloud storage provider:
STANDARD
,GLACIER
,DEEP_ARCHIVE
and other levels for AWS S3. See the full list here: S3 Storage ClassesHot
,Cool
,Cold
,Archive
for Azure Blob Storage.Standard
,Nearline
,Coldline
,Archive
for Google Cloud Storage.
Filter by partition
Backup policies have a new flag partition-list
.
When this flag is enabled, ABS backs up only specific partitions of the cluster.
By default, all partitions (0 to 4095) are backed up. This field is mutually exclusive with node-list
.
The format supports individual partitions or ranges:
- Specify a single partition as a number with no separator, such as
"0"
. - Specify a range of partitions using a hyphen separating the starting partition (inclusive) and the number of partitions in the range, so
"100-50"
backs up 50 partitions starting from 100. - Specify a list of individual partitions to back up using
"0,100,200,300,400,500"
.
This feature can be used to parallelize backups across multiple ABS instances. Each ABS instance can be assigned a subset of partitions to back up.
Concurrent incremental backups
Backup policies have a new boolean flag concurrent-incremental
.
With its default value of false
, incremental backups are skipped if another backup for the same routine is in progress.
When true
, incremental backups can run concurrently with full backups for the same routine.
Skip cluster config backup
Backup policies have a new boolean flag with-cluster-configuration
. When false
(default), the backup service excludes cluster configuration from the backup.