Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
  • Sep 21 16:16
    dependabot[bot] labeled #5285
  • Sep 21 16:16
    dependabot[bot] opened #5285
  • Sep 21 16:16

    dependabot[bot] on nuget

    Bump Fsharp.Core from 5.0.2 to … (compare)

  • Sep 20 18:36
    Zetanova commented #5230
  • Sep 20 18:18
    Zetanova commented #5230
  • Sep 20 16:06
    to11mtm commented #5230
  • Sep 20 15:24
    Aaronontheweb commented #5230
  • Sep 20 14:15
    to11mtm commented #5230
  • Sep 20 13:56
    tcs-devel commented #3261
  • Sep 18 08:45
    Zetanova commented #5152
  • Sep 18 07:37
    Zetanova synchronize #5152
  • Sep 18 07:15
    Zetanova commented #5273
  • Sep 18 05:12
    Zetanova synchronize #5273
  • Sep 18 04:51
    Zetanova synchronize #5273
  • Sep 17 16:56
    Aaronontheweb commented #5273
  • Sep 17 08:49
    Zetanova review_requested #5273
  • Sep 17 03:30
    Zetanova synchronize #5273
  • Sep 17 02:41
    Zetanova commented #5273
  • Sep 17 00:44
    Arkatufus closed #5284
  • Sep 16 21:14
    Arkatufus opened #5284
Hyungho Ko
The remote system has quarantined this system. No further associations to the remote system are possible until this system is restarted.
How to solve it?
When it occur?
Aaron Stannard
occurs when a system message, which normally has reliable delivery attached to it, fails to get delivered
i.e. stopping an actor
death watching an actor
sending a Termination notice back
way to fix it is to restart the quarantined system
that quarantine signal basically means that the state of your ActorSystem is corrupt as far as the remote system is concerned
you can subscribe to a ThisSystemQuarantined event
from the EventStream
that you'll receive that signal when you are quarantined by someone else
Hyungho Ko
Yes I can subscribe to a "ThisSystemQuarantined" event.
but I don't know how to restart ActorSystem on run-time?
Aaron Stannard
you'd want to have something that sits outside the ActorSystem
that you can invoke from an actor
so in the case of a Topshelf service
I could have a static method I could invoke
that would dispose the old ActorSystem and re-create it
Hyungho Ko
Could you recommend some code or example for it?
I am wondering while ActorSystem re-creating
the remote another actor can send some messages to that?
is it ok?
Aaron Stannard
if you get quarantined by one system
that's only a 1:1 relationship
you might not be quarantined by the others
but I don't have any sample code on-hand unfortunately :(
Jack Wild
@Horusiath Please is there a way to create actors with DI where the actors has constructors params?
I would also like to know the answer to this one.
At the moment I create the actor using Context.ActorOf(Context.DI().Props<MyActor>())
Then send in an initialisation message which contains some state I want the actor to have. I'd rather pass this state into the constructor, along with the dependencies I want resolving using Akka.DI. Is this possible? Or are we asking for too much...
Hyungho Ko
when quarantined state, must ActorSystem re-start?
Aaron Stannard
that's the only way to clear the quarantine
Hyungho Ko
@Aaronontheweb thank you for your consideration.
Bartosz Sypytkowski
@jackowild there's no way atm to suply only part of the params
Lutando Ngqakaza

Whats the proper way to test my actors in a clustered environment. This? http://getakka.net/articles/networking/multi-node-test-kit.html

Lets say i want to test a very simple case of a message being sent through a cluster proxy being received by an actor bound to receive that message on the actual cluster?

Aaron Stannard
@Lutando I really need to do some videos on the multi-node testkit
which is the proper way to do integration testing with Akka.Cluster
let me grab you an example from the OSS real fast
so these are the specs we use to integration test Akka.Cluster itself
however, all of the tools for doing this are available on NuGet
https://www.nuget.org/packages/Akka.MultiNodeTestRunner/ - our specialized Xunit2 test runner
works on .NET and .NET Core
simulates a cluster by spawning multiple external processes, each one acting as an individual node
has the ability to do things like introduce packet loss, latency, etc
defines all of the methods needed to create a spec that can be run by the multi node test runner (MNTR)
it's the "happy path" spec for Akka.Cluster
spin up a cluster of N nodes