Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 10 21:04
    Aaronontheweb closed #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb edited #3438
  • Dec 10 21:04
    Aaronontheweb closed #3455
  • Dec 10 21:04
    Aaronontheweb commented #3455
  • Dec 10 21:03
    Aaronontheweb closed #3471
  • Dec 10 21:03
    Aaronontheweb commented #3471
  • Dec 10 21:02
    Aaronontheweb closed #3533
  • Dec 10 21:02
    Aaronontheweb commented #3533
  • Dec 10 21:01
    Aaronontheweb closed #3587
  • Dec 10 21:01
    Aaronontheweb commented #3587
  • Dec 10 20:49
    Aaronontheweb commented #4086
  • Dec 10 20:47
    Aaronontheweb commented #4071
  • Dec 10 18:03
    Aaronontheweb closed #3760
  • Dec 10 12:04
    valdisz commented #4071
  • Dec 10 12:02
    Aaronontheweb labeled #4082
Aaron Stannard
@Aaronontheweb
probably going to do a small point release soon with some minor Streams bug fixes, fixes for the priority mailbox, and others
also thinking about sending in a PR to skip some of the specs we know to be broken like the ClusterClient specs
no point in just re-running stuff repeatedly when the thing under test doesn't work
there's some specs, like the ActorsLeakSpec in Akka.Remote, that are just super complicated and can time out when things get busy... which makes me think maybe I should $$$ and increase the size of our VMs
Peter Bergman
@peter-bannerflow
When running an Akka.Cluster, is there any way for an actor in an actor system that has joined the cluster to get information about the number of nodes that joined the cluster with a specific role? I am just interested in the count nothing more than that
Aaron Stannard
@Aaronontheweb
@peter-bannerflow yep, Cluster.State will have that data
basically just iterate over all members and select them by their role
Peter Bergman
@peter-bannerflow
Nice, perfect :)
Vagif Abilov
@object
I am checking out a WebCrawler sample updated by @Aaronontheweb, the akka-streams branch revised to use Akka.Streams. Am I correct that the sample is not finished and quite a lot code may be removed? Right now it looks like Stream implementation is added on the top of the old code, so it's a hybrid sample supporting both plain actors and Akka streams. Is this so?
Marc Piechura
@marcpiechura
@object akka streams is bound to a local actor system so you need plain actors with clustering to distribute the work across nodes
Problem is that the reactive stream protocol works with demand that is send upstream and needs full deliver guarantees because otherwise the stream would deadlock
Vagif Abilov
@object
@Silv3rcircl3 yes, but I see that DownloadCoordinator code just increased by 50 lines and a new case (StreamCompleteTick). Shouldn't the newly introduced workflow graph replace some of low-level actor arrangements?
Marc Piechura
@marcpiechura
Don't know :) haven't looked at the code and don't know what is planed. Thought your question is more related to the fact that plain actors are used for the distributed work
Cc @Aaronontheweb
Vagif Abilov
@object
I understand that the implementation of Akka streams require materializer to be backed by actual actors, I am just trying to make sense of the example and reacted on the fact that it kept more or less the same complexity plus added stream flow.
Perhaps @Aaronontheweb can clarify it that example needs some cleanup.
Marc Piechura
@marcpiechura
That's not 100% correct, one feature of akka streams is that you can create your own materializer that doesn't need to use actors under the hood, for example on the jvm they released a new Gearpump materializer that can distribute a stream
Vagif Abilov
@object
@Silv3rcircl3 and when it comes to actor system requirement, what if the flow contains a trivial functional transformation, e.g. some arithmetic or string processing function, does it still require an actor for this?
Oh you already answered my next question, but can I combine actors and non-actors in the same flow?
Marc Piechura
@marcpiechura
Not sure I understand your question correctly, if for example you use a where + select these two stages would run in the same actor, this feature is called "Fusing", the stages are fused together, into a single actor, if they doesn't have async boundaries
What exactly do you mean by "actors and non-actors in the same flow" ?
Vagif Abilov
@object
Sorry for being unclear, I am still in the process of getting the concept. What I roughly meant is if I need to do a Select with a functional transformation on an intermediate result. But you already explained fusing and this probably what I had in mind :-)
Marc Piechura
@marcpiechura
Great :) all the select / where / GraphDSl methods only create a blueprint of the stream, they doesn't start any actors nor is any work started until you call one of the Run methods. When you do so the materializer creates actors as needed based on your settings and graph. For example you could disable fusing and therefore every stage would run in its own actor
Vagif Abilov
@object
Makes sense, thanks!
Marc Piechura
@marcpiechura
Np
Vagif Abilov
@object
But that WebCrawler example still suspiciously looks like needing some code cleanup, but I leave this question for @Aaronontheweb :-)
Maciek Misztal
@mmisztal1980
anyone tried starting lighthouse on mono? it fails to bind for some reason :worried:
Chris Morley
@csmorley
Hi all, been googling for past few hours and stepping through source, can anyone point me in the right direction if i want to intercept calls to System.ActorOf(props); bascially i would like to control how the actor is constructed
Corneliu
@corneliutusnea
@csmorley did you try to do it via the DI? The DI can do custom construction
Aaron Stannard
@Aaronontheweb
@object yep, haven't quite finished it yet
using Streams heavily in a real project right now and that's informed my tastes somewhat
so I'll be refining it before I publish it, as well as deleting much of the old code
@mmisztal1980 I need to update it to 1.1.2 Akka
that should fix it
DNS / IPv6 stuff
Daniel D'Agostino
@dandago2_twitter
hey guys, from http://getakka.net/docs/clustering/cluster-overview I read: "NOTE: Akka.Cluster is currently a pre-release nuget package, so you'll need to set the pre flag when you install it into your applications. Akka.Cluster will be considered "fully released" once Akka.NET v1.1 ships." -- I thought both Akka .NET 1.1 and Akka.Cluster were already out, so is this just a case of outdated documentation? :)
Arjen Smits
@Danthar
yes.
You are more then welcome to do a PR :)
Daniel D'Agostino
@dandago2_twitter
I'm not sure what workflow you use for these updates :)
Arjen Smits
@Danthar
Simple. Fork the getakka.net repo. Make the changes in the .md file as needed.
Make a commit to your fork, and do a PR from there
Daniel D'Agostino
@dandago2_twitter
oh, PR works across repos on github?
I'll give it a try later, thanks :)
Arjen Smits
@Danthar
And in general this doc applies: http://getakka.net/docs/Contributing%20to%20Akka
But yeah if you fork from a repo. Github tracks that your repo is a Fork, and that it has an upstream repository linked to it. It then allows you to make a PR to that upstream repo.
Daniel D'Agostino
@dandago2_twitter
I'm reading up on clustering, and was just wondering whether it's possible to assign roles dynamically, rather than fixed from config
e.g. have something that tells a node that it needs to adopt a certain role, according to arbitrary demands
Damian Reeves
@DamianReeves

So I'm working on an application that will have Aggregate Roots like in DDD. I currently see the need to have an actor that given a message, figures out the target entity type and then "activate" the persistent actor for that given entity (by id).

In doing research I came across this statement in the Akka.Cluster.Sharding module:

Cluster sharding is useful in cases when you want to contact with cluster actors using their logical id's, but don't want to care about their physical location inside the cluster or manage their creation. Moreover it's able to rebalance them, as nodes join/leave the cluster. It's often used to represent i.e. Aggregate Roots in Domain Driven Design terminology.

Is my use a canonical example for using cluster sharding? What if I have usages of this pattern that aren't clustered but only have 1 node?

Bartosz Sypytkowski
@Horusiath
@DamianReeves you can use cluster sharding for only 1 node
Damian Reeves
@DamianReeves
Cool, does my description of my usecase fit sharding?