Aerospike Database Release Notes 6.1.0.1
August 30, 2022
Aerospike Database software version 6.1 is now available.
New in this versionโ
This version implements a variety of feature requests and improvements to enhance performance, usability and reliability.
New featuresโ
Enterprise, Federal and Community editions
(SINDEX) Secondary index names now have a 64-character limit (including a null terminator).
[AER-6545] - (SINDEX) Added ability to define secondary indexes on elements within CDTs (Collection Data Types), by using CDT
contexts
.Added list operation
EXISTS
return type.Added map operation
EXISTS
return type.Database 6.1 removes
num-partitions
and adds thesindex-stage-size
configuration parameter for secondary indexes in the namespace context.sindex-stage-size
is similar to the existing primary indexindex-stage-size
configuration parameter. If thesindex-stage-size
value is changed across a restart, any secondary indexes for the namespace will be rebuilt.Database 6.1 includes a simple feature key file allowing only for a single-node cluster. The feature key will not be valid for versions after Database 6.1.
Be aware of your package manager's handling of existing configuration files during installation. If the configuration file was updated we keep the existing *.deb or *.rpm respective configuration file. It is the uninstall of the package where these systems diverge.
Debian and Ubuntu (*.deb) leaves the modified configurations in place.
Redhat (*.rpm) renames the configuration file with an *.rpmsave extension.
Enterprise and Federal editions only
- [AER-6543] - (SINDEX) Added support for warm restart of secondary indexes.
Updatesโ
- Attempting to create a secondary index which already exists now returns success/OK instead of an error.
- You can create
Map indexing
andList indexing
at any depth. For example, you can create an index on a map inside of a bin that is inside of another map. - Debian 9 Stretch LTS reached its End of Life on June 30 2022. Aerospike will drop support for Debian 9 in the Database 6.2 release.
- See Platform support and compatibility for all currently supported platforms.
- Aerospike Tools 7.2.0
Improvementsโ
Enterprise, Federal & Community
- [AER-6530] - (BATCH) Added an option to ensure that a sub-transaction error that stops a response will be included in the response.
- [AER-6532] - (CDT) Added
EXISTS
return type, which may be used to optimize certainGET
operations. - [AER-6535] - (INFO) Added
sindex-name
field toquery-show
output. - [AER-6548] - (INFO) Added
smd-show
command to retrieve raw SMD module data. - [AER-6531] - (LOGGING) Added
long-queries
toin-progress
ticker line, and renamedqueries_active
tolong_queries_active
. - [AER-6537] - (QUERY) Partially de-duplicate responses to range queries on list or map secondary indexes.
- [AER-6546] - (SINDEX) When indexing list or map keys or values, iterate in msgpack directly instead of converting to as_list or as_map.
- [AER-6550] - (SINDEX) A secondary index without a set name now applies to the entire namespace.
- [AER-6551] - (SINDEX) The size limit for a secondary index name has been reduced to 64.
- [AER-6547] - (STATS) Added
entries_per_bval
andentries_per_rec
secondary index cardinality statistics. - [AER-6534] - (UDF) New as_map implementation improves (de-)serialization of ordered maps when executing UDFs.
Enterprise & Federal Only
- [AER-6549] - (DEPLOYMENT) Automatically install an Enterprise evaluation feature key.
- [AER-6538] - (SINDEX) For
index-type
flash namespaces, use smaller internal batch sizes for garbage collection and queries, to minimize time under lock. - [AER-6540] - (STATS) Added
bytes_shipped
namespace statistic in XDR. - [AER-6544] - (XDR) For connector destinations, use digest affinity (instead of round-robin) to ensure that a record always goes to the same node.
- [AER-6565] - (XDR) Distribute recovery/rewind requests across service threads using partition affinity, avoiding lock contention and significantly improving performance.
Upgrade and downgrade instructionsโ
For full instructions on upgrading and downgrading, see Upgrade or Repair Server and Special upgrade instructions for Database 6.1.
Before you upgrade, find any secondary index names that exceed the new 64-character limit (including a null terminator), delete them, then recreate the sindex with a shorter name after the upgrade.
- When upgrading, the secondary index
sindex-create
applies to the entire namespace, if the set parameter is omitted.
- When upgrading, the secondary index
Downgrade from Aerospike Database 6.1 to 6.0.
If you have to downgrade from a deployment of Database 6.1 that has a secondary index stored in shared memory, delete the shared memory segments after stopping the server (asd), in order to reclaim this memory.
Downgrading from Database 6.1 forces a cold start.
Compatiblityโ
- Use Prometheus Exporter version 1.2.1 or later to run Prometheus Exporter with Aerospike Database 6.1.
Known Issuesโ
If you use
equality
secondary index queries that return a small number of records, you may see a latency increase in Database 6..0-6.2. Theinline-short-queries
configuration option provides a partial fix in Database 6.3, and a more advanced fix is scheduled for Database 6.4.If your secondary index query only returns 0 records or 1 record, meaning that it is acting as a unique index, you should consider converting such a query to a get/exists operation by creating a self-managed reverse index (lookup table).
Spark Connector version 3.5 starts using batch writes when possible, a feature which was introduced in Aerospike Database 6.0. Consult the Spark Connector rate limiting documentation before you upgrade the server. Pay attention to throttling write throughput, and use Spark Connector 3.5.5 or later, which fixes throttling behavior to conform to the
aerospike.transaction.rate
.There is a possibility of partial de-duplicate (repeated records) in secondary index query (SI query) responses for SI queries that use list or map type secondary indexes. Any record that satisfies such a query at least once will be included, but it is possible and normal to see a record more than once.