Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 05:20
    Arkatufus synchronize #6026
  • 05:19
    Arkatufus synchronize #6025
  • Jun 27 22:36

    Aaronontheweb on dev

    [Async TestKit] Convert Akka.St… (compare)

  • Jun 27 22:36
    Aaronontheweb closed #6023
  • Jun 27 21:33
    dependabot[bot] synchronize #5951
  • Jun 27 21:33

    dependabot[bot] on nuget

    Bump FluentAssertions from 5.10… (compare)

  • Jun 27 21:33
    dependabot[bot] synchronize #5366
  • Jun 27 21:33
    dependabot[bot] synchronize #5417
  • Jun 27 21:33
    dependabot[bot] edited #5951
  • Jun 27 21:33

    dependabot[bot] on nuget

    Bump System.Configuration.Confi… (compare)

  • Jun 27 21:33

    dependabot[bot] on nuget

    Bump System.Threading.Channels … (compare)

  • Jun 27 21:33
    dependabot[bot] synchronize #5998
  • Jun 27 21:33
    dependabot[bot] synchronize #5370
  • Jun 27 21:33
    dependabot[bot] synchronize #5605
  • Jun 27 21:33
    dependabot[bot] edited #5366
  • Jun 27 21:33
    dependabot[bot] edited #5417
  • Jun 27 21:33

    dependabot[bot] on nuget

    Bump Fsharp.Core from 6.0.1 to … (compare)

  • Jun 27 21:33

    dependabot[bot] on nuget

    Bump System.Collections.Immutab… (compare)

  • Jun 27 21:33

    dependabot[bot] on nuget

    Bump Microsoft.Extensions.Hosti… (compare)

  • Jun 27 21:33
    dependabot[bot] edited #5998
Aaron Stannard
@Aaronontheweb
@andreyleskov debugging MNTR specs is a dark art
having done it for years, I have a couple of approaches I use
first - relying on logging as your primary source of information is the lowest-friction path
trying to debug 4-5 processes running concurrently
is going to end poorly usually
especially if you don't know where the problem is
Andrey Leskov
@andreyleskov
oh, >_< yep
Aaron Stannard
@Aaronontheweb
you can use the child process debugger extension
is a free add-on to Visual Studio
zero clue if that supports .NET Core or not
that can help get the debugger attached to breakpoints in the child process
so my methodology is this: use logging to smoke out the error
the MNTR runner will produce detailed logs for each node
and the overall test run report will show you which nodes had failed assertions
get enough log data to form a theory as to why the thing might be failing
Andrey Leskov
@andreyleskov
ok, thank you for fast and detailed answer! will try the dark art )
Aaron Stannard
@Aaronontheweb
and once you have that, then it becomes more feasible to try and use breakpoints
conditional break points are you best friend here too, btw
should only start firing once you're close to the error condition
multi-node tests, by their very nature, are big and cumbersome
but they're the most reliable way to put real-world theories around handling things like failover, network issues, etc, to the test
Andrey Leskov
@andreyleskov
ok, can I use 1-node cluster in TestKit - based tests for basic functionality verification, using cluster.sharding ?
Aaron Stannard
@Aaronontheweb
so to give you an example of something I'm using the MNTR for in my own application
I have a failover scenario where a cluster singleton has to migrate from one node to another
Andrey Leskov
@andreyleskov
it is interesting
Aaron Stannard
@Aaronontheweb
and the other nodes relying on data from that singleton must be able to receive notifications about the location of the new singleton on the network
I'm going to be using the MNTR to test my recovery mechanism there
because a simple unit test can't do it justic3e
have a similar scenario where the node with the singelton running on it gets blacked out temporarily and comes back
"does my cluster react according to my plan?" is what my MNTR spec tries to answer there
Andrey Leskov
@andreyleskov
ok, it seems I should use MNTR tests only for high-level scenarios, and test all application logic with TestKit
by the way - is there any good profiling tool for akka.net like dotTrace? I'm using NBench to measure performance and looking for a simpler ways to find bottlenecks
or any guide how to analyze akka-based application performance with common tools
best practices, may be
@thomaslazar please provide a minimal example for reproducing the issue
Aaron Stannard
@Aaronontheweb
working on something for doing much more detailed system tracing and monitoring
but it's in early stages still
Andrey Leskov
@andreyleskov
ok, I'm sure it will be great !
Jalal EL-SHAER
@jalchr

Hi @Aaronontheweb
In your post here: https://petabridge.com/blog/intro-to-persistent-actors/ , you mentioned the following:

The PersistenceId and the SequenceNr, together, form the primary key. And the sequence number is a value that monotonically increases in-memory inside the persistent actor - so imagine if you have two actors with the same PersistenceId but different sequence numbers writing to the same store. It will be chaos and will inevitably error out - so that’s why it’s crucial that every PersistenceId be globally unique within your ActorSystem (at least for all actors writing to that store.)

I have a question regarding the "PersistenceId" in Akka.net in a cluster. Does it work like this or should I need a specifier per node ?

Joshua Garnett
@joshgarnett
Good morning everyone
Thusitha
@dnnbuddy
how stable is the .net port of the framework compared with the original akka version? Do we have information on that?
Joshua Garnett
@joshgarnett
1.3 brought in some breaking changes, mostly that was to bring it closer to the originak Akka version
Bartosz Sypytkowski
@Horusiath
@jalchr PersistenceId is an unique logic identifier of a target component, think of it as i.e. user id.
Ricardo Abreu
@codenakama

hey guys, I keep getting this error using actors in a cluster and sending messages:

[ERROR][10/15/2017 11:13:38][Thread 0010][remoting] Cannot find serializer with id [9]. The most probable reason is that the configuration entry 'akka.actor.serializers' is not in sync between the two systems.

however the config is the same in all projects
I tried NewtonsoftJson and Messagepack without success. In my previous tests it was working though :/

my hocon config

akka { actor { provider = \"Akka.Cluster.ClusterActorRefProvider, AkkA.Cluster\" } remote { log-remote-lifecycle-events = DEBUG, helios.tcp { hostname = \"localhost\", port = 7000 } } cluster { seed-nodes= [ \"akka.tcp://ClusterSystem@localhost:7000\" ] } serializers { messagepack = \"Akka.Serialization.MessagePack\" } serialization-bindings { \"System.Object\" = messagepack } }

Ricardo Abreu
@codenakama
can anybody share their hocon config within a cluster?
one with serializers setup
also how hocon is better than json or xml? it seems to not work properly when I have breaklines in the wrong place (sometimes added by the editor) and I have to scape parenthesis