Skip to content

8.1.0.0

Choose a tag to compare

@pvinh-spike pvinh-spike released this 20 Feb 06:43
· 169 commits to master since this release

Aerospike Server Community Edition 8.1.0.0

New in this version

The 8.1.0 release introduces major improvements to performance, reliability, observability, and developer control — all designed for teams building and operating real-time systems at scale.

Developer Experience

  • Expression indexes – Index only records that match your business filters (ints, strings, blobs, GeoJSON, CDTs), cutting RAM use and speeding queries.

Performance Enhancements

  • Vertical scaling on high-core machines – Unlock up to 6.4X throughput on 128+-core servers with automatic lock-sharding, no tuning required.
  • Lazy bin loading – Unpack only the bins your app reads on the read path, reducing CPU work, memory use, and latency spikes on reads from wide records.

Operational Control

  • Admin port mode – Connect asadm to a single node so you can retain access even when service connections hit their max (not governed by proto-fd-max).
  • Multi-namespace XDR mapping – Map multiple local namespaces to one remote namespace to support complex data migrations.
  • Mesh DNS seed logging – Log resolved IPs at INFO level for DNS-based mesh seeds, improving visibility into cluster discovery.

Observability

  • User-agent – Record client type, library version, and app ID per connection in asadm and logs to catch compatibility issues early.
  • Health-outlier improvements – Raise outlier thresholds and lower log verbosity to INFO to cut false alarms and reduce log noise.
  • Principal node election logging – Tag leadership-change logs with "principal node" or "non-principal node" to track cluster elections clearly.

Security & Governance

  • PKI-only authentication enforcement – Prevent password use for certificate-based users, eliminating password management overhead and ensuring compliance.
  • Customizable PKI username mapping – Combine certificate fields (CN, OU, etc.) into unique usernames to avoid collisions and simplify audits.
  • Zombie record prevention – Ignore client writes that would shorten a record's TTL, preventing "zombie" records without extra client logic.

Deprecated Features

  • Deprecated feature logging – Emit metrics and log entries when deprecated server features are used, so you can identify and remediate legacy dependencies. Deprecated features will be removed in the next epic (Aerospike 9).

Upgrade instructions

You can upgrade directly to Database 8.1.0 from releases 7.1.0.x through 8.0.0.x.

Breaking changes

New public key

We have a new public key that is used to sign Aerospike Database 8.1.0 and tools 12.0.0. This new key will be used for other packages going forward. For more information, see Where can I get the public key for verifying Aerospike packages?.

Adding and removing namespaces in XDR

  • When adding a namespace that already ships to the destination, the info command returns the following error:

     asadm -e 'asinfo -v "set-config:context=xdr;dc=<DC name>;namespace=<namespace>;action=add"'
     
     ERROR:4:invalid state or set-config parameter.
     
    

    The logged warning is: {<namespace>} DC %s namespace already added

  • When removing a namespace that doesn't actually ship to the destination, the info command returns the following error:

     asadm -e 'asinfo -v "set-config:context=xdr;dc=<DC name>;namespace=<namespace>;action=remove"'
     
     ERROR:4:invalid state or set-config parameter.
    

    The logged warning is: {<namespace>} DC %s namespace already removed

:::note
Prior to Aerospike 8.1.0, neither case returned an error.
:::

Removed the info port

We removed Aerospike's info port, 3003, for sending info commands directly over Telnet. This should not affect any customers who are deployed with security enabled, which means the info port was already disabled. The new admin port, introduced in Aerospike 8.1.0, now uses port 3003.

Remove the info subcontext of your network configuration from your aerospike.conf.

Configuration items

Item Action Notes
apply-ttl-reduction added Ignore TTL (time-to-live) reduction due to client writes
remote-namespace relaxed Removed the restriction on remote-namespace being unique across namespaces in the same local DC
address deprecated Defaulting to any is deprecated
address use in the network.heartbeat subcontext is deprecated Inherits the fabric address
address removed use in the network.info subcontext Remove the network.info subcontext
auto-pin deprecated adq value is deprecated
group deprecated Obsolete in systemd
user deprecated Obsolete in systemd
pidfile deprecated Obsolete in systemd
proto-fd-idle-ms deprecated
vault-ca deprecated
vault-namespace deprecated
vault-path deprecated
vault-token-file deprecated
vault-url deprecated
mode multicast is deprecated Switch to mesh configuration

Metrics items

