Releases: devsisters/shardcake
v2.6.1
This is a minor release that adds some utility method and upgrade the serialization library to handle a potential issue with Kryo and lazy vals under Scala 3.
What's Changed
- Adding a method to get the pod address for an entity. by @douglasthomsen in #164
- Update scala-kryo-serialization version to 1.3.0 by @kajebiii in #165
v2.6.0
This is a small release just to upgrade redis4cats which had a major release (2.0).
What's Changed
- Upgrade redis4cats by @ghostdogpr in #162
v2.5.2
This release fixes a bug that could cause entityTerminationTimeout
not working properly, meaning that unregister
could hang forever if some entity wouldn't stop by itself. It will also produce an explicit error if you use a custom getShardId
that returns an ID out of bounds (such as 0).
What's Changed
- Return an explicit error if
getShardId
is out of bounds by @ghostdogpr in #160 - Make terminateAllEntities interruptible so that time out works well by @ghostdogpr in #161
v2.5.1
This release brings a few improvements. You can now configure a retry schedule for unregister
(useful in case the Shard Manager is momentarily unavailable) as well as "server interceptors" for your gRPC service.
What's Changed
- Add a layer to simplify local testing by @ghostdogpr in #152
- Upgrade dependencies by @ghostdogpr in #153
- Terminate all entities of each entity type in parallel by @ghostdogpr in #158
- Adding metadata to shardcake's internal calls. by @douglasthomsen in #155
- Add retries to unregister by @ghostdogpr in #159
v2.5.0
This release upgrades some dependencies:
- zio to 2.1.14
- zio-k8s to 3.1.0
- sttp to 3.10.1
- caliban to 2.9.1
What's Changed
- Upgrade dependencies by @ghostdogpr in #151
v2.4.3
The fix from 2.4.2 was apparently not enough in some cases so I removed the whole logic that caused the assignment inconsistencies.
What's Changed
- Remove logic to refresh assignments from shard manager by @ghostdogpr in #150
- Don't increment podHealthChecked metric on internal check (do it only for unresponsive pods) by @ghostdogpr in #149
Full Changelog: v2.4.2...v2.4.3
v2.4.2
This release fixes a bug that was introduced in 2.3.2, upgrading is strongly recommended if you use any version after that. It can cause a pod to lose track of some shards that are assigned to them, triggering EntityIsNotManagedByThisPod
errors instead of handling messages.
What's Changed
- Prevent a potential race condition that can cause self assignments to be replaced by @ghostdogpr in #148
Full Changelog: v2.4.1...v2.4.2
v2.4.1
The main change from this release is that on register
, the Shard Manager will check the Health API to make sure the pod is alive before proceeding. That allows detecting early if your Health API is not working as intended.
What's Changed
- Shard Manager: only allow alive pods to register by @yoohaemin in #146
- Keep the shard ids sorted for logging and api by @yoohaemin in #147
- Expose current pod assignments by @yoohaemin in #145
v2.4.0
This release updates dependencies, in particular it now depends on stable zio-http 3.0.x.
It also changes the behavior of simulateRemotePods
, before only sent messages were serialized, now it will use the actual sharding protocol to send messages to itself so that both sent messages and received messages are always serialized.
Finally, we added a regular check of the pods health in order to detect removed pods faster, in particular in scenario with low amounts of messages.
What's Changed
- Upgraded Caliban and ZIO versions by @ghostdogpr in #137 #143
- Added a check of the health of all pods at regular intervals by @nox213 in #140
- Changed behavior of
simulateRemotePods
to use the Pods API by @ghostdogpr in #142 - Removed unused imports by @nox213 in #138
v2.3.2
This release fixes an potential memory leak when using streaming replies with long-running actors. Upgrading is recommended if you use streaming (no problem with single send
).
What's Changed
- Fixed a promise leak when using streaming with long-running actors by @ghostdogpr in #136
- Kept assignments got from shard manager in
updateAssignments
by @pancho-bo in #135