These are chat archives for akkadotnet/akka.net

18th
Aug 2015
Aaron Stannard
@Aaronontheweb
Aug 18 2015 00:10
I have vastly underestimated just how much stuff is different in this version
like, how do I install all of the normal stuff I need to make SignalR work? Do I need to install the client-side scripts separately from the NuGet package? Or do I need a special beta nuget package that's part of vNext? ;p
Ryan Davis
@rdavisau
Aug 18 2015 00:28
@Aaronontheweb something something project.json
Aaron Stannard
@Aaronontheweb
Aug 18 2015 00:28
JSON ALL THE THINGS
Ryan Davis
@rdavisau
Aug 18 2015 00:28
that's all I've got 😶
Aaron Stannard
@Aaronontheweb
Aug 18 2015 00:29
but wait, is that package.json, project.json, config.json, or one of the ones inside wwwroot?
:p
Ryan Davis
@rdavisau
Aug 18 2015 00:34
@Aaronontheweb : yes
:shipit:
Bartosz Sypytkowski
@Horusiath
Aug 18 2015 06:54
I'll never understand, who was stupid enough to use JSON as configuration format
Roger Johansson
@rogeralsing
Aug 18 2015 07:35
hocon is json :P
@cpx its on GH.. https://github.com/rogeralsing/Wire very experimental atm.. working on the version tolerance. still 10x faster than our json.net setup in akka.net with faulttolerance enabled...
Bartosz Sypytkowski
@Horusiath
Aug 18 2015 07:39
nope, HOCON is closer to javascript itself. My few favorite things people forgot about json:
  • it doesn't support date/time data types
  • it doesn't support comments (ofc VS2015 is hacking this around, which means that you'll get screen full of errors anytime you'll try to open project.json file in some other editor, and VS won't warn you about unparsable json file, that is going to be passed to i.e. browser)
