8.1.1
Release Date: May 07, 2024
The aerospike-client package has been split into aerospike-client-jdk8 and aerospike-client-jdk21**. aerospike-client-jdk8 requires JDK versions 8+. aerospike-client-jdk21 supports virtual threads and requires JDK versions 21+. The dependency artifactId in your pom file must be changed accordingly.
Version 8.1.1 introduced new cluster defaults for batch (batchWritePolicyDefault, batchUDFPolicyDefault, batchDeletePolicyDefault). These new defaults contain the sendKey field. However, these sendKey defaults were not applied consistently for each batch scenario. The batchWritePolicyDefault sendKey was used in a batch node sub-command with multiple keys. The existing cluster defaults (batchPolicyDefault, batchParentPolicyWriteDefault) were used in a batch node sub-command with a single key (different code path with conversion to a single key request).
To handle all cases, all sendKey defaults must be set and they must be consistently true or consistently false. In addition, if the BatchPolicy/BatchWritePolicy method arguments are set that override the default, the sendKey field must also be consistent with the cluster's batch defaults.
Old:
ClientPolicy policy = new ClientPolicy();
policy.writePolicyDefault.sendKey = true;
policy.batchPolicyDefault.sendKey = true;
policy.batchParentPolicyWriteDefault.sendKey = true;
AerospikeClient client = new AerospikeClient(policy, hosts);New:
ClientPolicy policy = new ClientPolicy();
policy.writePolicyDefault.sendKey = true;
policy.batchPolicyDefault.sendKey = true;
policy.batchParentPolicyWriteDefault.sendKey = true;
policy.batchWritePolicyDefault.sendKey = true;
policy.batchUDFPolicyDefault.sendKey = true;
policy.batchDeletePolicyDefault.sendKey = true;
AerospikeClient client = new AerospikeClient(policy, hosts);This requirement will be relaxed in Java Client 10.3.0 where sendKey defaults are applied consistently. For example, Setting either batchParentPolicyWriteDefault sendKey or batchWritePolicyDefault sendKey to true in 10.3.0 will result in an enabled sendKey for all applicable batch code paths.
New Features
- Add methods for copying default policies. [CLIENT-2839]
- Add getKeyRecord() in RecordSet and RecordSequenceRecordSet. [CLIENT-2843]
- Add readTouchTtlPercent command line option to benchmarks. [CLIENT-2868]
Bug Fixes
- Use default batch policy (ClientPolicy batchWritePolicyDefault, batchUDFPolicyDefault or batchDeletePolicyDefault) when the record level batch policy is null. [CLIENT-2842]
- Only validate error code instead of entire error string in createDrop() index test. [CLIENT-2902]
- Propagate the original LuaC compile() exception details in AerospikeExceptions thrown by LuaCache.
- Upgrade netty version to 4.1.108.Final per snyk.
- Upgrade commons-cli to 1.7.0 per snyk.
Full Changelog: 8.1.0...8.1.1