These are chat archives for akkadotnet/akka.net

9th
Feb 2015
Aaron Stannard
@Aaronontheweb
Feb 09 2015 07:22
that reminds me @rogeralsing, do we still have a to-do item for configurable named dispatchers and all that jazz?
or is that already implemented?
Roger Johansson
@rogeralsing
Feb 09 2015 07:26
Not sure how complete that support is, we do have named dispatchers and they can be configured with throughput settings etc. but I dont think we support any extra config except from that
Aaron Stannard
@Aaronontheweb
Feb 09 2015 07:26
there are a few places within Akka.Remote and Akka.Cluster that need them, marked with todo:
if that stuff is good to go now then I might go back through and start tidying those up
since I'm going to be neck-deep in that stuff for the next couple of weeks
Roger Johansson
@rogeralsing
Feb 09 2015 07:27
what do they need? just different dispatchers?
Aaron Stannard
@Aaronontheweb
Feb 09 2015 07:27
yeah, basically the /system/ level actors for those packages that are really chatty run on their own dispatchers
mostly it's for stuff like heartbeats and cluster gossip
right now they just run on the default dispatcher
Roger Johansson
@rogeralsing
Feb 09 2015 07:28
ah, yes that should work just fine. just set a different dispatcher and make the dispatcher handle its own threads or whatever
Aaron Stannard
@Aaronontheweb
Feb 09 2015 07:28
cool, I'll do that - if the named dispatcher stuff works then that should be easy
Aaron Stannard
@Aaronontheweb
Feb 09 2015 07:30
beautiful
ok great, I'll create this as an issue
@rogeralsing in your PR, did you update the version of XUnit?
Roger Johansson
@rogeralsing
Feb 09 2015 07:39
that is using the nuget deployed vs runner.. not sure if that is the way to go(?) the xunit 2.0 runner will not deployed as an addon but just as a nuget project reference for the test projects
Aaron Stannard
@Aaronontheweb
Feb 09 2015 07:41
ah, here's the reason why I ask: #601
might be hitting an XUnit bug that's fixed in the latest RC
we're currently using latest stable
David Smith
@smalldave
Feb 09 2015 10:11
we've been using xunit 2+ for a while now. running tests concurrently is a very big plus for us. however tooling like resharper test runner is a bit behind. also had a number of our tests start to hang when we moved to latest release candidate so we rolled back to previous version we were using. in short best to check that positives outweigh cons before upgrading
Aaron Stannard
@Aaronontheweb
Feb 09 2015 19:55
@avoxm @jcwrequests just saw this today from MSFT - might be able to use it for buffer recycling inside Helios for decreased GC pressure: http://www.philosophicalgeek.com/2015/02/06/announcing-microsoft-io-recycablememorystream/
Roger Johansson
@rogeralsing
Feb 09 2015 20:52
:+1:
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 21:26
I've just rebased latest version of akka dev and found 3 failing (repeatedly) tests in Akka.MultiNodeTestRunner.Shared.Tests.ParsingSpec
Aaron Stannard
@Aaronontheweb
Feb 09 2015 21:26
@Horusiath make any changes to the built in "ToString" for log messages?
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 21:26
nope
do you want some stack traces?
Roger Johansson
@rogeralsing
Feb 09 2015 21:27
Is it the cluster parse config stuff? in that case, Ive seen it too
Aaron Stannard
@Aaronontheweb
Feb 09 2015 21:27
yeah, let's see the stack trace
those ParsingSpecs have a bunch of Regexes they depend on and are designed to fail if anyone changes the string formatting they depend on
but if that's not the issue then it's something else
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 21:28
@Aaronontheweb priv
Aaron Stannard
@Aaronontheweb
Feb 09 2015 21:28
thanks
yeah, looks like it's a Regex issue - let me see if it fails locally for me RQ
Roger Johansson
@rogeralsing
Feb 09 2015 21:29
could it be something with localization?
e.g. decimal point character differing
Aaron Stannard
@Aaronontheweb
Feb 09 2015 21:29
I think we use InvariantCuluter
Culture*
but that's a good idea
on DEV branch I get a pass
so yes, I think you're right @rogeralsing
looks like my Regex fails when it's not en-US - probably the date formatting
Roger Johansson
@rogeralsing
Feb 09 2015 21:31
ah, yes, the notorious american date format ;)
Aaron Stannard
@Aaronontheweb
Feb 09 2015 21:32
time to fire up RegexBuddy, the single source of truth :oden:
Roger Johansson
@rogeralsing
Feb 09 2015 21:32
date
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 21:33
second weirdest thing after US customary units
Roger Johansson
@rogeralsing
Feb 09 2015 21:35
ye, lets measure stuff based on various body parts :)
Aaron Stannard
@Aaronontheweb
Feb 09 2015 21:35
not our fault, we got that one from the English
yeah, I see what the problem is
it's the date format
do me a favor @Horusiath
going to link you to a line of code...
change that Regex string to this
@"[(\w){4}(?<node>[0-9]{1,2})][(?<level>(\w))][(?<time>\d{1,4}[- /.]\d{1,4}- /.]\d{1,4}\s\d{1,2}:\d{1,2}:\d{1,2}\s(AM|PM))\])[(?<logsource>([|\w|:|/|(|)|]|.|-|\$|%|+|\^|@))]\s(?<message>(\w|\s|:|<|.|+|>|,|[|/|-|]|%|\$|+|\^|@))
@"\[(\w){4}(?<node>[0-9]{1,2})\]\[(?<level>(\w)*)\]\[(?<time>\d{1,4}[- /.]\d{1,4}[- /.]\d{1,4}\s\d{1,2}:\d{1,2}:\d{1,2}\s(AM|PM))\](?<thread>\[(\w|\s)*\])\[(?<logsource>(\[|\w|:|/|\(|\)|\]|\.|-|\$|%|\+|\^|@)*)\]\s(?<message>(\w|\s|:|<|\.|\+|>|,|\[|/|-|]|%|\$|\+|\^|@)*)
and see if that works
Internationalization is a fun problem - we had several weeks of Q&A at MarkedUp dedicated to making sure all of the JSON-encoded dates our front-end collected from the user's browser were all in the same format
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 21:40
still failing
Roger Johansson
@rogeralsing
Feb 09 2015 21:42
This message was deleted
This message was deleted
This message was deleted
This message was deleted
This message was deleted
    public override string ToString()
    {
        return string.Format("[{0}][{1}][Thread {2}][{3}] {4}", LogLevel().ToString().Replace("Level", "").ToUpperInvariant(), Timestamp, Thread.ManagedThreadId.ToString().PadLeft(4, '0'), LogSource, Message);
    }
