These are chat archives for akkadotnet/akka.net

29th
Feb 2016
Jaben Cargman
@Jaben
Feb 29 2016 03:31
First, of all, thanks for all you Arron and folks for your hard work on Akka.NET, it's a great port and wonderful for the .NET community.
Quick question: if a remote connection initially fails (I see a 1st chance SocketException), how can I force Akka.NET to try and reconnect to the remote connection?
Aaron Stannard
@Aaronontheweb
Feb 29 2016 03:33
@Jaben yep - best way to do that is to deathwatch a remote actor
wait for a Terminated message to come in with Terminated.AddressTerminated == true
and then re-attempt to send that actor (or any other one of the remote machine) an ActorSelection
that will re-open the downed connection
Akka.Cluster does this for you
but with plain old Akka.Remote you need to DIY
it's not as smart as Cluster
Jaben Cargman
@Jaben
Feb 29 2016 03:35
I see! I'll just switch to cluster. Given it was a client side situation, I was thinking it had to be .Remote.
...for some reason. :)
Greatly appreciated
Aaron Stannard
@Aaronontheweb
Feb 29 2016 03:37
if you have remote clients connecting over the network, definitely stick with Akka.Remote - Akka.Cluster is really only intended for server-side applications with high availability requirements
clients that frequently connect and disconnect will make the cluster sad
Jaben Cargman
@Jaben
Feb 29 2016 03:37
ahh, yes, this is client windows services.
I'm currently using a AtLeastOnceDeliveryActor as my remote actor.
it can still handle this situation?
Jaben Cargman
@Jaben
Feb 29 2016 03:58
Thanks Arron, with your direction, I figured it out. I put the Watch on the remote actor and now am getting terminated events properly for the remote failure.
Onat Yiğit Mercan
@onatm
Feb 29 2016 08:27
hey i have a problem with cluster routing
why should we define nr-of-instances property to get more than 1 routee for broadcast group router?
it doesn't make any sense. if i want to remotely deploy a routee to a cluster node, why should i have to know number of intances?
is it by design or bug?
This message was deleted
Onat Yiğit Mercan
@onatm
Feb 29 2016 08:32
This message was deleted
akka {
  actor {
    provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
    deployment {
      /commander {
        router = broadcast - group
        routees.paths = ["/user/agent"]
        nr - of - instances = 100
        cluster {
          enabled = on
          max - nr - of - instances - per - node = 1
          allow - local - routees = off
          use - role = agent
        }
      }
    }
  }

  remote {
   log - remote - lifecycle - events = DEBUG
   log - received - messages = on

   helios.tcp {
     transport - class = "Akka.Remote.Transport.Helios.HeliosTcpTransport, Akka.Remote"
     applied - adapters = []
     transport - protocol = tcp
     hostname = "127.0.0.1"
     port = 2508
    }
  }

  cluster {
    seed - nodes = ["akka.tcp://Thirst@127.0.0.1:2508"]
    roles = [master]
  }
}
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 08:33
@onatm do you really need to provide nr-of-instances?
Onat Yiğit Mercan
@onatm
Feb 29 2016 08:33
@Horusiath it is my question :D
if i don't i get only 1
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 08:34
you've specified only 1 route in routees paths
so you have only one routee
tstojecki
@tstojecki
Feb 29 2016 08:42
thanks for the review @Silv3rcircl3 , the failed mutinode test, does that require a restart?
Marc Piechura
@marcpiechura
Feb 29 2016 08:51
@tstojecki yep, it fails now and then, nothing to worry about ;) but I can't restart the build so we need to wait until Aaron restarts it
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 08:51
@Silv3rcircl3 which PR?
Onat Yiğit Mercan
@onatm
Feb 29 2016 08:51
@Horusiath isn't that routee node specific? i mean for 1 node instance it should be 1 routee. am i wrong?
Marc Piechura
@marcpiechura
Feb 29 2016 08:51
#1729
ibrahim dursun
@idursun
Feb 29 2016 08:53
@Horusiath @Aaronontheweb told me that @onatm's problem is related with akkadotnet/akka.net#1189
in my case it was consistent-hashing-group, which got stuck with 1 routee although there were more than one nodes in the cluster with the same role. however if you specify nr-of-instances configuration to be larger than 1 then you get to see new nodes being added to the routees list
i have a repository to reproduce the issue at : https://github.com/idursun/akka.cluster.test
if i specify nr-of-instances in the configuration, it works, if i don't then it is always just one routee
Marc Piechura
@marcpiechura
Feb 29 2016 09:16
@Horusiath the remote round robin spec failed again
Onat Yiğit Mercan
@onatm
Feb 29 2016 11:20
i guess my problem is related to #1189
Grzegorz Bernas
@profesor79
Feb 29 2016 15:39
@Silv3rcircl3 room is "public" - apologies for late delay :P
Marc Piechura
@marcpiechura
Feb 29 2016 15:41
No problem, the reason was that I was on the phone and therefore couldn't add him by myself ;-) but have done it from the pc later on
Aaron Stannard
@Aaronontheweb
Feb 29 2016 16:48
@/all don't forget! Our virtual meetup is today at 10:00am PST (roughly 1 hour, 15 minutes from now) https://plus.google.com/u/1/b/102500449679363367469/events/cimbviu50hdo4e35ulqimmsu7uk - going to hear @nvivo talk about Even and @Horusiath present on Cluster.Sharding
Grzegorz Bernas
@profesor79
Feb 29 2016 16:49
waiting for that!
Chris Ray
@chris-ray
Feb 29 2016 16:53
Is there a YouTube live stream for this?
Stephan van Stekelenburg
@Stephanvs
Feb 29 2016 16:59
@Aaronontheweb will it be recorded? Because I won't be able to attend but am really interested in @nvivo talk about Even
Chris Ray
@chris-ray
Feb 29 2016 17:01
thanks Aaron!
Aaron Stannard
@Aaronontheweb
Feb 29 2016 18:23
@Stephanvs yep, it's always recorded
will be available on that youtube page later
ilhadad
@ilhadad
Feb 29 2016 18:42
Is there a way to set optional parameters for an actor's constructor? It seems to be ignoring my optional parameters.
Stephan van Stekelenburg
@Stephanvs
Feb 29 2016 19:09
Awesome, looking forward to seeing it!
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 19:33
@rogeralsing I hoped you won't be touching orleans comparison, I really didn't want to compare those models ;)
gosh, I hate my voice ;P
Natan Vivo
@nvivo
Feb 29 2016 19:36
tired
sorry for talking too much

