These are chat archives for akkadotnet/akka.net

14th
Apr 2017
Chris Ochs
@gamemachine
Apr 14 2017 05:06
so cluster sharding docs say I need to specify an event journal. But node A can send a message to a sharded actor on node B (same computer) and I haven't configured any journal. What gives?
Bartosz Sypytkowski
@Horusiath
Apr 14 2017 13:08
@gamemachine cluster sharding uses event journals to keep its internal state across the nodes. So i.e. if a node hosting so called shard coordinator dies, coordinator itself can be recreated on another node and it will still know which shards live on which nodes
(it's also useful to remember that cost of creating and communicating with sharded actors is higher than with standard ones)
Weston
@ronnyek
Apr 14 2017 17:38
so persistence wise, is there anything like the persistent state like azure service fabric has
(I think it works the same way in orleans)
Arjen Smits
@Danthar
Apr 14 2017 19:19
using snapshots is basically the same
persistence has 2 types of storage methods, journal and snapshot
journal is eventsource based
so you save each event that mutates your state, as it comes in
when your actor restarts, all events are replayed, thus rebuilding your actor state
snapshotting stores the current state of your actor. Well, not the the actor state, but whatever state you tell it to
so if you store a list of whatevers in your actor, you can store that in one go with a snapshot
when your actor restarts, it gets the last snapshot you saved
journalling is often used in conjunction with snapshotting, to improve performance.
Boban
@bobanco
Apr 14 2017 23:59
@Aaronontheweb can you check if the overridden the GetHashCode() , Equals() is overridden too and you can provide == != operators too if somewhere == is used instead of Equals()
Aaron Stannard
@Aaronontheweb
Apr 14 2017 23:59
@bobanco yeah resharper throws a warning about that
fixed it in my local branch