-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update module github.com/aerospike/aerospike-client-go/v6 to v7 #30093
Update module github.com/aerospike/aerospike-client-go/v6 to v7 #30093
Conversation
pinging @djaglowski @antonblock as code owners |
This looks like the same issue in #29810 based on the failures, I'll take a look at this one |
@TylerHelmuth I think we'll be unable to upgrade the aerospike package until we support Go 1.21. The root cause is conflicting proto names were introduced in v6.14.0, which we first hit here: #26265 It looks like that issue was fixed, but is only available in the major 7.0 release. That release also make Go 1.21 a requirement, which I think we can't require yet. I can comment on the original issue to see if the fix might be backported for v6. This is the error from the e2e tests:
|
@antonblock thank you for investigating! |
Blocked for now #30101 |
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This PR contains the following updates:
v6.13.0
->v7.0.0
Release Notes
aerospike/aerospike-client-go (github.com/aerospike/aerospike-client-go/v6)
v7.0.0
: Major Feature ReleaseCompare Source
Breaking Changes
[CLIENT-2713] Handle Normalized Integers in Maps and Lists.
Aerospike Server v7 normalizes all positive integers in Maps and Lists into unsigned values for various efficiency reasons, and returns them as uint64. This effectively means that the type of positive
int64
values will be lost. Go client supporteduint64
types in lists and maps, and this change breaks that functionality by normalizing the values and removing the sign bits in case they are not needed. To support all versions of the server before and after the v7 consistently, the Go client will now behave like other Aerospike smart clients and automatically convert all unsigned int64 values inside maps and lists into signed values. This means amath.MaxUint64
value in a List or Map will return as two's compliment: -1.Example:
will return as:
This will break all code that used to cast
rec.Bins["map"].(map[any]any)["max].(uin64)
. As a result, all such code should cast to int64 and then convert back touint64
via a sign switch.If you didn't use
uint64
values in Maps and Lists, you should not be affected by this change.All the test cases that depended on the old behavior have been adapted to the new behavior.
[CLIENT-2719] Typed
GeoJSON
andHLL
deserialization.The Go client would read GeoJSON and HLL values back as
string
and[]byte
respectively. So if you read a record with bins of these types and wrote it directly back to the database, the type of these fields would be lost.The new version addresses this issue, but could be a breaking change if you have code that casts the values to the old
string
and[]byte
. You now need to cast these values toGeoJSONValue
andHLLValue
types respectively.[CLIENT-2484] Add
returnType
to supportedExpMapRemoveBy*
andExpListRemoveBy*
methods.[CLIENT-2319] Revise BatchReadAPIs to accept BatchReadPolicy argument.
NewBatchReadOps
no longer takesbinNames
and changes ops parameter to variadic for consistency.Changes the following Public API:
to
Replace
WritePolicy
withInfoPolicy
inclient.Truncate
.Remove the deprecated
ClientPolicy.RackId
. UsePolicy.RackIds
instead.New Features
This includes
PREFER_RACK
which allows scan/query to be directed at local rack nodes when possible.DropIndexTask
.ExpRecordSize()
.Improvements
Fixes
BatchPolicy
takes precedence rather thanBatchDeletePolicy
inBatchDelete
.v6.14.1
Compare Source
Hotfix.
Fixes
BatchGetOperate
triggering SIGSEGV nil pointer in the Go client.Caching of the operation is faulty and causes race conditions when used concurrently.
This commit removes the caching which included a useless allocation and rarely, if ever, had any practical influence on performance.
v6.14.0
Compare Source
New Features
Configuration
📅 Schedule: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.