there is no invariant culture appliet to timestamp
Aaron Stannard
@Aaronontheweb
Feb 09 2015 21:43
should we apply one to it?
Roger Johansson
@rogeralsing
Feb 09 2015 21:43
I think so,
Aaron Stannard
@Aaronontheweb
Feb 09 2015 21:43
ok, let's give that a shot then
can you give that a try @Horusiath and see if it passes?
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 21:50
as I understand, desired version is : Timestamp.ToString("c", CultureInfo.InvariantCulture)
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 21:55
in that case I get System.FormatExceptionInput string was not in a correct format.
could we make this behavior repeatable on @Aaronontheweb comp? eg. switch to UK culture or something?
I feel bad as remote debugging tool ;)
Roger Johansson
@rogeralsing
Feb 09 2015 21:57
omg, is invariant culture in american date format!? thought it was yyyyMMdd
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 21:58
hehe, my try was ISO standard
Aaron Stannard
@Aaronontheweb
Feb 09 2015 22:02
American format is best format :p
@Horusiath here's what we can do
debug the following unit test and capture the value of this variable
foundMessageStr
send that result back to me and I'll create a "non-US culture" test for that
which can run regardless of what the culture of the machine is, since our AppVeyor machines are also running en-US
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 22:05
[NODE1][DEBUG][2015-02-09 23:05:08][Thread 0008][[akka://ParsingSpec-1/user/$b]] Received message LOG ME!
Aaron Stannard
@Aaronontheweb
Feb 09 2015 22:05
ty
parsing log messages from standard out redirection isn't an exact science :p
I'll also change my culture to UK and run some tests on the log formatting
I'll create an issue for this and self-assign it
so don't worry about the failing tests
Bartosz Sypytkowski
@Horusiath
Feb 09 2015 22:07
Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems.
Aaron Stannard
@Aaronontheweb
Feb 09 2015 22:07
let me tell you about the time I wrote a DSL parser that used regular expressions to lex an abstract syntax tree
(just kidding, it was not a pleasant experience :p )
Aaron Stannard
@Aaronontheweb
Feb 09 2015 22:13
@smalldave I'm finally getting around to writing the ThrottleTransportAdapter and the FailureInjectorTransportAdapter
honestly, they're pretty fun!
randomly deciding to annihilate or delay a packet and seeing how the cluster reacts is pretty neat
Aaron Stannard
@Aaronontheweb
Feb 09 2015 23:56
@rogeralsing looks like they rewrote Ask<> support in cannonical Akka: https://github.com/akka/akka/blob/master/akka-actor/src/main/scala/akka/pattern/AskSupport.scala
separate the FutureActorRef out into two parts
AskableActorRef
and PromiseActorRef
going to implement PromiseActorRef since I need it for some of the Akka.Remote stuff I'm doing today