Skip to content

Releases: devsisters/shardcake

v2.4.2

31 Oct 00:20
Compare
Choose a tag to compare

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

17 Oct 05:08
bdca297
Compare
Choose a tag to compare

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

v2.4.0

24 Sep 08:35
5865074
Compare
Choose a tag to compare

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

v2.3.2

23 Jul 02:13
2a5d6c5
Compare
Choose a tag to compare

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

v2.3.1

18 Jul 08:47
Compare
Choose a tag to compare

What's Changed

  • Added support for scala 2.12 by @WtrLmmrs in #129
  • Added support for interceptors in the GrpcPods client by @SvenW in #131
  • Logged recovered state and added persist state on shutdown of Shard Manager by @jgulotta in #132
  • Made retry less aggressive by adding a delay by @ghostdogpr in #134

v2.3.0

14 May 08:13
Compare
Choose a tag to compare

This release brings improvements to the message streaming capabilities. Before, it was only possible to send a single message and receive either a single response or a stream of responses. Now we support sending streams as well.

Messenger now has 4 different methods:

  • send for sending a single message and receiving a single response
  • sendStream for sending a stream of messages without receiving any response (breaking change: this method was previously used for receiving a stream, you should use sendAndReceiveStream instead for that purpose)
  • sendAndReceiveStream for sending a single message and receiving a stream of responses
  • sendStreamAndReceiveStream for sending a stream of messages and receiving a stream of responses

With this release also come the following dependency upgrades:

  • zio to 2.1.1
  • sttp to 3.9.6
  • caliban to 2.6.0
  • zio-http to 3.0.0-RC6
  • zio-grpc to 0.6.2
  • grpc-netty to 1.63.0

What's Changed

New Contributors

Full Changelog: v2.2.7...v2.3.0

v2.2.7

24 Apr 03:49
d66027d
Compare
Choose a tag to compare

This release contains the following changes:

v2.2.6

24 Apr 02:12
65b15e8
Compare
Choose a tag to compare

This release contains the following changes:

  • Fixed the unassignedShards metric and renamed singletons metric tag from name to singleton_name #123 by @ghostdogpr

v2.2.5

07 Apr 04:22
309010c
Compare
Choose a tag to compare

This release contains the following changes:

  • Allow setting a custom labelSelector in the k8s health api to filter pods. This is useful if you have several deployments in the same cluster and a given IP address might be reused by another service/environment. #119 by @ghostdogpr

v2.2.4

02 Apr 06:00
9effe50
Compare
Choose a tag to compare

This release contains the following changes:

  • Made the grpc server shutdown timeout configurable. By default, zio-grpc was using shutdown then awaitTermination without any timeout, which prevents new connections and wait for existing connections to end. The problem is that if those connections are grpc streams, we are waiting forever. Instead, we use awaitTermination with a timeout, then call shutdownNow to force the grpc server to shutdown and interrupt the grpc streams. #117 by @ghostdogpr