Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 12:04
    nagytech synchronize #4092
  • 11:53
    nagytech synchronize #4092
  • 11:49
    nagytech edited #4092
  • 11:40
    nagytech opened #4092
  • 11:32
    nagytech edited #4091
  • 11:32
    nagytech opened #4091
  • 10:13
    nagytech commented #3954
  • 05:29
    nagytech commented #4090
  • 05:29
    nagytech opened #4090
  • Dec 11 23:52
    scptre commented #4082
  • Dec 11 14:26
    nagytech commented #3954
  • Dec 11 11:18
    nagytech edited #4089
  • Dec 11 11:17
    nagytech opened #4089
  • Dec 11 11:00
    nagytech commented #4083
  • Dec 11 08:34
    jiyeongj commented #4083
  • Dec 11 08:33
    jiyeongj commented #4083
  • Dec 11 08:33
    jiyeongj commented #4083
  • Dec 11 07:57

    dependabot-preview[bot] on nuget

    (compare)

  • Dec 11 07:57

    dependabot-preview[bot] on dev

    Bump MongoDB.Driver from 2.9.1 … (compare)

  • Dec 11 07:57
    dependabot-preview[bot] closed #104
qwoz
@qwoz

hm... I'm using SmallestMailboxPool over the actor that sends out emails to have a bunch available. That actor simply does:

Receive<Email>(email => // SMTPClient stuff here );

so I'd think it wouldn't actually finish and clean up the actor prior to that call completing.

Aaron Stannard
@Aaronontheweb
is the SMTP connection persistent?
or is it something you need to open / close per-request
qwoz
@qwoz
not persistent... it connects to the server for each email send.
Aaron Stannard
@Aaronontheweb
got it
yeah I'd just have the actor fire up a new client on each request like you're doing then
qwoz
@qwoz
so this is probably some NUnit incompatibility that I'll just need to work around by mocking it for now. I wanted to be able to see in my email account that the email is actually formatted the way I want since the piece that actually uses this isn't fully implemented yet.
the joys of prototyping :smile:
Alex Achinfiev
@aachinfiev
@Aaronontheweb does using code contracts put any constraints on cross platform compatibility? I.e running on mono.
Aaron Stannard
@Aaronontheweb
not as far as I know
we use them in NBench / Helios / DotNetty
all of those can run on Mono
hidavidpeng
@hidavidpeng
Hi I'm using the Supervisor to catch the exception. But How can I get the message in Supervisor so that I can re
Hi I'm using the Supervisor to catch the exception. But How can I get the message in Supervisor so that I can re-read the message again? thank you.
@Silv3rcircl3 thank you. i read it later. I'm writing the demo with books.
Bartosz Sypytkowski
@Horusiath
@artem-karnaukh which version of Akka.Cluster.Sharding are you using? Also what steps have you made before an error occurred (maybe hard/graceful shutdown of a node)?
Peter Bergman
@peter-bannerflow
@Aaronontheweb reading the documentation on Akka.Cluster in the web crawler example project, in the section on ASP.NET integration (https://github.com/petabridge/akkadotnet-code-samples/tree/master/Cluster.WebCrawler#best-practices-for-aspnet-and-akkanet-integration) the router is created with a RemoteJobActor. But that don't match the actual code in the repo, where the router is created with Props.Empty (https://github.com/petabridge/akkadotnet-code-samples/blob/master/Cluster.WebCrawler/src/WebCrawler.Web/Global.asax.cs#L23). Maybe the readme should be updated to reflect this to avoid confusion
artem-karnaukh
@artem-karnaukh
@Horusiath hey, thanks for the response. I ve just updated from 1.6 to the latest beta and everything works just fine. Thanks a lot for the amazing sharding module.
Peter Bergman
@peter-bannerflow
I have some questions about Akka.NET and cluster routers. Hope someone can help me clear things up...
  1. As far as I understand it, in order to pass messages between nodes in a cluster, the message must go through a a cluster-aware router. Correct?
  2. And for that I can either use a group or pool router. Difference is that the group router sends the mesasge to predifned routees that might or might not exist at the target node. The pool router on the other hand deploys its routees on the target node. Correct?
  3. For deciding where to route message (and in case of pool router, deploy routees), the use-role property in the cluster part of the deployment config is used. Correct?
Arjen Smits
@Danthar
@peter-bannerflow
1: A cluster-aware router is a piece of infrastructure that makes it easier for you to communicate with the cluster as a whole. It adds a level of abstraction. You can communicate with nodes in your cluster directly if you want. But in order to do this properly you'd end up rebuilding alot of the management stuff that a cluster aware router already does for you. But if the out-of-the-box (OOB) cluster routers dont fit your use-case. You can certainly do this.
2: Yes
3: Yes
Peter Bergman
@peter-bannerflow
@Danthar ok, thanks for verifying my assumptions
Peter Bergman
@peter-bannerflow
What about if I pass an IActorRef in a message to some other node in the cluster, will an actor receiving that message be able to send a direct message to that IActorRef?
Marc Piechura
@marcpiechura
@peter-bannerflow yes
Peter Bergman
@peter-bannerflow
Right, thanks 😊
Marc Piechura
@marcpiechura
Np
JaspritBola
@JaspritBola
I'm looking at some logs here, and
I'm looking at some logs here, and I'm noticing that the "Association failure ---> Akka.Remote.Transport.AkkaProtocolException: The remote system has a UID that has been quarantined. Association aborted." eventually turns into a "Akka.Remote.Transport.InvalidAssociationException: Association failure ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown."
JaspritBola
@JaspritBola
Another odd behaviour is that I'm still getting Association failures after I downed the address. The cluster state shows the status is down. Do I also have to call leave on the address to stop association attempts?
Pablo Castilla
@pablocastilla
Hi! I have just left a question on stackoverflow. Basically is which is the best way to assure that a timeout message is sent, maybe some could help. Thanks!
Bartosz Sypytkowski
@Horusiath
@pablocastilla what do you mean by timeout message? With fire-and-forget messages, there is nothing to wait for
Pablo Castilla
@pablocastilla
@Horusiath I mean defered messages. When you want to get notified at a certain exact time.
Bartosz Sypytkowski
@Horusiath
this is hard case when you try to think about consistency i.e. should it be allowed to call the same scheduled timeout twice?
Pablo Castilla
@pablocastilla
that would be ok. The actor could discard the second message. But I have to make sure it gets there, we have business timeouts
another option could be to make sure certain actors are recreated after a reboot or a machine missed? :S
Bartosz Sypytkowski
@Horusiath
this would require to have some scheduler working on each node and distributed "database" where the timeout requests would we written to, so they could be taken over by other nodes in case of unexpected crash
@pablocastilla with cluster sharding I guess you could
(but I haven't checked if actors would be recreated in case of crash, only when migrated between machines)
Bart de Boer
@boekabart
@pablocastilla I suggested a solution at SO
Pablo Castilla
@pablocastilla
so I would have to write it, wouldn't I?
Bartosz Sypytkowski
@Horusiath
also for the first case ddata module would be good, but it's still in development
eventually something like redis would do the job
Pablo Castilla
@pablocastilla
@boekabart I think I got the idea and it should work. Thanks so much. Tell me what you think about the comments plz
Bart de Boer
@boekabart
After wrapping my Akka.Remoting application in a Topshelf service, it won't quit anymore. CTRL-C does 'stop' the service OK, but then the process hangs (with the console window open). Attaching a debugger shows 6 threads waiting for UnfairSemaphore.Wait():
Not Flagged > 12944 8 Worker Thread akka.remote.default-remote-dispatcher_1 Akka.dll!Helios.Concurrency.DedicatedThreadPool.UnfairSemaphore.Wait Normal
any clue what might cause this?
Tomasz Jaskula
@tjaskula
Hi
Bart de Boer
@boekabart
@Aaronontheweb any idea what those threads are actually waiting for?
Aaron Stannard
@Aaronontheweb
@boekabart that's what the ForkJoinDispatcher runs on top of
as for why they're all waiting - should be because they're expecting work