Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 09:00
    Horusiath commented #4077
  • 06:31
    Aaronontheweb commented #4085
  • 06:28
    Aaronontheweb commented #4085
  • 06:24
    Aaronontheweb commented #4085
  • Dec 07 11:49
    IgorFedchenko commented #4085
  • Dec 07 10:31
    IgorFedchenko commented #4085
  • Dec 07 08:36
    IgorFedchenko commented #4085
  • Dec 06 20:57
    IgorFedchenko commented #4085
  • Dec 06 20:32
    IgorFedchenko commented #4085
  • Dec 06 20:01
    IgorFedchenko commented #4085
  • Dec 06 19:55
    IgorFedchenko commented #4085
  • Dec 06 16:22
    Aaronontheweb labeled #3997
  • Dec 06 16:22
    Aaronontheweb closed #3997
  • Dec 06 16:20
    IgorFedchenko commented #3997
  • Dec 06 16:08
    IgorFedchenko commented #4085
  • Dec 06 15:50
    Aaronontheweb assigned #4085
  • Dec 06 15:50
    Aaronontheweb labeled #4085
  • Dec 06 15:50
    Aaronontheweb labeled #4085
  • Dec 06 15:49
    Aaronontheweb closed #4032
  • Dec 06 14:58
    IgorFedchenko commented #4032
Bartosz Sypytkowski
@Horusiath
until it gets to 1.0, binary encoding may change anyway
I'll take a look at it later, it may be a sign of a bug in the implementation
Maciej Wódke
@mwpro
@Horusiath thanks for reply. So I should switch my app to another serializer like ProtoBuf or MS Bond (as suggested in Hyperion docs) to avoid versioning problems. From your experience, is any of them is ready for production use with Akka.Persistence?
Bartosz Sypytkowski
@Horusiath
yes, I'd consider protobuf and ms bond a pretty mature options - I'm a fan of having well-defined schema files, as they make your data contracts explicit, so you can version them in explicit way too. But tbh you need to test yourself. Maybe simple json serializer will be enough for you.
also remember, that serialization sometimes depends on persistent provider you're going to use (i.e. MongoDB uses custom bson-based, Postrgres can be configured to use jsonb column type)
Alex Michel
@amichel
@ckarcz Why would you bother with appdomain and not just run separate processes? You will need remoting anyway, so it will be transparent with Akka to have them in different cluster nodes on same or separate machines.
Alex Michel
@amichel
@cgstevens will sending collections work for you? send lists of key/value tuples if you want to work loosely typed.
if you want strongly typed messaging, consider encapsulation
Nick Cuthbert
@ncthbrt
I was watching this NDC video, and the presenter was running 5 identical nodes of an actor systems on a single machine: https://vimeo.com/189191045
What advantages would this give you if any?
Chris G. Stevens
@cgstevens
Thanks @amichel I think the KeyValue will work just fine for what I need and I think I have a plan.
Jose Carlos Marquez
@oeaoaueaa
@ncthbrt maybe queuing and concurrency control?
Chris Karcz
@ckarcz
For my question- My thinking is that the parent actor can have children and monitor them as akka normally supports, the only difference being them running in a separate app domains. If one app domain crashes or runs out of memory (remember this is old legacy code) it would not affect the others and the parent would hopefully be able to restart a new child in a new app domain and retry. It'd also be easy to spawn child actors from configuration/message/code instead of deploying more instances of a service/package to the same machine, which when using a CD tool (octopus/xldelploy) is not straightforward.
Maxim Cherednik
@maxcherednik
To deploy an extra node is not that complicated with octopus.
What you are asking is doable, but separate machine is cleaner I guess.
wingedmachine
@wingedmachine
I have an actor I'm stopping, and afterwards it doesn't respond to messages (as expected), but it also doesn't send a Terminated message to a watching actor, and if I try to make a new actor with the same name, I get an exception because the name isn't unique. Does anyone know what could be causing that?
wingedmachine
@wingedmachine
Oh, nevermind. One of the actor's children had while(true) going on, and wasn't checking it's messages
Chris G. Stevens
@cgstevens
It would appear that I have a really bad production memory leak :worried: I have just started to dig and using the memory profiler it appears that it is the EF and data objects are not getting disposed. The normal use that the service I am using was originally designed is for our websites. I guess I could kill that actor off and recreate it but not sure I understand if that actor would get a new kernel or context and does everything go dispose correctly. I'm using DI to inject the service and tried a couple different scopes with the same result. Just not sure what the issue is really yet but wanted ask if any has had any similar issues. Should the data context be disposed or can it live forever?
So far I'm not seeing anything that stands out. Perhaps I'm actually doing a mutable object somewhere. I don't know. Will continue tomorrow. Thanks for any advice!
Chris G. Stevens
@cgstevens
@ckarcz I am using team city and I have it so I can deploy my services which is a member of the cluster to the same or different machine based on the configuration. Changing service name and port. Has worked out well for having 3 Dev environments on the same system and then push it to QA and prod. Then the same for our websites. Each member does have a specific role.
Chris Karcz
@ckarcz
@cgstevens I was thinking it'd be nice to have a web GUI view of the cluster and be able to select a router and deploy child actors via this web interface (permissions) instead of going another to a other deployment "manager" (docker, octopus, xldeploy, team city, etc).
Chris G. Stevens
@cgstevens
@ckarcz I gotcha and sounds cool.
Yip-Yip
@Yip-Yip
Is there a Akka.net solution similar to Kamon.io for monitoring reactive systems ?
Bartosz Sypytkowski
@Horusiath
@mwpro regarding your yesterday question about Hyperion serializer: could you tell me please, where your problem actually lies? From what I see, all of those are standard issues of people overusing schema changes. Maybe it should be written more explicitly but Hyperion version tolerance is limited to adding new fields to existing schema and changing field names if their position and type (or to be more explicit binary representation of the value) doesn't change
Maciej Wódke
@mwpro

