v2.0.0 #5
zeroheartbeat
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Clustron Zaris 2.0.0
Type: MAJOR (SemVer) — a wire-breaking change requires all clients to upgrade. Dependencies (unchanged): Nodus 1.1.0, Keyvus 1.1.0, Numerous 0.9.0.
Native key routing now uses XMODEM CRC16 (
CRC16(key) % 16384→ segment), aligning Zaris's own hashing with Redis Cluster slots. This is wire-incompatible with 1.x clients, which hash keys with the old scheme and would misroute.To prevent silent data misplacement, the server now rejects pre-2.0.0 clients at the connection handshake with a clear error:
Action required: upgrade every client to
Clustron.Zaris.Client2.0.0. A 1.x client will not connect to a 2.0.0 server. (RESP/Redis clients are unaffected — they already route by CRC16 slots.)Rolling upgrade: upgrade the servers first (a 2.0.0 client is rejected only by… nothing — it works against 2.0.0), then upgrade clients. During the window, un-upgraded 1.x clients are cleanly refused rather than corrupting placement.
Artifacts in this folder
clustron-zaris-2.0.0-win-x64.zip— installable server package (Management Service + node runtime + tools + web console).nuget/Clustron.Zaris.*.2.0.0.nupkg(+.snupkg) — Abstractions, Client, InProc, SDK, DistributedCache, HybridCache.New features (since 1.1.0)
CLUSTER SLOTS/MOVEDline up with real Redis clients.Fixes
GetManyAsyncand typedExecuteBatchAsync<T>GETs came back empty (a swallowedZarisEntry-vs-raw deserialization mismatch in the cluster client). Now decodes both encodings.MigrationCompletedmap regen no longer reshuffles a healthy, untouched partition off its live owner (which reset its epoch and lost in-flight acked writes).Unavailableinstead of being acked into a handoff/regen window and lost.This discussion was created from the release v2.0.0.
All reactions