Skip to content

Releases: aerospike/aerospike-client-go

Minor fix release

01 Nov 17:48
d66939d
Compare
Choose a tag to compare
  • Fixes
    • [CLIENT-3156] Fix an issue where rack policy always returns the master node. Resolves #455

Major Hotfix Release

23 Sep 13:22
63370c8
Compare
Choose a tag to compare

Warning

Hot Fix release. This version fixes a major bug introduced in v7.7.0. You should use this release instead.

  • Fixes
    • [CLIENT-3122] Fix nil dereference in the tend logic.

Minor improvement release

13 Sep 17:46
9e009f0
Compare
Choose a tag to compare

Warning

This version introduced a major bug in tend logic. You should use v7.7.1 or later instead.

  • Improvements

    • [CLIENT-3112] Correctly handle new error messages/error codes returned by AS 7.2.
    • [CLIENT-3102] Add "XDR key busy" error code 32.
    • [CLIENT-3119] Use generics for a general code clean up.
      Uses several new generic containers to simplify concurrent access in the client.
      Uses a Guard as a monitor for the tend connection. This encapsulates synchronized tend connection management using said Guard.
    • Add documentation about client.WarmUp to the client initialization API.
  • Fixes

    • [CLIENT-3082] BatchGet with empty keys raises gRPC EOF error.

Minor improvement release

12 Aug 15:03
329f779
Compare
Choose a tag to compare
  • Improvements
    • [CLIENT-3071] Increase info command max response buffer size to 64 MiB.

Minor improvement and fix release

22 Jul 17:34
4e58b27
Compare
Choose a tag to compare
  • Improvements

    • [CLIENT-3045] Move proxy client build behind a build flag.
      This removes the GRPC compilation and potential namespace conflict from the default build and moves it behind the compiler build flag "as_proxy".
    • [CLIENT-3049] Use a specialized pool for grpc conns to prevent premature reaping.
  • Fixes

    • [CLIENT-3022] Close() throws a nil pointer error on ProxyClient without Authentication.
    • [CLIENT-3044] Circular reference in between Client<->Cluster causes memory leak when the client is not closed manually.
    • [CLIENT-3046] Wrong return type in Single Key Batch Operations with Multiple Ops per Bin.
    • [CLIENT-3047] Fix pointer value assignment in baseMultiCommand.parseKey (#443).
    • [CLIENT-3048] Use precomputed ops variable in batchIndexCommandGet.executeSingle (#442).

Minor feature and fix release

01 Jul 13:00
cd4355c
Compare
Choose a tag to compare
  • New Features

    • [CLIENT-2968] Support new v7.1 proxy features:
      • Info command.
      • QueryPolicy.QueryDuration
    • [CLIENT-3012] Support new server 7.1 info command error response strings.
  • Improvements

    • [CLIENT-2997] Scans should work in a mixed cluster of v5.7 and v6.4 server nodes.
    • [CLIENT-3012] Support new server 7.1 info command error response strings.
    • [CLIENT-3020] Change ReadModeSC doc from server to client perspective.
  • Fixes

    • [CLIENT-3019] Prevent Goroutine leak in AuthInterceptor for the Proxy Client.

Hotfix release

20 May 21:44
9d59955
Compare
Choose a tag to compare
  • Improvements

    • Add code coverage tests to the Github Actions workflow.
    • Call the CancelFunc for the context.WithTimeout per linter suggestions in grpc calls.
    • Minor clean up and remove dead code.
  • Fixes

    • [CLIENT-2943] Client.BatchGetOperate does not consider ops in single key transforms.
    • [CLIENT-2704] Client dev tests failing with new server map key restrictions.
    • Fix as_performance and app_engine build tags.

Major Feature Release

08 May 23:04
043b81d
Compare
Choose a tag to compare

This is a major feature release of the Go client and touches some of the fundamental aspects of the inner workings of it.
We suggest complete testing of your application before using it in production.

Warning

The ProxyClient in this version supports a feature in Aerospike Server v7.1 that breaks the Batch functionality in Aerospike Cloud as of the date of this release. If you are using that product, you need to use the Aerospike Go Client v7.1.0. We expect the issue to resolve in the near future.

  • New Features

    • [CLIENT-2238] Convert batch calls with just one key per node in sub-batches to batch requests.
      If the number keys for a sub-batch to a node is equal to 1, the client will use a direct operation command instead of batch commands to reduce the load on the server.

    • [CLIENT-2274] Use constant sized connection buffers and resize the connection buffers over time.

      The client would use a single buffer on the connection and would grow it
      per demand in case it needed a bigger buffer, but would not shrink it.
      This helped with avoiding using buffer pools and the associated
      synchronization, but resulted in excessive memory use in case there were a
      few large records in the results, even if they were infrequent.
      This changeset does the following:
      1. Will use a memory pool for large records only. Large records
      are defined as records bigger than aerospike.PoolCutOffBufferSize.
      This is a tiered pool with different buffer sizes. The pool
      uses sync.Pool under the cover, releasing unused buffers back to the
      runtime.
      2. By using bigger aerospike.DefaultBufferSize values, the user can
      imitate the old behavior, so no memory pool is used most of the time.
      3. Setting aerospike.MinBufferSize will prevent the pool using buffer sizes too small,
      having to grow them frequently.
      4. Buffers are resized every 5 seconds to the median size of buffers used over the previous period,
      within the above limits.

      This change should result in much lower memory use by the client.

    • [CLIENT-2702] Support Client Transaction Metrics. The native client can now track transaction latencies using histograms. Enable using the Client.EnableMetrics API.

  • Improvements

    • [CLIENT-2862] Use default batch policies when the record level batch policy is nil.
    • [CLIENT-2889] Increase grpc MaxRecvMsgSize to handle big records for the proxy client.
    • [CLIENT-2891] Export various batch operation struct fields. Resolves #247.
    • Remove dependency on xrand sub-package since the native API is fast enough.
    • Linter Clean up.
    • WritePolicy.SendKey documentation, thanks to Rishabh Sairawat
    • Replaced the deprecated ioutil.ReadFile with os.ReadFile. PR #430, thanks to Swarit Pandey
  • Fixes

    • [CLIENT-2905] Fix inconsistency of handling in-doubt flag in errors.
    • [CLIENT-2890] Support []MapPair return in reflection.
      This fix supports unmarshalling ordered maps into map[K]V and []MapPair in the structs.

Minor Security Fix

10 Apr 15:44
Compare
Choose a tag to compare

This release updates the dependencies to mitigate security issues.

  • Fixes
    • [CLIENT-2869] Update modules. Fix Allocation of Resources Without Limits or Throttling for golang.org/x/net/http2.

Security Fix Release

10 Apr 15:37
Compare
Choose a tag to compare

This release updates the dependencies to mitigate security issues.

  • Fixes

    • [CLIENT-2869] Update modules. Fix Allocation of Resources Without Limits or Throttling for golang.org/x/net/http2.
  • Improvements

    • Fixes a typo.