Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Mar 28 08:16
    AzureGulf commented #4360
  • Mar 28 08:14
    AzureGulf commented #4360
  • Mar 28 01:29
    Aaronontheweb commented #4360
  • Mar 28 01:25
    Aaronontheweb synchronize #4361
  • Mar 28 00:48
    Aaronontheweb synchronize #4361
  • Mar 28 00:44
    Aaronontheweb opened #4361
  • Mar 27 20:32
    Aaronontheweb milestoned #4360
  • Mar 27 20:32
    Aaronontheweb commented #4360
  • Mar 27 20:32
    Aaronontheweb assigned #4360
  • Mar 27 20:32
    Aaronontheweb labeled #4360
  • Mar 27 20:32
    Aaronontheweb labeled #4360
  • Mar 27 19:18
    dependabot-preview[bot] synchronize #3986
  • Mar 27 19:18

    dependabot-preview[bot] on nuget

    Bump NUnit from 3.6.1 to 3.12.0… (compare)

  • Mar 27 19:18
    dependabot-preview[bot] edited #3986
  • Mar 27 19:18
    dependabot-preview[bot] synchronize #4337
  • Mar 27 19:18

    dependabot-preview[bot] on nuget

    Bump FSharp.Quotations.Evaluato… (compare)

  • Mar 27 19:18
    dependabot-preview[bot] edited #4337
  • Mar 27 19:17
    dependabot-preview[bot] edited #3986
  • Mar 27 19:17
    dependabot-preview[bot] edited #4337
  • Mar 27 19:16

    Aaronontheweb on dev

    Sharding update (#4354) * Avoi… (compare)

Aaron Stannard
@Aaronontheweb
@rogeralsing btw, have virtual nodes and all of that fun stuff implemented now
had to rewrite our Murmur3 implementation in order to support it
(followed the Scala implementation - it wasn't so different from mine, just optimized for being able to construct a hash in discrete steps)
(rather than treating it like a black-box all-or-nothing operation)
Roger Johansson
@rogeralsing
Nice :)
Roger Johansson
@rogeralsing
@Horusiath are you by any chance an old WoW gamer? from the looks of your alias :)
Aaron Stannard
@Aaronontheweb
@/all Unit2 for Akka.NET bootcamp is now available ;) https://github.com/petabridge/akka-bootcamp/tree/master/src/Unit-2
jcwrequests
@jcwrequests
@aaronontheweb the boot camp looks awesome. I will be adding it to my personal work load for the coming week. Good job 👍
Aaron Stannard
@Aaronontheweb
thanks @jcwrequests! We still have unit 3 to come yet but that'll be a ways off - unit 2 covered a lot of stuff, especially for folks who want to do WinForms / WPF / client programming with Akka.NET
jcwrequests
@jcwrequests
@Aaronontheweb Thanks again for sending the information on Resizer with Routing. The only problem is I can not figure out how to hook up the resizer to a ConsistentHashingGroup. The example you provided with with round robins. Any advice?
Aaron Stannard
@Aaronontheweb
Resizers only work with ConsistentHashingPool :p
group routers don't manage their routees
however, for turning on a resizer with consistent hashing pools
let me see if I can find a config example for that - about to head out but I'm in the middle of updating all of the consistent hashing routers now
brought them up to code with JVM akka, includes fun stuff like virtual nodes
jcwrequests
@jcwrequests
Okay got it. I will check that out. It should be fun once I get it hooked up to my eventstore with aggregates.
Once I get that done I may see if I have any Azure time left at work and try a stress test. My small Asus Ultra slim with an i5 is not the best for that sort of thing. Thanks again. I am will talk to you soon. Signing off here on the east coast.
One last thing I am blogging all about this experience so I may ping you with some research questions. Cheers and have a good one.
Håkan Canberger
@HCanber
I'm seeing PR:s (like #689 and #691) with no explanation to why they are submitted. I think A PR should at least have a sentence or two explaining why the changes are being made and what the changes are, even if it's only white space changes. In the case of #689 several bugs were introduced. An explanation to why the changes were made could have saved me some time, instead I had to decipher what was done, and trying to figure out why it had been changed. Thoughts?
Bartosz Sypytkowski
@Horusiath
@rogeralsing yep, old times ;)
Roger Johansson
@rogeralsing
Håkan, to get the community onboard, the more interest the better, and even if a PR is just ws, if it makes the code cleaner, why not? And regarding the child stats bug, thats on us if we dont have test coverage for it, the intended behavior cant just be in someones head. We do need more tests, and now we found a place where we could improve it.
Bartosz Sypytkowski
@Horusiath
we need to fix this damn test suite, I've got all the configurations of passing/failing tests, depending on FAKE test run, Resharper (with different configs) and maybe even phases of the moon
since tests are failing randomly for any reason
Roger Johansson
@rogeralsing
Threads run slower during fullmoon, dont you know? :P
Håkan Canberger
@HCanber
@rogeralsing Just to be clear, I'm not blaming the contributor, it's all on us. For not having tests, for not reviewing properly. As we know we don't have tests for everything, we have to be very restrictive when accepting PR:s in the core, and review everything thoroughly.
Håkan Canberger
@HCanber
I'm not saying we should stop small PR:s, just saying PR's should contain something that in short says what's been done, and why.
Rodrigo Vidal
@rodrigovidal
@HCanber Sorry about the PRs without description, they were supposed to be refactorings, so I thought they were self explaining. I'll try to do it right next time.
Aaron Stannard
@Aaronontheweb
@Horusiath my theory on why the tests fail is that we're using, on purpose, relatively small Azure VMs - the smallest 2-core instance I could find
I picked that size for the build server because that's the sort of VM I'd expect a basic Akka.NET application to run on on Azure
on my build machine the entire test suite passes pretty reliably most of the time, although some of the same tests that fail on the build server occasionally fail here too but way less often
err, development machine :p - giant Asus gaming laptop with 4 intel core i7s
I think the stuff that fails is either inherently racy or we're running into some system resource issue that causes tests with realtime constraints (i.e. expect message within 3 seconds) to timeout
so I've tried doing stuff like adding explicit garbage collection during the shutdown or every TestKit run
to help eliminate GC pauses as a potential issue
and others
but still, these few tests are a pain in the ass ;p - I will work with you to help fix them and would love everyone else's help too
getting that green check mark at the end of each commit
makes everyone feel good :shipit:
Bartosz Sypytkowski
@Horusiath
When I run whole test suite of almost 900 tests at once, even my 8 cores + 16GB are not enough -> it would be great if somebody would create a tool which run tests related only to changed code ;) <dreaming/project-idea>
btw. I occasionally find that JSON.NET is failing while trying to serialize messages with an error inside
maybe we should enable Exception(SerializationInfo info, StreamingContext context) to be reached from AkkaException and inheriting classes?
Roger Johansson
@rogeralsing
:+1: on that
Roger Johansson
@rogeralsing
@Aaronontheweb @HCanber @Horusiath and al I'm going on vacation for a week now, back next monday.
Aaron Stannard
@Aaronontheweb
have fun @rogeralsing - we promise not to do anything crazy while you're gone (rewrite all major modules in VB.NET)
jcwrequests
@jcwrequests
@Aaronontheweb When using resizers what information need to be defined in the config?
var config = ConfigurationFactory.ParseString(@"
routees.paths = [
""akka://MySystem/user/Worker1"" #testing full path
user/Worker2
user/Worker3
user/Worker4
]");
        using (var system = ActorSystem.Create("MySystem"))
        {

            var resizer = new DefaultResizer(3, 5, pressureThreshold: 1, rampupRate: 0.1d, backoffRate: 0.0d,
            messagesPerResize: 1, backoffThreshold: 0.0d);
            var pool = new ConsistentHashingPool(config);
            pool.Resizer = resizer;

            var router = system.ActorOf(Props.Create<TypedWorker>().WithRouter(pool));
Aaron Stannard
@Aaronontheweb
I think you need to do resizer = enabled
let me double check
jcwrequests
@jcwrequests
As an example of some sample code I am switching over
Aaron Stannard
@Aaronontheweb
err, resizer = on