These are chat archives for akkadotnet/

Dec 2018
Onur Gumus
Dec 17 2018 14:56
@ismaelhamed when a new persistent actor created, how does it know it is a new actor or one that needs recovery from database ?
Bartosz Sypytkowski
Dec 17 2018 17:40
@OnurGumus every persistent actor has to define its persistenceId - it's a reference identifier used to track all of the events that correspond to this logical entity. Akka.Persistence requires to have only once actor with given persistenceId at the time (otherwise you can corrupt the actor's state), it up to you to fulfill that requirement. One simple way is to keep all actors under the same parent (if possible). Also other parts of the platform, like Akka.Cluster.Sharding can help you with keeping one entity at the time.
Shukhrat Nekbaev
Dec 17 2018 21:59
@Horusiath, @Aaronontheweb when Akka.NET Remote is used with WebApp it needs a special remoting settings (enforce-ip-family = true, dns-use-ipv6 = false etc.). Those are documented. I've refactored the old remoting logic into Akka IO. It works locally and on LAN, however, when WebApp is published it doesn't seem to connect. Are you aware of config/code changes required to make it connect? Thank you!
Amongst logs: Could not establish connection because finishConnect never returned true (consider increasing
Shukhrat Nekbaev
Dec 17 2018 22:08
in code using _remoteAddress = new IPEndPoint( ipAddress, port ); where ipAddress is IPAddress for both client and server
Shukhrat Nekbaev
Dec 17 2018 23:58

could it be the

public TcpOutgoingConnection(TcpExt tcp, IActorRef commander, Tcp.Connect connect)
            : base(tcp, new Socket(SocketType.Stream, ProtocolType.Tcp) { Blocking = false }, connect.PullMode)

it creates a new socket, which internally seems to assume it's ipv6 and turns on the dual mode. Given the remote config settings, I think there it is strictly disabling anything related to ipv6. Maybe that's why it can't connect...