Item Action Notes
ttl_reductions_ignored added See apply-ttl-reduction
ttl_reductions_applied added
deprecated_requests added Increments each time a deprecated feature is used

Info commands

Item Action Notes
alumni-clear-alt added
alumni-tls-alt added
user-agents added Lists client versions connected to the server
config-get deprecated Use get-config
config-set deprecated Use set-config
digests deprecated
features deprecated
partitions deprecated
mesh deprecated Use get-config instead
mcast deprecated Use get-config instead
name deprecated Use node instead
objects deprecated Use statistics instead
replicas_all deprecated Use replicas instead
replicas_master deprecated Use replicas instead
service deprecated Use service-clear-std
services deprecated Use peers-clear-std
services-alternate deprecated Use peers-clear-alt
services-alumni deprecated Use alumni-clear-std
sindex deprecated Use sindex-list instead
sindex-create indexdata parameter is deprecated Use the bin and type parameters instead
statistics/xdr deprecated Use the following for XDR statistics: get-stats:context=xdr;dc=dataCenterName

Also deprecated:

  • When the id parameter of info commands refer to a namespace; use namespace instead.
  • When the ns parameter of info commands refer to a namespace; use namespace instead.
  • Making an info request without a specified command.

Client API

Item Action Notes
device_size deprecated Use record_size instead
memory_size deprecated Use record_size instead

The following deprecations involve internal client-server communication. The latest clients switch to non-deprecated alternatives.

  • Queries with a list of bin names is deprecated; use a list of bin read ops instead.
  • Queries with a list of bin ops which aren't bin reads; use a list of bin read ops.
  • Use of language-encoded blobs.
  • Sending compressed size in little-endian.
  • CDT parameter protocol using 16 bit parameter count.

Server logs added

Tools updates

Aerospike tools 12.0.1 is required for some of the features in Database 8.1.0. See Aerospike Tools Release Notes for more information.

:::note
The tools 11.1.1 release removed support for macOS 12 for all tools.
:::

Client/server feature compatibility

For a complete list of client features and the server versions that support them, see the Client Matrix.

Compatible client versions

For full feature access in Database 8.1.0:

  • Java Client: 9.1.0
  • Python Client: 17.1.0
  • C# Client: 8.1.0
  • C Client: 7.1.0
  • Go Client: 8.4.0
  • Node.js: 6.3.0
  • Rust: 2.1.0

Compatible connector versions

  • Trino connector 1.2.0 or later
  • Spark connector 3.1.1 or later

Platform updates

See Platform support and compatibility for all currently supported platforms.

Product lifecycle updates

Database 8.1.0 is generally available (GA) and will be supported for 3 years. See Aerospike Database Versioning & Releases and product stages for details.

Known issues

See Database known issues reference for details.

Complete list of changes

ID Description
AER-6799        (KVS) Improved vertical scalability of arena allocations.
AER-6806 (LOGGING) Changed logging level from detail to info for resolved mesh node IP addresses when heartbeat uses FQDN.
AER-6810 (NETWORK) Deprecated support for Application Device Queues (ADQ).
AER-6811 (XDR) Return an error when an info command adds (or removes) already added (or removed) namespace.
AER-6819 (INFO) Added user-agent-set, user-agents command to list client versions connected to the server.
AER-6820 (ACL) Added support for a special password that disables a user's password authentication.
AER-6823 (KVS) Optimized performance of records with high bin counts in read paths.
AER-6824 (ACL) Added network tls context configuration item pki-user-append-ou to include the certificate's "OU" value in the username for PKI authentication.
AER-6825 (KVS) Added "apply-ttl-reductions" config and related metrics.
AER-6826 (KVS) Deprecated various configs, info commands, data types, and protocol.
AER-6829 (NETWORKING) Created a dedicated admin port for administration purposes.
AER-6830 (TLS) Changed tls-port and tls-address to require explicit values if either is configured.
AER-6832 (SINDEX) Indexing based on expressions.
AER-6833 (XDR) In a datacenter configuration, allow multiple namespaces to be mapped to the same remote namespace.
AER-6835 (LOGGING) Improved health outliers by reducing false positives and decreasing logging level to INFO.
AER-6837 (INFO) Added alumni-clear-alt and alumni-tls-alt info commands.
AER-6838 (CONFIGURATION) Increased minimum data-size from 256M to 512M.
AER-6839 (LOGGING) Added detailed version logging at startup.
AER-6842 (FABRIC) Fixed possible crash for corrupt digest fields on fabric messages.