devsisters / shardcake

Sharding and location transparency for Scala
https://devsisters.github.io/shardcake/
Apache License 2.0
395 stars 30 forks source link

[Interruption] entityTerminationTimeout is handled only on pod shutdown #85

Closed mattiamanzati closed 1 year ago

mattiamanzati commented 1 year ago

I am not sure if this is an intended behaviour, but it seems that entityTerminationTimeout is respected only in pod shutdown. I think this may lead to misleading situations, where the entity takes a lot to terminate after an idle timeout, and than shutting down the entire pod will hang because will wait for that entity to complete shutdown (or hang on resources for more that entityTerminationTimeout).

https://github.com/devsisters/shardcake/blob/20ca3e5cec839ae28b8665a8a2dc489ae44cc91c/entities/src/main/scala/com/devsisters/shardcake/internal/EntityManager.scala#L166

ghostdogpr commented 1 year ago

It is intended that this is applied only on pod shutdown, however we want to apply the same timeout to entities that were already shutting down. I am fixing this as part of the fix for https://github.com/devsisters/shardcake/issues/84