Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 19:13
    hwanders commented #4096
  • 13:05
    IgorFedchenko commented #4085
  • 03:08
    hhko commented #4094
  • Dec 13 21:37
    Aaronontheweb commented #4085
  • Dec 13 20:28
    IgorFedchenko commented #4085
  • Dec 13 20:27
    IgorFedchenko commented #4085
  • Dec 13 15:38
    Aaronontheweb labeled #4096
  • Dec 13 15:38
    Aaronontheweb milestoned #4096
  • Dec 13 15:38
    Aaronontheweb labeled #4096
  • Dec 13 15:38
    Aaronontheweb opened #4096
  • Dec 13 10:41
    peirens-bart opened #4095
  • Dec 13 08:37
    Aaronontheweb synchronize #4071
  • Dec 13 08:13
    jiyeongj opened #4094
  • Dec 12 15:42
    Aaronontheweb synchronize #4086
  • Dec 12 15:42
    Aaronontheweb closed #4083
  • Dec 12 15:42

    Aaronontheweb on dev

    Fix #4083 - Endpoint receive bu… (compare)

  • Dec 12 15:42
    Aaronontheweb closed #4089
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb labeled #4093
Weston
@ronnyek
man the syntax to define graphs is just nuts.
Alfredo Herrera
@alfredherr
P
Weston
@ronnyek
I mean I think whats going on there isnt that nuts
but I'm confused as hell I'd almost want to see somethign thats a simple source->in/out (flow?)-> sink
Weston
@ronnyek
I basically want to take something that used to be an actor receiving a message and kicking off a graph
which is what the download stuff appears to do
Weston
@ronnyek
nice
I think I manage to get a flow working
Bartosz Sypytkowski
@Horusiath
@ronnyek unfortunatelly, Scala API for graphs is beautiful, but it's achieved using dozen of tricks that no .NET language is able to provide (and it's uglier from the inside)
I hope to introduce something on this field soon
Weston
@ronnyek
so if I were trying to build reusable... components... like resuable sources/transformers etc
I'd be implementing graphstages
and then ultimately just bundling them together with GraphDsl.Create?
eyantiful
@eyantiful
Hi everyone,
Is it mandatory in Akka.Net cluster to have a Seed Node/s?
Or is it possible to join via any node pro grammatically ("You can join to any node in the cluster. It does not have to be configured as a seed node" Akka docs)?
Nick Cuthbert
@ncthbrt
@eyantiful You need at the very minimum one seed node (though at least three is preferred). The seed node allows discovery of the other node in the cluster
A seed node can also have other roles as well however
Alex Michel
@amichel
After upgrading to 1.3.1 and switching serializer from wire to Hyperion, I get this exception at ClusterSharding.Get(system) :
Attempt by method 'Akka.Cluster.Sharding.Serialization.ClusterShardingMessageSerializer..ctor(Akka.Actor.ExtendedActorSystem)' to access method 'Akka.Serialization.SerializerIdentifierHelper.GetSerializerIdentifierFromConfig(System.Type, Akka.Actor.ExtendedActorSystem)' failed.
My config looks like:
provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
serializers {
wire = "Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperion"
}
serialization-bindings {
"System.Object" = wire
}
no special entries or custom fallbacks for sharding
eyantiful
@eyantiful
@ncthbrt , i understand, wanted to know if i can remove this dependency ( having extra process, handle first in list of seed started prior to others etc.) . as far as i understand Akka (java) docs seed is not mandatory to establish a cluster, wanted to know if the same behavior was ported as well....
Joshua Garnett
@joshgarnett
@eyantiful you always need one seed node, but the seed node can be the application itself.
        # Configure Akka.Remote module
        remote {
          dot-netty.tcp {
              port = 8091
              hostname = "127.0.0.1"
          }
          log-remote-lifecycle-events = INFO
        }

        # Configure Akka.Cluster module
        cluster {
          seed-nodes = ["akka.tcp://Cluster@127.0.0.1:8091"]
        }
