Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 17:57
    valdisz synchronize #3904
  • 12:27
    valdisz synchronize #3904
  • 11:43
    cptjazz commented #3925
  • 11:40
    cptjazz synchronize #3925
  • 11:02
    valdisz edited #3904
  • 10:55
    Aaronontheweb synchronize #3926
  • 10:45
    Aaronontheweb opened #3927
  • 10:01
    valdisz synchronize #3904
  • 06:22
    cptjazz commented #3925
  • Sep 21 19:33
    Aaronontheweb opened #3926
  • Sep 21 16:19
    valdisz synchronize #3904
  • Sep 21 14:58
    Aaronontheweb synchronize #3924
  • Sep 21 14:58
    Aaronontheweb commented #3922
  • Sep 21 14:45
    valdisz synchronize #3904
  • Sep 21 14:43
    valdisz synchronize #3904
  • Sep 21 14:35
    Aaronontheweb commented #3925
  • Sep 21 09:51
    cptjazz opened #3925
  • Sep 21 09:11
    cptjazz opened #3924
  • Sep 20 23:30

    Aaronontheweb on dev

    added ability to support custom… (compare)

  • Sep 20 23:30
    Aaronontheweb closed #3923
verilocation
@verilocation
@Danthar Hey, thanks, I cant seem to find any mention of throttling or github within that project, any pointers as to where or what to look for?
Daniel D'Agostino
@dandago2_twitter
Creating a child actor via ActorOf() and Props is a bit of a pain since it takes params object[], which means technically you can pass anything, and you need to make sure you're passing in the right dependencies, or you'll have runtime issues. Is there a clean way to instantiate actors that guarantees compile-time safety?
Damian Reeves
@DamianReeves
I have a worker executable that I want to do work and shutdown: Is it a bad ID for that worker to join my cluster?
Garrard Kitchen
@garrardkitchen
Hi @corneliutusnea, were you ever able to form cluster with web app in Azure App Services? I've put the seed in a webjob to run continuously and deploy both webjob and web app in same place (deployed via vsts) and both are running but unfortunately they are not seeing each other. akka messages show no errors (thanks to @andreyleskov). I can see both are running on diff w3wp.exe's. I'm using localhost as hostname on both [webjob + web app] and diff ports.
Damian Reeves
@DamianReeves
How do I gracefully leave a cluster when my actor system is terminating?
Francis Paulin
@paulinfrancis

I need to send a largish object with remoting, and an Akka.Remote.OversizedPayloadException is thrown:

Akka.Remote.OversizedPayloadException: Discarding oversized payload sent to [akka.tcp://SimulatorSystem@127.0.0.1:20228/]: max allowed size 128000 bytes, actual size of encoded PPSim.ActorModel.Messages.DiagramLoadedMessage was 723509 bytes.

I've tried setting maximum-frame-size = 4000000b (arbitrary number substantially larger than my message) in both ends:

remote {
    helios.tcp {
        transport-class = ""Akka.Remote.Transport.Helios.HeliosTcpTransport, Akka.Remote""
        transport-protocol = tcp
        port = 0
        hostname = ""127.0.0.1""
        maximum-frame-size = 4000000b
    }
}
Are there other settings I need to set to enable larger messages?
Bartosz Sypytkowski
@Horusiath
@paulinfrancis sending 700MB message is definitely not a good idea
Francis Paulin
@paulinfrancis
Shouldn't that be 0.723MB?
Arjen Smits
@Danthar
@verilocation ah sorry, i was wrong its not in that project. I distinctly remember it being in some sample project. Let me check
Arjen Smits
@Danthar
@verilocation Cant seem to find what i was looking for. I thought the sample stuff in the bootcamp for communicating with github had some throttling. And it has, but its to basic.
However there are various way you can throttle with Akka. One pattern is described here: http://letitcrash.com/post/28901663062/throttling-messages-in-akka-2 its from the JVM version. but the same principle applies. And should be fairly easy to port to .net.
Alternative is to use the Akka.Streams API
that has throttling mechanisms as well
On a side note. The TimerBasedThrottler could be something that we could offer OOB under the patterns namespace
Akka streams has an throttle operator which you can use
So what you could do is have one actor act as the source of your stream definition, and the google geocode API as your sink
with message mapping and throttling in between
Check the docs: http://getakka.net/docs/streams/quickstart for a good starting point
Arjen Smits
@Danthar
If you have specific questions regarding Akka.Streams we have an AkkaStreams gitter chat full with capable ppl :)
Marc Piechura
@marcpiechura
@dandago2_twitter you can also use the factory func and call the constructor of the child actor directly
Damian Reeves
@DamianReeves
When a node leaves my cluster, the cluster continuously throws exceptions which are being logged... how can I stop that (I know I just not log remote lifecycle events, but that endless cycle of trying to connect to a node seems wasteful)
Bartosz Sypytkowski
@Horusiath
@paulinfrancis sorry, my mistake. maximum-frame-size should be enough
@DamianReeves maybe you can set auto downing of unreachable actors?
Francis Paulin
@paulinfrancis
Interesting! I noticed that my collections were null after changing to remoting. I tested a couple of different options, and discovered this:
public class TestMessage
{
    public TestMessage(string message, IEnumerable<string> collection)
    {
        Message = message;
        Collection = collection;
    }

