These are chat archives for akkadotnet/akka.net

13th
Feb 2016
Roger Johansson
@rogeralsing
Feb 13 2016 13:05
@Danthar regarding Wire and persistence, IMO we should recomend using Protobuf for persistence. Protobuf has the best version tolerance story of all serializers, Wire can do version tolerance for added or missing fields, but if you remove a type, then you are on your own.. protobuf can handle those kind of things better
Christian Sparre
@christiansparre
Feb 13 2016 13:44
@Aaronontheweb what "tool" do you use to "draw" the actor trees you use in presentations?
@Aaronontheweb specifically the "circle" ones :)
Garrard Kitchen
@garrardkitchen
Feb 13 2016 14:59
@christiansparre I believe the drawing software is from http://www.smartdraw.com/
Bartosz Sypytkowski
@Horusiath
Feb 13 2016 15:00
@voltcode mostly based on case. In most cases I simply abstract these into separate interface, and compare against that interface instead of class :P
Garrard Kitchen
@garrardkitchen
Feb 13 2016 15:11
Does anybody have a coded example (or solid documentation) that works 100% consistently of a node rejoining a cluster after being removed? I'm loosing my ass over this a bit; wasted well over a week if not more. Using 1.0.6.17. If bug, any nightly builds that had fixed it?
voltcode
@voltcode
Feb 13 2016 15:22
@garrardkitchen the opposite, I recently dropped cluster and used remote instead. See #1670
Garrard Kitchen
@garrardkitchen
Feb 13 2016 15:25
@voltcode So you're no longer using cluster, you've chosen to go the remote route instead?
voltcode
@voltcode
Feb 13 2016 15:36
@garrardkitchen yup, although I hope I get back to it. Although it may be that your cluster setup is wrong for example random ports and not downing nodes
Garrard Kitchen
@garrardkitchen
Feb 13 2016 15:42
@voltcode During my leaving the cluster process I'm issuing Cluster.Leave(Cluster.SelfAddress) then sleeping for a bit then issuing a Terminate() and I'm no longer using random ports. This is correct yes? Do you have an example of how you would leave the cluster?
voltcode
@voltcode
Feb 13 2016 15:55
My problem was mainly with node crashing, not with leaving. Have you tried setting logging to Debug and reviewing logs on both sides?
You can try waiting 5s or more on Terminate (its async). Maybe you're trying to rejoin too quickly
Garrard Kitchen
@garrardkitchen
Feb 13 2016 16:13
My nodes aren't crashing per se. Whenever IIS recycles or times out then my web role never rejoins. Same with other roles (win services) if I restarted any of those they never rejoin. What I'm left with is if any node (any role) is recycled or restarted for any reason I've got to restart my win services first then iisreset iis; in that order. When clustered across mulitple servers then sometimes it's a case of restarting everything which defeats the object of being resilient and responsive! I have to admit, I too have been thinking about going the remote route and forgo location transparency. This would mean a lot of work - several components (roles) invovled on solution across all tiers. This prospect makes me a sad panda
I do wait at least 10 secs and I've experimented with different delays in rejoining with no look. I also get from other nodes a MemberRemoved
Christian Sparre
@christiansparre
Feb 13 2016 16:22
@garrardkitchen thanks, I'll check it out.. :)
voltcode
@voltcode
Feb 13 2016 16:25
Hm it seems similar to what @cgstevens mentioned a while back. Have you tried how your system works with auto down set to very low timeout?
Are your seed nodes the win services?
Garrard Kitchen
@garrardkitchen
Feb 13 2016 16:27
yes, my seed nodes are win services and auto-down-unreachable-after = off
voltcode
@voltcode
Feb 13 2016 16:29
I saw some improvement when I implemented a simple cluster monitor that was downing the nodes immediately after detecting them unreachable. I would look at the logs of cluster events in detail in your situation. It's hard to say what's wrong - is a node quarantined
Or sth else
Garrard Kitchen
@garrardkitchen
Feb 13 2016 16:34
I'm currently using cgstevens ClusterStatus class so only the MemberRemoved event issues a Cluster.Leave()
by downing you mean Cluster.Leave() yes?
Arjen Smits
@Danthar
Feb 13 2016 16:40
@rogeralsing good to know.
voltcode
@voltcode
Feb 13 2016 16:55
No cluster leave, cluster.down
Garrard Kitchen
@garrardkitchen
Feb 13 2016 16:57
I'll give it a go but I'm sure my web roles will complain! My win services should be ok with it though
voltcode
@voltcode
Feb 13 2016 17:00
Your win services should decide to down, not your web apps
Garrard Kitchen
@garrardkitchen
Feb 13 2016 17:00
that makes more sense!
voltcode
@voltcode
Feb 13 2016 17:03
Listen to cluster events and down on unreachable. This is similar to auto down, not set to fixed amount of time but immediate
Garrard Kitchen
@garrardkitchen
Feb 13 2016 17:20
It's looking orders of magnitued better! I did 7 iisreset and web role rejoined everytime! I did the 8th and nada so I did another iisreset and bang, MemberUp! I'm going to continue testing this. Thanks @voltcode for nudging me in the right direction. Next challenge, potty training my 2 year old; compared to akka clustering that should be a walk in the park :smile:
voltcode
@voltcode
Feb 13 2016 18:05
Good luck @garrardkitchen. Let me know how it goes with crashing nodes
Garrard Kitchen
@garrardkitchen
Feb 13 2016 18:46
Will do @voltcode!
Weston
@ronnyek
Feb 13 2016 22:17
does anyone know how compatible with aspnetcore / coreclr / etc akka.net is?
voltcode
@voltcode
Feb 13 2016 22:41
afaik it isnt
there's an issue on github about whats missing
(from aspnetcore ;) )
and coreclr
voltcode
@voltcode
Feb 13 2016 23:01
@Aaronontheweb I started digging into #1670 - can you tell me whats the reason to Quarantine a member when it is removed and its previous status was Down?
I'll continue digging tomorrow, would be veeery helpful if you could let me know :)
voltcode
@voltcode
Feb 13 2016 23:06
@Aaronontheweb I'm specifically asking about line 102 in ClusterRemoteWatcher.cs