---
title: "Aerospike Database 6.3.0 Release Notes"
description: "Aerospike Database 6.3.0 Release Notes: New performance enhancements, PMem support, and critical breaking changes."
---

# Aerospike Database 6.3.0 Release Notes

> For the complete documentation index see: [llms.txt](https://aerospike.com/docs/llms.txt)
> 
> All documentation pages available in markdown.

March 30, 2023  |  **[Download](https://aerospike.com/download/)**

## New in this version

This version implements a variety of feature requests and improvements to enhance performance, usability and reliability.

### Updates

-   Support for OpenSSL 3.0 in Enterprise and Federal editions
    -   Ubuntu 22.04
    -   RHEL 9
    -   See [Platform support](https://aerospike.com/docs/database/reference/platform-support) for all currently supported platforms.
-   Aerospike Tools 8.2.

### New features

-   Short query performance enhancement with [`inline-short-queries`](https://aerospike.com/docs/database/reference/config#namespace__inline-short-queries).
-   Using Aerospike for a multitenant data store is made easier by the new ability to [cap the storage used by a set](https://aerospike.com/docs/database/manage/namespace/retention/#define-a-data-size-maximum-on-a-set).
-   Log messages can now be [streamed](https://aerospike.com/docs/database/manage/logging/logs) to syslog-compatible Unix domain sockets.
-   All Flash improvements - the namespace supervisor (NSUP) avoids duplicate resolution of records that have already been resolved during the relevant period.
-   Faster truncations
    -   Truncate jobs leverage set indexes, significantly speeding them up. This optimization is skipped if the set contains tombstones.
    -   [`truncate-threads`](https://aerospike.com/docs/database/reference/config#namespace__truncate-threads) now controls the number of threads used by a new truncate job. Users that truncate many sets concurrently should consider tuning this config.
-   [Runtime resource protection](https://aerospike.com/docs/database/manage/namespace/retention):
    -   [`max-used-pct`](https://aerospike.com/docs/database/reference/config#namespace__max-used-pct) stops client writes when namespace device usage hits 70%
    -   [`stop-writes-sys-memory-pct`](https://aerospike.com/docs/database/reference/config#namespace__stop-writes-sys-memory-pct) stops clients from writing to the namespace when 90% of the node’s memory is used.
-   Better Vault integration
    -   Added support for Vault Enterprise through [`vault-namespace`](https://aerospike.com/docs/database/reference/config#service__vault-namespace).
    -   Refresh the Vault token by setting a new token and then dynamically configuring [`vault-token-file`](https://aerospike.com/docs/database/reference/config#service__vault-token-file) to the same path as before.
-   Deploy secondary indexes durably on Intel Optane™ Persistent Memory (PMem). The low cost, high performance, and memory density of PMem (compared to RAM) makes it possible for Aerospike users to create multiple secondary indexes on very large datasets.
-   The ability to compare a Map argument to a Map bin using Expressions with Document-oriented modeling.
-   New `ORDERED_MAP` and `UNORDERED_MAP` return types for map operations.
-   LuaJIT is back for clusters running on ARM64 machines.
-   This version and subsequent Database 6.3.0.x Debian package files (\*.deb) and Red Hat Package Manager files (\*.rpm) are now GPG Signed.

| ID | Description |
| --- | --- |
| AER-6573 | (ACL) Added a short-time cache to reduce LDAP server traffic when a user logs in from many clients. |
| AER-6606 | (AUDIT) Removed security context configuration item `syslog`. |
| AER-6598 | (CDT) Added result types ‘ORDERED’ and ‘UNORDERED’ for maps. |
| AER-6603 | (DEPLOYMENT) Added new feature key items to distinguish a new Standard Edition from other Enterprise Edition flavors. |
| AER-6602 | (EXPRESSIONS) Allow map comparisons in expressions. |
| AER-6605 | (GEO) Updated geo (s2geometry) submodule. |
| AER-6579 | (INFO) Added service context configuration item `info-max-ms` to specify a timeout for info transactions. |
| AER-6574 | (INFO) Avoid repeated device mapping during `namespace` statistics info command. |
| AER-6587 | (KVS) Added namespace context configuration item `disallow-expunge` to prevent non-durable client deletes for AP namespaces. |
| AER-6589 | (KVS) Added namespace context configuration item `stop-writes-sys-memory-pct` as a new stop writes trigger. |
| AER-6586 | (KVS) Added set context configuration item `stop-writes-size` to limit the total data size of a set. |
| AER-6584 | (KVS) Avoid duplicate resolution of records which have already been resolved during the relevant period. |
| AER-6592 | (KVS) Use a separate set of threads for each truncate command, and leverage set indexes if possible. |
| AER-6600 | (LOGGING) Added logging context configuration item `syslog` to log to sockets. |
| AER-6588 | (QUERY) Added namespace context configuration item `inline-short-queries` to run short queries directly in service threads. |
| AER-6609 | (SECRETS) Added service context configuration item `vault-namespace` to support Vault Enterprise and |
| AER-6608 | (SECRETS) Made service context configuration item `vault-token-file` dynamic. |
| AER-6607 | (SECURITY) Support OpenSSL 3.0 in Federal Edition. |
| AER-6577 | (SINDEX) Added namespace context configuration item `sindex-type` and value ‘pmem’ to use persistent memory for secondary indexes. |
| AER-6596 | (STATS) Added some minor stats, and made assorted logging and debugging improvements. |
| AER-6591 | (STORAGE) Added a best practices check that a namespace’s devices’ sizes match. |
| AER-6585 | (STORAGE) Added storage context configuration item `compression-acceleration` for LZ4 storage compression. |
| AER-6590 | (STORAGE) Added storage context configuration item `max-used-pct` as a new stop writes trigger. |
| AER-6595 | (TLS) Added support for OpenSSL 3. |
| AER-6604 | (UDF) Updated LuaJIT submodule to an ARM-compatible version. |
| AER-6575 | (XDR) Allow DC namespace context configuration item `ship-bin-luts` to be set for connector DCs. |

## Breaking changes

-   Reissued feature key files to customers through the support portal. For details, see [6.3 Special Upgrade](https://aerospike.com/docs/database/advanced/special-upgrades/630-upgrade).
-   Removed support for Ubuntu 18.04.
-   Removed support for Debian 10 on ARM64.
-   Customers using the audit trail security features must [modify their configuration](https://aerospike.com/docs/database/manage/security/audit-trail) when upgrading to Database 6.3.0 or later.
-   The [`memory_used`](https://aerospike.com/docs/database/reference/metrics#sindex__memory_used) metric item was renamed to [`used_bytes`](https://aerospike.com/docs/database/reference/metrics#sindex__used_bytes). Refers to any secondary index storage (memory, persistent memory).
-   The namespace stat [`truncated_records`](https://aerospike.com/docs/database/reference/metrics#namespace__truncated_records) has been removed.
-   The [`jobs`](https://aerospike.com/docs/database/reference/info#jobs) info command was removed in Database 6.3.0. Use the [`query-show`](https://aerospike.com/docs/database/reference/info#query-show) info command instead. **Upgrade applications using queries** to one of the following client or connector versions before you use them with Database 6.3.0.
    -   Compatible client versions
        -   Java client 5.1.6 or later
        -   C client 5.2.3 or later
        -   C# client 4.2.2 or later
        -   Go client 5.4.0.0 or later
        -   Python client 6.1.0 or later
        -   Node.js client 4.0.0 or later
        -   Ruby client 2.25.0 or later
    -   Compatible connector versions
        -   JDBC Driver 1.4.0.0 or later
        -   Trino connector 1.2.0 or later
        -   Spark connector 3.1.1 or later

## Configuration, info, and metrics changes

### Configuration item changes

| Item | Action | Notes |
| --- | --- | --- |
| [`disallow-expunge`](https://aerospike.com/docs/database/reference/config#namespace__disallow-expunge) | added | enforces durable deletes in an AP namespace |
| [`info-max-ms`](https://aerospike.com/docs/database/reference/config#service__info-max-ms) | added | specify a timeout for info transactions |
| [`stop-writes-size`](https://aerospike.com/docs/database/reference/config#namespace__stop-writes-size) | added | limits the total data size of a set |
| [`max-used-pct`](https://aerospike.com/docs/database/reference/config#namespace__max-used-pct) | added | stop-writes trigger |
| [`stop-writes-sys-memory-pct`](https://aerospike.com/docs/database/reference/config#namespace__stop-writes-sys-memory-pct) | added | stop-writes trigger |
| [`sindex-type`](https://aerospike.com/docs/database/reference/config#namespace__sindex-type) | added | value ‘pmem’ to store secondary indexes in PMem |
| [`compression-acceleration`](https://aerospike.com/docs/database/reference/config#namespace__compression-acceleration) | added | speed (and CPU) versus compression rato tradeoff for LZ4 storage compression |

### Info command changes

| Item | Action | Notes |
| --- | --- | --- |
| [`jobs`](https://aerospike.com/docs/database/reference/info#jobs) | removed | use [`query-show`](https://aerospike.com/docs/database/reference/info#query-show), [`query-abort`](https://aerospike.com/docs/database/reference/info#query-abort) |

### Metrics changes

| Item | Action | Notes |
| --- | --- | --- |
| [`memory_used`](https://aerospike.com/docs/database/reference/metrics#sindex__memory_used) | removed | replaced by [`used_bytes`](https://aerospike.com/docs/database/reference/metrics#sindex__used_bytes) |
| [`truncated_records`](https://aerospike.com/docs/database/reference/metrics#namespace__truncated_records) | removed |  |
| [`truncating`](https://aerospike.com/docs/database/reference/metrics#namespace__truncating) | added | boolean stat showing whether truncation is in progress in the set/namespace |
| [`nsup_cycle_deleted_pct`](https://aerospike.com/docs/database/reference/metrics#namespace__nsup_cycle_deleted_pct) | added | can be used to track if [NSUP is keeping up](https://aerospike.com/docs/database/manage/namespace/retention#nsup-not-keeping-up) |

### New developer APIs

-   `MapReturnType.ORDERED_MAP` and `MapReturnType.UNORDERED_MAP`.

## Upcoming changes

In Database 6.4.0:

-   removing the deprecated [`scan-show`](https://aerospike.com/docs/database/reference/info#scan-show) info command. Use [`query-show`](https://aerospike.com/docs/database/reference/info#query-show).
-   removing the deprecated [`scan-abort`](https://aerospike.com/docs/database/reference/info#scan-abort) info command. Use [`query-abort`](https://aerospike.com/docs/database/reference/info#query-abort).
-   removing the deprecated [`scan-abort-all`](https://aerospike.com/docs/database/reference/info#scan-abort-all) info command. Use [`query-abort-all`](https://aerospike.com/docs/database/reference/info#query-abort-all).

## Prerequisites and notes

-   For upgrade instructions, refer to [Upgrade or Repair Server](https://aerospike.com/docs/database/install/upgrade)
-   For special upgrade instructions, refer to [Special Upgrades](https://aerospike.com/docs/database/advanced/special-upgrades)

## Product lifecycle updates

Aerospike provides Maintenance and Support for 2 years (24 months) from its generally available (GA) release. See [Platform support](https://aerospike.com/docs/database/reference/platform-support) for details.

## 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.0-6.2.0. The [`inline-short-queries`](https://aerospike.com/docs/database/reference/config#namespace__inline-short-queries) configuration option provides a partial fix in Database 6.3.0, and a more advanced fix is scheduled for Database 6.4.0.
    -   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.0. Consult the Spark Connector [rate limiting documentation](https://aerospike.com/docs/connectors/spark/rate-limiting#set-rate-quotas-in-the-spark-application) 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`.
-   See [Known issues for 6.3.0.0](https://aerospike.com/docs/database/reference/issues?search=6.3.0.0)

## Client/server feature compatibility

To see which client features are supported in the various server versions, see the [Client Matrix](https://aerospike.com/docs/develop/client-matrix).