@Horusiath In my example, when I once serialize my object with two properties (string and int, Step 1), and then I add a new property to the class I cannot have my object deserialized (steps 3, 4, 5). Adding a new field only worked for a string property at the end of class (step 2).

But if the order and type of fields matters as you said, then it makes some sense why they are not deserialized properly.

scottBat
@scottBat
in the type safe information at https://github.com/typesafehub/config#uses-of-substitutions it gives an example with subsitutiions and merging. “inheritance” as it call it. The example:
data-center-generic = { cluster-size = 6 }
data-center-east = ${data-center-generic}
data-center-east = { name = "east" }
data-center-west = ${data-center-generic}
data-center-west = { name = "west", cluster-size = 8 }
Should yield a merged config, but the hocon parser in Akka.net 1.1.3 does not seem to parse correctly. It doesn’t merge. Is this a known issue?
Arsene
@Tochemey
Hello Akka geeks, can someone explain to me how message immutability plays well with generic type?
Arsene
@Tochemey
Hello
Maxim Cherednik
@maxcherednik
hi
can you extend a bit ?
Arsene
@Tochemey

Is it safe to do something like this looking at the thread safe beauty of Akka.Net

public class SomeMessage<T> {
    public SomeMessage(T data){
        Data = data;
    }
    public T Data{get;}
}

where T is also a immutable object?

so that in my receive I can proceed like
Receive<SomeMessage<T>>();
Maxim Cherednik
@maxcherednik
Should be fine.
I have it in my project.
Arsene
@Tochemey
@maxcherednik Thank you
Natan Vivo
@nvivo
looking in the archives but I cannot find it. how do I subscribe to an event that tells me the cluster is up?
Sometimes google does magic :)
Natan Vivo
@nvivo
thanks
Kris Schepers
@schepersk
Anyone else from here at #DDDEU ??
Damian Reeves
@DamianReeves
@Horusiath in Akkling... if I ask and specify a specific response type, what will happen if the response is of a different type?
nm... I see you send back an Error with an InvalidCastException
Lutando Ngqakaza
@Lutando
can i send Stream objects as instance of my message?
Lutando Ngqakaza
@Lutando
ie anything that inherits IO.Stream
Arjen Smits
@Danthar
@schepersk I was there today @ #DDDEU, and im there tomorrow as well
there was some good exposure for akka.net as well
Wim Van Houts
@_kiwi78_twitter
In the docu it states that it is best not to instantiate the runtime in an ASP.NET application because IIS behaviour, which I agree upon, and, it states it would be best to create the runtime and actors in a separate application (or windows service). In this scenario, what would be the advised way to communicate between te ASP.NET applicaiton and the runtime? Is it a good idea to instantiate a runtime in the ASP.NET app which if it runs, gets a reference to the actors in the windows service runtime (using Akka.remote)? Any alternatives?
Arjen Smits
@Danthar
no what is meant, is that its best to run a seperate application, which is part of your cluster. And have that application expose a service interface that your webapp calls. Via WCF or something
Arjen Smits
@Danthar
ofc does not have to be part of a cluster or anything. can be a stand alone actor system as well
Sean Gilliam
@sean-gilliam

Via WCF or something

WCF

: PTSD triggered : :P

Bartosz Sypytkowski
@Horusiath
@Lutando not by default. If you try hard, you could achieve that, but that is rather the case of stinky design and potential leaks.
Arjen Smits
@Danthar
@sean-gilliam lol :D
Aaron Stannard
@Aaronontheweb
@_kiwi78_twitter you can still create a razor thin actor system in ASP.NET