nodejs community has this problem all the time - there is already nice collection of hacks for this, but ofc MS solution is incompatible with nodejs formats
Christian Palmstierna
@cpx86
Aug 18 2015 10:19
@rogeralsing nice stuff. that is pretty darn fast.
Roger Johansson
@rogeralsing
Aug 18 2015 10:23
pretty fun to code, shaving nano seconds off here and there. going to add surrogate support to it too
Christian Palmstierna
@cpx86
Aug 18 2015 10:26
benchmarked it quickly against binaryformatter. ~2.5x faster :)
not as fast as protobuf though, but it's probably pretty hard to beat protobuf :P
Emil Ingerslev
@emilingerslev
Aug 18 2015 10:52
Is it possible to host multiple processes on the same machine each with an ActorSystem connected with remoting, without explicitly giving them each an unique port? That is, is it possible to autoselect ports using seed nodes or something alike?
Roger Johansson
@rogeralsing
Aug 18 2015 10:53
You can turn off version tolerance that makes it a bit faster
Bartosz Sypytkowski
@Horusiath
Aug 18 2015 10:59
@emilingerslev if you have cluster scenario, you can simply set port only for seed node (or use lighthouse as preconfigured seed), and the rest of the joining nodes will connect to the cluster
but if you want to have non-clustered remote nodes, you'll need some kind of well-known mediator, that could be used to share endpoint info between nodes
foo bar code
@lepinay
Aug 18 2015 11:04
Quick question: is it safe to compare two IActorRef using == operator ?
Emil Ingerslev
@emilingerslev
Aug 18 2015 11:09
@Horusiath A cluster with seed node or lighthouse seems like what we want. I was just a bit unsure if you needed to supply a port for other nodes to connect to.
Roger Johansson
@rogeralsing
Aug 18 2015 12:09
@lepinay no, as IActorRef is an interface and == operator can not be overridden for interfaces. you should use .Equals(other) instead
foo bar code
@lepinay
Aug 18 2015 12:31
@rogeralsing Ah!, I didn't think about that, thanks :)
Graeme Bradbury
@GraemeBradbury
Aug 18 2015 12:56
Seems I don't have permissions to assign myself to issue #1245 anyone else able?
Roger Johansson
@rogeralsing
Aug 18 2015 13:38
@GraemeBradbury I added you to the contributors list, so you should be able now once you accept the invite
Wally S
@wshirey
Aug 18 2015 13:44
hello all, i wanted to help with a lighthouse issue. what's the process you guys have for assigning issues? petabridge/lighthouse#10
Graeme Bradbury
@GraemeBradbury
Aug 18 2015 13:51
@rogeralsing I'm already part of the contributors list.
Ryan Davis
@rdavisau
Aug 18 2015 14:08
@wshirey I had added command line options support (part 1) here: rdavisau/lighthouse@8788224, but also seem to have broken something in the process and haven't yet gotten around to working out what it was :worried:
Ryan Davis
@rdavisau
Aug 18 2015 14:13
I am a bit short on time at the minute so feel free to tackle it yourself, taking any inspiration from what's there. If you're not familiar with TopShelf (as I wasn't), it's work noting that I found it to be very precious about handling command line arguments - it would error out if anything was specified on the command line that it was not informed of by calls like AddCommandLineDefinition.
Besides being generally frustrating, that also pretty much locks you in to handling commandline args via TopShelf, rather than any other lib
(edit: just saw you had posted some ideas on the issue, will mention bits there)
Wally S
@wshirey
Aug 18 2015 14:22
i spent a few minutes yesterday but didn't get far enough to test and find that topshelf takes over the cmd line args processing
Ryan Davis
@rdavisau
Aug 18 2015 14:24
yes, I believe it works straight from Environment.CommandLine, which makes it hard to interfere with
it wouldn't be a problem, except that it croaks when it encounters an argument it wasn't configured to handle
Alan Schrank
@alanschrank
Aug 18 2015 14:44
Do all messages flow over the EventBus/(EventStream) or only those that are specifically published on it?
Aaron Stannard
@Aaronontheweb
Aug 18 2015 15:00
@emilingerslev definitely recommend that you check out the video on clustering - it's a bit long but it'll give you the details you're looking for: https://www.youtube.com/watch?v=mUTKvGyxbOA
Emil Ingerslev
@emilingerslev
Aug 18 2015 15:06
@Aaronontheweb thanks, I will definitely watch that!
Aaron Stannard
@Aaronontheweb
Aug 18 2015 15:30
@wshirey looks like both you and @rdavisau were collaborating in the comments - I left my thoughts on there
let me know if you need any more support from me!
Aaron Stannard
@Aaronontheweb
Aug 18 2015 15:49
A lot of you guys probably get Petabridge's emails, so you may have seen this already - but if not, I recommend that you read it: https://petabridge.com/blog/stateful-web-applications/ - if you heard us talk at the Virtual meetup last week about leveraging "stateful" application development with actors and why it's so powerful, give this a read
jweimann
@jweimann
Aug 18 2015 15:54
reading through it now
nice, didn't realize there were 100 ppl in that meetup. pretty impressive
Aaron Stannard
@Aaronontheweb
Aug 18 2015 15:55
yeah, at any given time we had 50 people concurrently, but it ended up being north of 100 total who had attended the meetup for at least some portion of time
Weston
@ronnyek
Aug 18 2015 15:58
so the akkaio stuff for tcp, would that share listening port across actors
or does it require port per
Roger Johansson
@rogeralsing
Aug 18 2015 16:41
@cpx you ran the serializer in debug mode, right?
because..:
fast.png
beating protobuf when no version tolerance :D
Christian Sparre
@christiansparre
Aug 18 2015 17:30
Hi, I'm looking a bit on Akka.Cluster and see a lot of examples with routing. Is all communication with actors when using Akka.Cluster done through routing? I might have some actors that there should only be one of. How do I get a hold of that one? I've been looking around the WebCrawler sample and I see a lot of routers...
Ivan R. Perez
@irperez
Aug 18 2015 18:07
@Aaronontheweb just a heads up, I put in a pull-request for a bug I found with the performance counters.
Aaron Stannard
@Aaronontheweb
Aug 18 2015 18:08
thanks @irperez - I appreciate that. I'm glad you caught it.
Despite that bug though, Akka.Monitoring working out well for you?
Ivan R. Perez
@irperez
Aug 18 2015 18:10
It is. The perf counters are great. Its the insight I needed.
Christian Palmstierna
@cpx86
Aug 18 2015 18:34
@rogeralsing Now that you mention it, yeah I did. Those are awesome numbers!
Aaron Stannard
@Aaronontheweb
Aug 18 2015 19:04
if you're participating in the Akka.Cluster contributor's meetings, we're starting now - if you had no idea this was going on and want to start contributing going forward, jump on in here https://plus.google.com/hangouts/_/ytl/sSPRzi9D_lWeJgtaM57TzySeAJ-lKVqFEZf-Iu_Nh8g=
Aaron Stannard
@Aaronontheweb
Aug 18 2015 20:11
finished our Akka.Cluster contributor's meeting - we did a pretty job documenting and exploring how the multi-node test runner actually works. If you folks are interested in working on Akka.Remote, Akka.Cluster, Cluster.Sharding, etc... this is good stuff to know: https://www.youtube.com/watch?v=xwmHWnIUmTY
Ryan Davis
@rdavisau
Aug 18 2015 20:22
@Aaronontheweb sounds great, will definitely check it out :+1:
Bartosz Sypytkowski
@Horusiath
Aug 18 2015 20:22
I've seen it, great job :+1:
Bartosz Sypytkowski
@Horusiath
Aug 18 2015 20:49
btw. since event adapter stuff is done, I want to standarize SQL-based journals a little (Akka.Persistence.Sql.Common) and add a querying capabilities to them (my proof of concept branch)
Aaron Stannard
@Aaronontheweb
Aug 18 2015 20:51
@Horusiath I saw your question about SQL.Common earlier
each of the Akka.Persistence implementations gets a nightly integration test anytime our dev branch changes
where we automatically upgrade them to the latest version of Akka.NET
Bartosz Sypytkowski
@Horusiath
Aug 18 2015 20:51
this addresses problems with querying event journal for aggregated data across many persistent actors
Aaron Stannard
@Aaronontheweb
Aug 18 2015 20:51
including their other dependencies
Bartosz Sypytkowski
@Horusiath
Aug 18 2015 20:52
great :) this should help, when I'll start to mess around
Aaron Stannard
@Aaronontheweb
Aug 18 2015 20:52
yeah, you just need to make sure you check http://petabridge-ci.cloudapp.net
because right now I don't have any way of having those integration builds "push" their results out to any external service yet
might have them send an email to a mailing list or post a Github issue
Bartosz Sypytkowski
@Horusiath
Aug 18 2015 20:53
I've also found a problem: since sql.common is purely abstract lib, we need to test it somehow on akka core level
Aaron Stannard
@Aaronontheweb
Aug 18 2015 20:53
that actually sounds like a pretty cool problem to work on IMHO :package:
Aaron Stannard
@Aaronontheweb
Aug 18 2015 23:22
@GraemeBradbury think I find the issue with #1261
just saw one of these Google.ProtocolBuffers.UninitializedMessageException get thrown when the NodeTestRunner was booting up
happened inside the plumbing of the TestConductor
the error has a pretty specific meaning - a Protobuf was missing a required field: https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/UninitializedMessageException
I'm going to poke around and debug this and see if I can isolate the issue
Bobby
@bobbychopra
Aug 18 2015 23:32
any way to check what your current actor queue size is (no of messages waiting to be processed or size of Stash) and what is the throughput of the actor (eg. Message/sec)?
Aaron Stannard
@Aaronontheweb
Aug 18 2015 23:44
@bobbychopra in terms of measuring the throughput of an actor, you can use this to instrument the Receive method: https://github.com/petabridge/akka-monitoring
supports AppInsights, StatsD, and now performance counters
as for measuring the queue length of the mailbox - unfortunately there isn't a public API to access that :\
we'll be working on that when we do a more "holistic" solution for integrating monitoring directly into Akka.NET core
essentially we're going to have an engine in place, not too different from our logging engine, which will expose metrics and drains for collecting those sorts of metrics
that's a way's out for the time being though - no plans to start on that until some other big pieces of infrastructure (i.e. Akka.Cluster, TLS) are finished