Just to answer 2 pending questions:

@DamianReeves

Is there a concept of a snapshot store?

Aggregates don't support snapshots, and I believe they can be avoided. Aggregates are started on demand and kept in memory for some time after started, so even if there are thousands of events to build that aggregate, that would be pretty quick and the load would keep it in memory until not used for some time. - If there are things that require complex state built from lots of events, you can create external projections and minimize the need for snapshots. Not everything requires aggregates.

@Danthar

If i change the definition for an existing Projection. How would I rebuild this Projection? In the analogy of EventSourcing, how would i 'rebuild' my ReadStore

For in memory projections, they are rebuilt every time the app starts. For external projections, there is no current mechanism to "detect" errors, but just truncating the table and restarting the application is enough to rebuilt it from scratch.

Arjen Smits
@Danthar
Feb 29 2016 19:39
@nvivo yeah it wasn't totally clear with me in the beginning that it was an in-memory only projection. So thats why i asked :)
Boban
@bobanco
Feb 29 2016 19:55
Great speech guys, keep it up :+1: , regarding the orleans comparison, you can't actually compare them side by side, both are implementing the actor model but the abstractions are quite differnt, actually akka sharding is very similar to what orelans does, but in akka you have much more control over what you're doing , how the actors are instantiated, watching to the lifecycle of the other actor and so on, akka is a really powerful toolkit and you can easily build a framework like orleans on a top of it. We're using both in our projects based on our requirements, both are really good tools for the .NET ecosystem, which we missed them for quite long time.
Roger Johansson
@rogeralsing
Feb 29 2016 20:01
@bobanco any chance you might do a write up on that? I would love to see that, and I think it would be good for the community to see that the tools can co-exist and solve different things
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 20:05
@rogeralsing @Aaronontheweb could you move #1701 and #1727 ?
Aaron Stannard
@Aaronontheweb
Feb 29 2016 20:06
needs to be rebased?
#1701
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 20:07
sorry I meant #1717
akka.persistence upgrade and moving akka.streams to dedicated branch
Aaron Stannard
@Aaronontheweb
Feb 29 2016 20:07
ah
he needs to rebase #1717
I let @cconstantin know on the thread just now
Kamil Wojciechowski
@aph5nt
Feb 29 2016 20:08
how can I disable "Sending Heartbeat to" from my logs ? :D I would like to still receive other debug logs
actor {
provider = "Akka.Remote.RemoteActorRefProvider, Akka.Remote"
debug {
receive = on
autoreceive = on
lifecycle = on
event-stream = off
unhandled = on
}
}
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 20:08
I don't need coffee tonight, I'm so stressed after presentation, I won't sleep
Kamil Wojciechowski
@aph5nt
Feb 29 2016 20:08
tried with setting receive and autoreceive to off
Aaron Stannard
@Aaronontheweb
Feb 29 2016 20:08
@Horusiath merged #1727
@aph5nt hmmm.... might be a remoting setting we can turn off in the logs
Kamil Wojciechowski
@aph5nt
Feb 29 2016 20:09
yes its from remoting - heartbeat
Aaron Stannard
@Aaronontheweb
Feb 29 2016 20:10
got it - checking real fast
give that a try
akka.remote.log-sent-messages = off
@Aaronontheweb ok thx i will try
Kamil Wojciechowski
@aph5nt
Feb 29 2016 20:53
@q
@Aaronontheweb that did not help
remote {
log-sent-messages = off
log-received-messages = off
log-remote-lifecycle-events = off
im still spammed with log entries
Aaron Stannard
@Aaronontheweb
Feb 29 2016 20:53
might need to turn receive off then in the debug logging :\
not sure offhand
could you post the log message you get again?
Kamil Wojciechowski
@aph5nt
Feb 29 2016 20:54
21:51:36.069
rd0003ff88606a
DEBUGSending Heartbeat to ["akka.tcp://ServerSystem@10.0.0.4:10100"]{"propertiesObject":{"0":"akka.tcp://ServerSystem@10.0.0.4:10100","thread":"0014","logSource":"[akka...
21:51:36.069
rd0003ff88606a
DEBUGReceived heartbeat rsp from ["akka.tcp://ServerSystem@10.0.0.4:10100"]
Aaron Stannard
@Aaronontheweb
Feb 29 2016 20:55
yeah, it's probably not a remote setting that needs to be turned off then
some sort of Log.Debugcall being made
that's going to show up
brb - need to get some food, but take a look at the source and see where we're generating that
Kamil Wojciechowski
@aph5nt
Feb 29 2016 20:55
okidoki
Jordan S. Jones
@jordansjones
Feb 29 2016 21:44
When running the dual seed node setup, does each seed node configure itself and the other as a seed node or just itself or just the other?
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 21:44
@jordansjones are you defining seed-nodes inside hocon config?
Jordan S. Jones
@jordansjones
Feb 29 2016 21:45
Yes
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 21:45
so you don't need to do anything :)
Jordan S. Jones
@jordansjones
Feb 29 2016 21:45
So the seed nodes itself doesn’t need to be defined as a seed node in it’s config?
Bartosz Sypytkowski
@Horusiath
Feb 29 2016 21:47
if you have seed nodes A and B, just set seed-nodes = [A, B] in hocon config for each of them
Jordan S. Jones
@jordansjones
Feb 29 2016 21:47
Ok.. Thanks. That’s what I was thinking.
Zetanova
@Zetanova
Feb 29 2016 22:59
I watched the meatup video and got a nice idea for a VS plugin. It would be nice to include a sound icon to the class names in the source code, that on click will play the "read loudly" of the class-name from the creator of the libery :)
Aaron Stannard
@Aaronontheweb
Feb 29 2016 23:00
audio books for source code lol
imagine how awful that would be for whitespace sensitive languages
SPACE SPACE SPACE SPACE IF
Zetanova
@Zetanova
Feb 29 2016 23:01
only class names
and with the creators orignal voice / recording
Aaron Stannard
@Aaronontheweb
Feb 29 2016 23:05
haha
Aaron Stannard
@Aaronontheweb
Feb 29 2016 23:12
if you're looking to make a contribution to Akka.NET and aren't sure where to start, this would be a really valuable bug to find and fix (if it can be confirmed to exist): akkadotnet/akka.net#1734