    public string Message { get; } //OK
    public IEnumerable<string> Collection { get; } //null after remoting
}

public class TestMessage
{
    public TestMessage(string message, IEnumerable<string> collection)
    {
        Message = message;
        Collection = collection;
    }

    public string Message { get; private set; } //OK
    public IEnumerable<string> Collection { get; private set;  } //OK
}
Bartosz Sypytkowski
@Horusiath
@paulinfrancis check if you have referenced newtonsoft.json v8 or higher
Francis Paulin
@paulinfrancis
@Horusiath I was wrong too - something else was amiss with my configuration, and when I sorted it out then maximum-frame-size did the trick :)
Bartosz Sypytkowski
@Horusiath
versions below 8 had some problems with C# 7 readonly getters
Francis Paulin
@paulinfrancis
blob
This message was deleted
Bartosz Sypytkowski
@Horusiath
maybe it's time to send them an issue ;) beside that I would set Wire as a default serializer if I were you
Francis Paulin
@paulinfrancis
It's bed tome now, but I'll try and serialize/deserialize an object with a collection { get; } using json.net 9.0.1 tomorrow and see if I can repro
Bartosz Sypytkowski
@Horusiath
Wire is a lot faster and covers more scenarios
Francis Paulin
@paulinfrancis
I'll look into Wire - thanks a lot :)
Bartosz Sypytkowski
@Horusiath
np. see you later
Francis Paulin
@paulinfrancis
Great! I started with Akka this Monday, and it's been a fun and educational journey so far - especially because of the great community; you guys :)
Corneliu
@corneliutusnea
@garrardkitchen No, I didn't manage to get the cluster working on App Services. I talked to some MS guys and support and the app is running in a sandbox so you can't open server ports so you can't listen for incoming sockets. https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox
Best I can think we can do is get Akka to use WebSockets instead of Helios
but that's a slightly bigger job than I can take right now
Aaron Stannard
@Aaronontheweb
@corneliutusnea navigating Azure's managed services is a bit of a minefield
from that perspective
I feel your pain
Corneliu
@corneliutusnea
@Aaronontheweb yes, but the Azure App Services is great and scales and is minimal maintenance so I think it's really the future :) and that means for me I need a way to make it work
Aaron Stannard
@Aaronontheweb
makes sense to take ownership of as few things as possible
that's why you won't see me running around wiring up racks
got some interesting results on those polls I did from the webinar
by a country mile most of the people who attended want to know how to run Akka.Cluster in their own data centers ("on-premise")
not at all what I would have guessed
would have assumed a public cloud environment