These are chat archives for akkadotnet/akka.net

23rd
Apr 2018
Hyungho Ko
@hhko
Apr 23 2018 11:47
my service logs below
[akka://Server/system/remoting-terminator#1425901495] Shutting down remote daemon.
akka://Server/system/endpointManager now supervising akka://Server/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClient%40203.239.173.55%3A1626-17
[akka://Server/system/remoting-terminator#1425901495] Remote daemon shut down; proceeding with flushing remote transports.
akka://Server/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClient%40203.239.173.55%3A1626-17 Started (Akka.Remote.ReliableDeliverySupervisor)
akka://Server/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClient%40203.239.173.55%3A1626-17 now watched by [akka://Server/system/endpointManager#1504486226]
akka://Server/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClient%40203.239.173.55%3A1626-17 now supervising akka://Server/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClient%40203.239.173.55%3A1626-17/endpointWriter
akka://Server/system/endpointManager now supervising akka://Server/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClient%40203.239.173.55%3A1630-19
there are very similar logs while Shutting down remote daemon.
The number of log output is similar to the number of ActorSelection calls.
so remote daemon memory is continuously increasing.
Hyungho Ko
@hhko
Apr 23 2018 11:55
I think remote daemon has information about ActorSelection even after disconnecting.
so is it memory leak in remote daemon?
Elya Sikerin
@lumarama
Apr 23 2018 15:56

I'm trying to use DistributedPubSub to publish events to multiple subscribers (actors) in the cluster without knowing exact paths of the actors. I use the following article as an example: https://doc.akka.io/docs/akka/2.5/distributed-pub-sub.html

I have publisher and subscriber actors (both are ReceiveActors, with the following constructors):

    public Publisher()
    {
        var mediator = DistributedPubSub.Get(Context.System).Mediator;
        mediator.Tell(new Publish(_topicName, "Hello world"));
    }

    public Subscriber()
    {
        var mediator = DistributedPubSub.Get(Context.System).Mediator;
        mediator.Tell(new Subscribe(_topicName, Self));

        Receive<string>(s => Console.WriteLine($"Received a message: '{s}'"));
   }

On publisher side I get the following error:

[INFO][23/04/2018 15:54:54][Thread 0004][akka://MyActorSystem/system/distributedPubSubMediator] Message String from akka://MyActorSystem/user/publisher to akka://MyActorSystem/system/distributedPubSubMediator was not delivered. 1 dead letters encountered.

It seems that publisher can't sent message to the distributedPubSubMediator for some reason. While if I subscribe and send message to itself it works fine:

    public Publisher()
    {
        var mediator = DistributedPubSub.Get(Context.System).Mediator;

        Receive<string>(s => Console.WriteLine($"Received a message: '{s}'"));

        mediator.Tell(new Subscribe(_topicName, Self));
        mediator.Tell(new Publish(_topicName, "Hello world"));
    }
Bartosz Sypytkowski
@Horusiath
Apr 23 2018 17:08
@lumarama do you have your cluster configured and DistributedPubSub mediator started on each node?
Elya Sikerin
@lumarama
Apr 23 2018 17:21
@Horusiath I have cluster configured and I can send messages between remote actoras using their full paths to get IActorRef to the remote actor. So I'm pretty sure that cluster is up. While what should I do to start DistributedPubSub mediator? I realy don't do anything for that and the article I mention above doesn't tell that.
Onur Gumus
@OnurGumus
Apr 23 2018 17:24
@lumarama I use distributedpubsub freqeuently . Your code looks correct you don't do anything else to initialize it
Where are the pdb symbols for akka ? It's not https://nuget.smbsrc.net here either
not on symbolsource too
Elya Sikerin
@lumarama
Apr 23 2018 17:32
@OnurGumus @Horusiath if you don't need to start
Pub
DistributedPubSub mediator then and wondering
I'm wondering if sending the messega in the constructor of actor is to early and it is simply lost because system isn't yet initialized and the cluster isn't up yet
Onur Gumus
@OnurGumus
Apr 23 2018 17:36
possible
try scheduling it periodically
or a later time
Subscription is definitely not early though
Elya Sikerin
@lumarama
Apr 23 2018 17:44
@OnurGumus what is worth mentioning that I can see subscribe
on subsriber side but not on publisher side
I mean if I print subscribe acknoledgement messages.
Onur Gumus
@OnurGumus
Apr 23 2018 17:47
Dunno man. You have to simplify your scenario.
What I can attest is it works for me and no other initialization is required than above code.
You don't have to subscribe inside the actors
you can try subscribing and publishing for main method
again just for debugging purposes.
try the simplest scenario and move on from there.
Ivo Grootjes
@ivog
Apr 23 2018 18:24
It seems like the linux unittest build is succeeding however in the build log I see the following errors:
[08:42:23][docker] Running .NET Core 1.1.2 tests for framework netcoreapp1.1...
[08:42:23][docker] It was not possible to find any compatible framework version
[08:42:23][docker] The specified framework 'Microsoft.NETCore.App', version '1.1.2' was not found.
[08:42:23][docker] - Check application dependencies and target a framework version installed at:
[08:42:23][docker] /
[08:42:23][docker] - Alternatively, install the framework version '1.1.2'.
[08:42:24][docker] [mSearching for processes with name = xunit.console
[08:42:24][docker] xUnit2 reported an error (Error Code 131)
Should an issue be created for that? Or am I misunderstanding something here ( still trying to find my way in this project)
Marc Piechura
@marcpiechura
Apr 23 2018 18:46
@ivog would be good, the build is very fast (6min) compared to windows core unit test (25 min) so maybe the tests aren’t running, @Aaronontheweb should know more
Ivo Grootjes
@ivog
Apr 23 2018 19:02
Ok, in the windows unit-tests i see something similar, also an xunit error but the build reports no errors:
[08:52:48][RunTests] System.IO.FileLoadException: Could not load file or assembly 'FSharp.Core, Version=4.4.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)
[08:52:48][RunTests] File name: 'FSharp.Core, Version=4.4.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ---> System.IO.FileLoadException: Could not load file or assembly 'FSharp.Core, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)
[08:52:48][RunTests] File name: 'FSharp.Core, Version=4.4.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
....
[08:52:48][RunTests] xUnit2 reported an error (Error Code 1)
[08:52:48][RunTests] Searching for processes with name =
I'll create an issue.
Ivo Grootjes
@ivog
Apr 23 2018 19:23
I created this issue for the builds not reporting xunit errors: akkadotnet/akka.net#3416
Marc Piechura
@marcpiechura
Apr 23 2018 21:28
Thanks 👍