Skip to content

Releases: aerospike/aerospike-client-go

Feature and Improvements Release

11 Jun 20:24
Compare
Choose a tag to compare
  • New Features

    • Adds BatchPolicy.AllowPartialResults flag to allow the batch command return partial records returned from the cluster.
    • Adds INVERTED flag to the MapReturnType. Take a look at INVERTED test in cdt_map_test.go to see how to use it.
    • Adds a lot of new Ordered Map and List operations and brings the client up to date with the latest server API.
  • Changes

    • Use the default values for BasePolicy in BatchPolicy to keep the behavior consistent with the older releases.
  • Improvements

    • Adds a recover to the tend goroutine to guarantee the client will recover from internal crashes.
    • Removes unneeded type casts.
    • Uses the new stat name for migrations check.
  • Fixes

    • Fixes TTL in GetObject and BatchGetObject reflection API.
    • Handle extension marker in List headers.

Major Feature Release

15 Mar 17:31
Compare
Choose a tag to compare
  • New Features

    • Support for Strong Consistency mode in Aerospike Server v4. You will need to set the policy.LinearizeRead to true. Adds AerospikeError.InDoubt() method.
    • Set the resulting Record.Key value in Batch Operations to the Original User-Provided Key to preserve the original namespace/set/userValue and avoid memory allocation.
  • Changes

    • Does not retry on writes by default, and put a 100ms timeout on all transactions by default.
    • Changed some warn logs to debug level.
    • Add missing stats counters to improve statistics reports.
    • Uses sync.Once instead of sync.Mutex for Connection.close method.
    • Added DefaultBufferSize for initial buffer size for connections.
  • Fixes

    • Fix the tests for object marshalling to account for monotonic time in Go v1.8+.
    • Stops the ongoing tends on initial connection errors.

New Feature release

29 Nov 14:50
Compare
Choose a tag to compare
  • New Features

    • Support for newer Batch Protocol. Add BatchGetComplex for complex batch queries. Old batch API upgraded to automatically support the new protocol under the hood, unless BatchPolicy.UseBatchDirect flag is set to true. Keep in mind that you don't need this flag to use the new Strong Consistency mode.
  • Changes

    • Renames ResultCode NO_XDS to ALWAYS_FORBIDDEN.
    • Makes SERVER_NOT_AVAILABLE a client generated error.

Fix and improvements release.

12 Oct 11:38
Compare
Choose a tag to compare
  • Changes

    • Deprecated LDTs and removed them from the official build.
    • Change supported go versions to 1.7+ due to gopher-lua requiring Context.
  • Improvements

    • Get socket timeout once per command execution, do not redefine err var in command execution loop. PR #211, thanks to Maxim Krasilnikov
    • Allow running a UDF on a specific node only.
    • Close cluster only once. PR #208, thanks to Jun Kimura
    • Use actual cluster name in tests instead of assuming null.
    • Check for the type of error as well in Duplicate Index Creation.
    • Update description for error code 21. PR #207, thanks to Maxim Krasilnikov

Feature and improvements release.

05 Sep 09:37
Compare
Choose a tag to compare
  • New Features

    • Added ListIncrementOp to the CDT list operations.
    • Added SEQUENCE to replica policies.
  • Improvements

    • Tweaked node removal algorithm to cover more corner cases.
    • Make predExp interface public. Closes issue #205.
    • Added more stats to the Client.Stats().

Feature, Performance improvements and bug fix release.

17 Aug 20:12
Compare
Choose a tag to compare
  • New Features

    • Added Client.Stats method to get client's internal statistics.
    • Added Policy.SocketTimeout to differentiate between network timeouts and the total transaction timeouts.
    • Added Policy.SocketTimeout to differentiate between network timeouts and the total transaction timeouts.
    • Support policy.IncludeBinData for queries. Only for servers that support this feature.
    • Minor documentation updates.
    • Return key not found exception (instead of returning nil record) for Operate() command where operations include a write.
  • Improvements

    • Close the tend connection when closing node connections.
    • Added Connection finalizer to make sure all connections are closed eventually.
    • Automatically retry failed info requests on async tasks before returning an error.
    • Updated build instructions for the benchmark tool.
    • Make digest_modulo test deterministic.
    • Relax predexp_modulo test a bit to avoid occasional failures.
  • Fixes

    • Indirect CAS ops to prevent the compiler from optimizing them out.
    • Return errors instead of nil.

Feature, Performance improvements and bug fix release.

25 Apr 16:17
Compare
Choose a tag to compare
  • New Features

    • Added BatchGetObjects method.
    • Added Exponential Backoff by introducing BasePolicy.SleepMultiplier. Only Values > 1.0 are effective. PR #192, thanks to Venil Noronha
  • Improvements

    • Packer tries to see if it can use generic data types before using reflection.
    • Operations, including CDTs do not allocate a buffer anymore, unless reused.
  • Incompatible changes:

    • BinName and BinValue are not exported in Operation anymore. These fields shouldn't have been used anyway since Operations used to cache their internal command.
  • Fixes

Feature, Performance improvements and bug fix release.

05 Apr 12:48
Compare
Choose a tag to compare
  • New Features

    • Predicate API is supported (for server v3.12+)
    • Added Truncate method to quickly remove all data from namespaces or sets (for server v3.12+).
    • Support ScanPolicy.ServerSocketTimeout (for server v3.12+).
    • Support ClientPolicy.IgnoreOtherSubnetAliases to ignore hosts from other subnets. PR #182, thanks to wedi-dev
  • Improvements

    • Added a lot of predefined generic slice and map types in NewValue method to avoid hitting reflection as much as possible.
    • Fix go vet complaints.
  • Fixes

    • Allow streaming commands (scan/query/aggregation) to retry unless the error occurs during parsing of the results. Fixes issue #187
    • Use net.JoinHostPort to concatinate host and port values instead of doing it directly. Fixes some issues in IPv6 connection strings.
    • Improved initial Tend run.
    • Fixes cluster-name checking bug.

Hotfix Release

08 Mar 17:44
Compare
Choose a tag to compare

Updating the client is recommended.

  • Fixes

    • Fixed an issue where errors in Scan/Query unmarshalling would be duplicated and could cause a deadlock.

Performance improvements and fix release.

01 Mar 19:20
Compare
Choose a tag to compare
  • Improvements
    • Check tend duration and compare it to tend interval, and warn the user if tend takes longer than tend interval.
    • Seed the cluster concurrently, and return as soon as any of the seeds is validated.
    • Tend the cluster concurrently. Allows use of very big clusters with no delay.
    • Partitions the connection queue to avoid contention.
    • Cluster partition map is merged from all node fragments and updated only once per tend to reduce contention to absolute minimum.
  • Fixes
    • Fixed an issue where a valid but unreachable seed could timeout and stall connecting and tending the cluster.
    • Fix result code comments.