These are chat archives for akkadotnet/

Oct 2017
Alex Achinfiev
Oct 27 2017 00:00
Oh... looks like there was a breaking change in API between 1.3.x and 1.2.x in Akka.Serialization.Serialization.FindSerializerForType changed from accepting (Type) only to (Type, string).
Arjen Smits
Oct 27 2017 06:44
@aachinfiev its a default null parameter, but yeah you'd need to update
Thomas Tomanek
Oct 27 2017 09:44
If I do a GracefulStop on a child and either block or await the result, should I expect an immediate call to create another child with an identical name to always succeed? i.e. when GracefulStop completes is the child guaranteed to be removed from the parent Children collection?
Bart de Boer
Oct 27 2017 11:31
@stijnherreman we've developed some additions to the base testkit that allow you to 'await' the entire actorsystem to be Idle, making it possible to write ultra fast and reliable unit tests for actors. Both 'classic' and 'marble' style testing.
Basically, it extends the Task dispatcher by 'remembering' all the tasks, allowing you to 'await' them all.
actorUnderTest.Tell( "doYourThing");
await SystemIdle;
or for example, you can do await ExpectMsg<string>( msg => msg == "didIt") without timeout.
Stijn Herreman
Oct 27 2017 11:47
@boekabart that looks very interesting, thanks. I can't find the package on NuGet though?
Nevermind, found it :) Divverence.MarbleTesting.Akka instead of Divverence.MarbleTest.Akka
Bart de Boer
Oct 27 2017 11:54
Whoops ;) Trying to upload a new (1.3.1) version of it as we speak...
code is pushed already
0.3.0 version
Done, but not indexed yet. Sit tight ;)
Stijn Herreman
Oct 27 2017 12:04
Great, thanks. Meanwhile I had a look at await Sys.Idle();, is that the correct way to use it? I get an error, seems I need to use AwaitableTaskDispatcher in some way.
Oct 27 2017 12:16
Hi guys. Cluster ops question. Now and again I see cluster nodes becoming unreachable even though they are running ok. Currently we have to restart everything to get all working again. Can we ‘reform’ the cluster without full service restart?
Oct 27 2017 12:18

Hi guys.

The singleton actor is always running on the oldest member with specified role. The oldest member is determined by Akka.Cluster.Member#IsOlderThan. This can change when removing that member from the cluster. Be aware that there is a short time period when there is no active singleton during the hand-over process.

Question: To avoid down time, is it possible to have a "shadow" or "hidden" duplicate of the singleton somewhere on another (oldest) node, which becomes "active" as soon as the current one stops ?

Aaron Stannard
Oct 27 2017 13:33
@mtmk so I've seen some reports on this elsewhere
could you create a Github issue for this, and here is a really key piece of information I need: how much traffic is going across your network connections which disassociate?
I've noticed some issues with connections to lighthouse, which are extremely low-traffic, disassociating periodically
but this part: > Currently we have to restart everything to get all working again.
this smells like an infrastructure problem
Aaron Stannard
Oct 27 2017 13:41
Also, another piece of data I'd like
the serializer you're using
Oct 27 2017 13:47
@Aaronontheweb will do. Can you explain a bit what infrastructure issues you think there maybe? The only thing I can think of is that we are using windows machine name as the address (with fixed ports). Would you recommend IPs for example?
Aaron Stannard
Oct 27 2017 13:48
are the nodes totally unable to connect back to each other after going unreachable?
since normally that's what they try to do
Oct 27 2017 13:52
Yes they stay unreachable. Using pbm I see some becoming unreachable and back up again. Some stuck at up|unreachable and joining|unreachable
Aaron Stannard
Oct 27 2017 13:52
ok, definitely log the issue
I'm going to DM you a bit later today with some troubleshooting steps
Oct 27 2017 13:53
Ok thanks