That’s how my setup looks like
Just make sure the ports and actor system name matches
vicosoft4real
@vicosoft4real
I don't know what i am doing wrong. My system could not connect to seed node.
here is my configuration:
[12:16:50 INF] akka : {
loglevel : DEBUG
loggers : ["Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog"]
log-config-on-start : on
stdout-loglevel : DEBUG
actor : {
serializers : {
wire : "Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperi
on"
}
serialization-bindings : {
System.Object : wire
}
provider : "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
}
remote : {
helios : {
tcp : {
transport-class : "Akka.Remote.Transport.Helios.HeliosTcpTransport, Ak
ka.Remote"
applied-adapters : []
transport-protocol : tcp
port : 0
hostname : 127.0.0.1
}
}
}
cluster : {
seed-nodes : ["akka.tcp://EduSaaSSystem@127.0.0.1:4053"]
}
Joshua Garnett
@joshgarnett
You have port specified as 0 for remoting
That should probably be 4053, to match up what is trying to be connected to by the seed node
Alex Valuyskiy
@alexvaluyskiy
@amichel It is a bug which was introduced in 1.3.0. Could you create an issue please?
vicosoft4real
@vicosoft4real
@joshgarnett Thanks. It's up now. I now have these messages : [12:40:28 INF] Node [akka.tcp://EduSaaSSystem@127.0.0.1:4053] is JOINING, roles
[]
[12:40:28 INF] Leader is moving node [akka.tcp://EduSaaSSystem@127.0.0.1:4053] t
o [Up]
But my system wasn't welcome into the cluster. i am following Simon Anderson tutorial in pluralsight.
Joshua Garnett
@joshgarnett
I’m not sure I follow the last comment, those logs make it sound like the cluster is up and running with a single node cluster
vicosoft4real
@vicosoft4real
this is lighthouse configuration: lighthouse{
actorsystem: "EduSaaSSystem" #POPULATE NAME OF YOUR ACTOR SYSTEM HERE
}
                akka {
                    actor { 
                        provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
                    }

                    remote {
                        log-remote-lifecycle-events = DEBUG
                        dot-netty.tcp {
                            transport-class = "Akka.Remote.Transport.DotNetty.TcpTransport, Akka.Remote"
                            applied-adapters = []
                            transport-protocol = tcp
                            #will be populated with a dynamic host-name at runtime if left uncommented
                            #public-hostname = "POPULATE STATIC IP HERE"
                            hostname = "0.0.0.0"
                            port = 4053
                        }
                    }            

                    loggers = ["Akka.Logger.NLog.NLogLogger,Akka.Logger.NLog"]

                    cluster {
                        #will inject this node as a self-seed node at run-time
                        seed-nodes = ["akka.tcp://EduSaaSSystem@127.0.0.1:4053"] #manually populate other seed nodes here, i.e. "akka.tcp://lighthouse@127.0.0.1:4053", "akka.tcp://lighthouse@127.0.0.1:4044"
                        roles = [lighthouse]
                    }
                }
Weston
@ronnyek
ok... more questions about streams
Weston
@ronnyek
I guess execution strategy, is the model always that you use materializer to materialize a graph, and that returns a ActorRef?
Seems like I've seen examples of runnablegraphs where I have no idea where the graph itself gets executed (they were just partial references)
the website scraper seems to materialize and store a ref to the actor on another actor, and feeds the graph input with .tell()
the twitter thingy seems to just kinda run it inline.. .no idea what the sttream from the twitter api looks like
Weston
@ronnyek
and per my question yesterday if I was looking ot build something like red node (I realize the materializer and graphdsl stuff still do things via fluent builders) would the components themselves just be graph stages where I might have a GraphStage<SourceShape<int>> for a source component
Bartosz Sypytkowski
@Horusiath
@ronnyek all execution is essentially done when a runnableGraph.Run(materializer) is called - this is the point when the graph it's actually constructed and started
also GraphStage is quite a low level API - it allow to build a custom logic using ideas of picking data from inputs and putting them in outputs
you may need it eventually, but it's not a must in most cases
Michal Dabrowski
@defrag2_twitter
Hey guys, i have some questions regarding handling and restoring of persistent actors.
Lets say i have 10k of persistent actors, P1...P1000. They are all under the supervision
of actor S. Now in other part of system, im retrieving some data from one of Px actors based on some inputs.
Is the best practice selecting them by selection or should supervisor S store somehow the map
of those child actors and reference them? Additionally when deploying new version of application and stopping all
of the P actors first, what are the best practices of bringing them back to life? All at once or
only if they are requested? If all at once i should store some data in order to recreate them. Cant find any resources on that. Thanks :)
Joshua Garnett
@joshgarnett
If you can, only load the persistent actors on demand, if only because that can put significant strain on your database loading a large number of persistent actors at once
Cluster Sharding abstracts a lot of what you are trying to do here
Michal Dabrowski
@defrag2_twitter
thanks, havent dig into cluster yet, probably will have to soon, so i'll dig
Andrew Young
@ayoung
if a node unexpectedly terminates on a cluster and another node spins up in its place on the same port, will the previous node still be considered unreachable?
i'm 85% sure that's a yes...
Joshua Garnett
@joshgarnett
I need to follow up on the akka.net impl, but each instance should have a unique id when it spins up