These are chat archives for akkadotnet/akka.net

15th
Oct 2017
Ricardo Abreu
@codenakama
Oct 15 2017 11:14

hey guys, I keep getting this error using actors in a cluster and sending messages:

[ERROR][10/15/2017 11:13:38][Thread 0010][remoting] Cannot find serializer with id [9]. The most probable reason is that the configuration entry 'akka.actor.serializers' is not in sync between the two systems.

however the config is the same in all projects
I tried NewtonsoftJson and Messagepack without success. In my previous tests it was working though :/

my hocon config

akka { actor { provider = \"Akka.Cluster.ClusterActorRefProvider, AkkA.Cluster\" } remote { log-remote-lifecycle-events = DEBUG, helios.tcp { hostname = \"localhost\", port = 7000 } } cluster { seed-nodes= [ \"akka.tcp://ClusterSystem@localhost:7000\" ] } serializers { messagepack = \"Akka.Serialization.MessagePack\" } serialization-bindings { \"System.Object\" = messagepack } }

Ricardo Abreu
@codenakama
Oct 15 2017 13:53
can anybody share their hocon config within a cluster?
one with serializers setup
also how hocon is better than json or xml? it seems to not work properly when I have breaklines in the wrong place (sometimes added by the editor) and I have to scape parenthesis
actually that was the issue the whole time

having

serializers
{
}

doesn't work

you have to have serializers {.... }

Bartosz Sypytkowski
@Horusiath
Oct 15 2017 16:17
@codenakama from what I've checked last time, serializer with Id 9 is a decicated one for a DistributedPubSub feature.
Ricardo Abreu
@codenakama
Oct 15 2017 16:20
@Horusiath the error was a few breaklines. I changed packages and tried many things to realise that it was the breaklines....
Visual studio for Mac adds weird ones when you write Hocon in the appsettings json file.
The configuration is parsed without errors and the actorsystem assumes it's all OK. But then when you send messages between actors in different nodes it throws those errors
Thomas Denoréaz
@ThmX
Oct 15 2017 23:59

Hi all! I have a small problem with Akka.IO, very rarely I get this error: Resource temporarily unavailable
However, no event Tcp.Closed nor Tcp.PeerClosed is sent to neither of the connection handlers.
After a bit of debugging I was also able to see that my handlers are correctly registered (stored inside the ConnectionInfo).
The error is coming from this line TcpConnection.cs#L835:

[DEBUG][10/15/17 11:56:01 PM][Thread 0006][[akka://benchmark-a/system/IO-TCP/$a#359412270]] Closing connection due to IO error System.Net.Sockets.SocketException (0x80004005): Resource temporarily unavailable
   at System.Net.Sockets.Socket.Send(IList`1 buffers)
   at Akka.IO.TcpConnection.PendingBufferWrite.<DoWrite>g__WriteToChannel7_0(ByteString data, <>c__DisplayClass7_0& )
   at Akka.IO.TcpConnection.PendingBufferWrite.DoWrite(ConnectionInfo info)
[DEBUG][10/15/17 11:56:01 PM][Thread 0003][[akka://benchmark-a/system/IO-TCP/$a/$a#757063873]] Closing connection due to IO error System.Net.Sockets.SocketException (0x80004005): Connection reset by peer
[INFO][10/15/17 11:56:01 PM][Thread 0006][akka://benchmark-a/system/IO-TCP/$a] Message SocketReceived from akka://benchmark-a/deadLetters to akka://benchmark-a/system/IO-TCP/$a was not delivered. 1 dead letters encountered.

Unfortunately, I was not able to create a reproducible example as it happens only from time to time during the launch of my benchmarks with BenchmarkDotNet.