4.0.0
Release Date: May 22, 2017
New Features
- Complete async rewrite. AerospikeClient now supports both async and sync methods. Async methods can use either Netty or direct NIO event loops.Async methods also allow the target event loop to be specified. Benchmarks and examples have been modified to use the new async methods.
- The old AsyncClient is still supported, but has been marked obsolete. The async methods in AerospikeClient perform significantly faster than the old AsyncClient, so it's recommended to port your async applications to use the new AerospikeClient async methods.
- See Async Documentation.
- Split Policy timeout into socketTimeout and totalTimeout.
- Changed Policy replica default to Replica.SEQUENCE.
- Changed Policy maxRetries default to 2.
- Removed Policy retryOnTimeout. If a transaction timed out on socketTimeout, retries will now occur until maxRetries is exceeded or totalTimeout is reached.
- See Incompatible API change for more details on Policy changes.
Bug Fixes
- Propagate batch read consistencyLevel to sub-transactions. [CLIENT-891]
- Fixed PredExp.geoJSONValue(). [AER-5650]
- Return key not found exception (instead of returning null record) for UDF execute() or operate() command where operations include a write. This is done to be consistent with other writes (put(), add()…) when key is not found.
- In cluster tend, set node’s new peers generation only if all referenced peers are added to the cluster.
- Support ByteValue on client side. These values are sent/received to/from the server as integers.
- In ExecuteTask, task is now not considered complete when the task is not found.
Full Changelog: 3.3.4...4.0.0