Aerospike Server Community Edition 4.9.0.20
Description
- ATTENTION: As of Aerospike Server version 4.9, expirations and evictions are disabled by default.
- For expirations,
nsup-period
must be configured (new default is 0). - For evictions, the relevant
high-water-disk-pct
/high-water-memory-pct
/mounts-high-water-pct
must be configured (new defaults are 0). - For details refer to the
Namespace Retention Configuration
documentation.
- For expirations,
- The Aerospike Server will not start If the value of
default-ttl
is non-zero andnsup-period
is zero (the default). - Support added for HyperLogLog (HLL) probabilistic data types.
- Clusters connected using Cross Datacenter Replication (XDR) all clusters must have been upgraded to Aerospike Server 4.9 prior to using the HyperLogLog (HLL) data type.
- Before downgrading from Aerospike Server 4.9 all HyperLogLog (HLL) bins must be removed by the application.
- During the unlikely case of a downgrade the drives would need to be wiped. It is advised to review your Aerospike Server 4.9 environment prior to implementing the usage of HyperLogLog (HLL) data type bins.
- When upgrading to Aerospike Server v4.9.0.7 or newer to ensure migrations complete refer to the Special Upgrades document section Avoiding partition ownership disagreement that prevents migrations from completing.
- When upgrading the Aerospike Server refer to the Special Upgrades documentation.
New Features
Improvements
- Enterprise Only
- [AER-6338] - (TLS) Added support with Centos 7 for certain stronger ciphers.
Bug Fixes
- Enterprise & Community
- [AER-6339] - (KVS) On certain bitwise blob operations (and, or, xor), an out of bounds byte may be accessed and cause a crash.
Known Issues
- Enterprise & Community
- [AER-6340] - (KVS) HLL string or blob elements sized 31 to 254 bytes may be treated differently depending on msgpack standard. Fixed in version 5.4.0.1.
- Different client versions use 2 different msgpack standards. If HLLs have string or blob elements in the size range 31-254 inclusive and are accessed via clients using differing msgpack standards, a given element can be added to an HLL as 2 different elements. Also, even if individual HLLs were built consistently, operations combining them will give incorrect results if they were built using different standards. Once any of this has happened, it is not possible to fix the affected HLL(s).
- Record bins containing (collection data type) Ordered Lists that had operations performed under Aerospike Server versions 3.16.0.1-3.16.0.5 could be incompatible with server versions 4.6 or later due to stricter CDT validation. Also, Unordered Lists created with UDFs under server versions 3.16.0.1-4.5.3.15 could be marked as ordered, even if the application did not explicitly specify this, and would also be incompatible with server versions 4.6 or later. However induced, the incompatibility could also block XDR shipping. The Aerospike CDT Validation Tool is available in the Aerospike Tools 3.24.1 or newer release to identify -and if possible correct- such records. Aerospike recommends the validation tool be run on all namespaces that created or modified List CDTs under a pre-4.6 server. Refer to the Aerospike CDT Validation Tool documentation for steps necessary to run the tool and interpret the output.
- [AER-6444] - (CDT) For putItems(), the policy check is skipped for empty ordered maps. Fixed in version 5.0.0.37.
- [AER-6438] - (QUERY) A background operations query may become inaccessible via the job monitor before it completes. Fixed in version 4.9.0.33.
- [AER-6397] - (BALANCE) For AP namespaces, in very rare cases, distinct subset partitions may be erroneously treated as identical. Fixed in version 4.9.0.28.
- [AER-6402] - (SINDEX) When iterating through secondary indexes to adjust for changing list bin values, inactive indexes are incorrectly skipped, which may cause a crash. Fixed in version 4.9.0.28.
- [AER-6380] - (STATS) The 'batch-sub-restart' microbenchmark histogram is never populated. Fixed in version 4.9.0.25.
- [AER-6340] - (KVS) HLL string or blob elements sized 31 to 254 bytes may be treated differently depending on msgpack standard. Fixed in version 5.4.0.1.
- Enterprise Only
- [AER-6451] - (KVS) Race condition between sprig element counters and changing sprig roots when rebuilding index during warm restart may cause a crash. Fixed in version 4.9.0.34.
- [AER-6427] - (KVS) For
data-in-index
namespaces, durable deletes will cause an unnecessary assertion on a warm restart. Fixed in version 4.9.0.32. - [AER-6423] - (LOGGING) For
strong-consistency
namespaces, non-roster nodes are not always logged when rebalancing. Fixed in version 4.9.0.31. - [AER-6413] - (SECURITY) Small memory leak during LDAP login process. Fixed in version 4.9.0.30.
- [AER-6395] - (SCAN) When using storage or client response compression, scans will leak temporary (de-)compression buffers. Fixed in version 4.9.0.27.
- [AER-6391] - (XDR) When restarting storage-backed
data-in-memory
namespaces after XDR writes have been accepted on the node, records will be improperly deleted. Fixed in version 4.9.0.26. - [AER-6382] - (SECURITY) When connecting to LDAP server, TLS handshake occasionally fails. Fixed in version 4.9.0.25.
- [AER-6376] - (SECURITY) Concurrent client logins at server startup time may lead to various symptoms due to lack of thread safety in the LDAP library. Fixed in version 4.9.0.24.
- [AER-6378] - (SECURITY) When a user’s permissions are being assembled from multiple roles, a crash might occur if any of the roles have a whitelist and no privileges. Fixed in version 4.9.0.24.
- [AER-6363] - (KVS) A write or a UDF that deletes all of a record's bins may result in a tombstone with a non-zero void-time. Fixed in version 4.9.0.23.
- [AER-6361] - (SECURITY) Concurrent LDAP logins may result in a double-free of the LDAP library's copy of the
tls-ca-file
configuration item. Fixed in version 4.9.0.23.