Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 21 15:57
    Aaronontheweb closed #3877
  • Oct 21 15:57
    Aaronontheweb commented #3877
  • Oct 21 15:56

    Aaronontheweb on dev

    Persistence TestKit documentati… (compare)

  • Oct 21 15:56
    Aaronontheweb closed #3889
  • Oct 21 07:27
    dependabot-preview[bot] labeled #3999
  • Oct 21 07:27

    dependabot-preview[bot] on nuget

    Bump FluentAssertions from 4.14… (compare)

  • Oct 21 07:27
    dependabot-preview[bot] opened #3999
  • Oct 20 17:25
    valdisz synchronize #3889
  • Oct 20 17:17
    valdisz synchronize #3889
  • Oct 20 15:44
    valdisz synchronize #3889
  • Oct 20 09:22
    ismaelhamed commented #3863
  • Oct 19 23:39
    valdisz synchronize #3889
  • Oct 19 23:08
    edvinasz commented #2947
  • Oct 19 13:36
    Aaronontheweb commented #3973
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3995
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump BenchmarkDotNet from 0.10.… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] edited #3995
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3993
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump Google.Protobuf from 3.9.1… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3991
James Farrer
@jamesfarrer
thanks @cgstevens and @qwoz . most helpful
Arjen Smits
@Danthar
@slc what if you reduce it to its bare minimum. So send a message containing nothing more then a string, and use Sender.Tell to echo it back
slc
@slc
I think I'm going to have to
Arjen Smits
@Danthar
that would eliminate possible serialization issues
slc
@slc
I was wondering if that was the case
Marc Piechura
@marcpiechura
@Ralf1108 here is some documentation about this topic http://getakka.net/docs/streams/integration#integrating-with-actors also @Aaronontheweb is currently rewriting the webcrawler sample to implement exactly the behavior you described
slc
@slc
I will try sending a string instead, or perhaps a bool
Ricky Blankenaufulland
@ZoolWay
@slc I have not followed the whole conversation but because I falled into the trap this week when messages have been swallowed: You are not creating one of the actors in an async method?
slc
@slc
nope, all syncronous
Ricky Blankenaufulland
@ZoolWay
ok
then check for the string/bool
slc
@slc
no async/await anywhere
yup, just about to try that
cannot Tell(true) either
:(
I guess that somewhat rules out serialisation/deserialisation issues
Im going to pull out an example from my solution and see if I can replicate in isolation
Ralf
@Ralf1108
@Silv3rcircl3 ok thx for the hints!
slc
@slc
@ZoolWay @Danthar - Found it! Serialization problem with the message being passed back. Message had a private constructor and I assume JSON.NET couldnt deserialise.
So annoying that the error message is a little elusive, nevermind
Jeff
@jpierson
Greetings all, just learning Akka.NET and I'll have some questions concerning Clustering, Routing, and Sharding. Is this the best place to ask those questions?
Jeff
@jpierson
In the examples I've seen with Cluster Routing it appears that the routing actor is created via ActorSystem.ActorOf on the same node where messages are being dispatched. Is this the general pattern or are there other options or reasons for having the router itself somewhere else in the cluster? If so is using an actor singleton the way to reach that router?
Peter Rosconi
@prosconi
Anyone know when cluster metrics events are expected to be completed?
Noel
@nanderto
Hi, I created a new implementation of Akka.Persistence.ServiceFabric, It uses ServiceFabric reliable collections that are embedded in the actor instead of calling a service like the old version did. I know its not on the road map for Akka.net and the old version has not seen any updates for some time. DOes anyone know if there is any interest in this implementation? its located here https://github.com/nanderto/akka.net/tree/ServiceFabric/src/contrib/persistence
Valeriy Reutskiy
@vvreutskiy
Hello!
I am trying to set up cluster client and I got stumbled over this comment in ClusterToolsExample.Node.Program.RunClusterClient method:
//NOTE: to properly run cluster client set up actor ref provider for nodes on provider = "Akka.Remote.RemoteActorRefProvider, Akka.Remote"
But if I change provider to RemoteActorRefProvider, how will nodes connect to each other in the cluster?
Alex Valuyskiy
@alexvaluyskiy
@nanderto yes, could you create a separate repository for SF provider, first?
Ralf
@Ralf1108
regarding "Akka.Streams - Integrating with Actors" from http://getakka.net/docs/streams/integration#integrating-with-actors. There is a passage which states:
Warning
IActorPublisher and IActorSubscriber cannot be used with remote actors, because if signals of the Reactive Streams protocol (e.g. request) are lost the stream may deadlock.
does this mean that Akka Streams wont work reliably if used with actors on different machines?
Marc Piechura
@marcpiechura
@Ralf1108 correct, the problem is that for example the publisher is only allowed to send a new element if it receives a request message and if the message doesn't arrive due to network issues the publisher will not send any more elements
Ralf
@Ralf1108
i just found that it is possible to create the actor sink via Sink.ActorRefWithAck(). Does this improve the reliability?
and if there are network issues... i think it is ok to terminate the stream
Marc Piechura
@marcpiechura
when you use ActorRefWithAck the destination actor needs to send a Ack message back to the sender of the element, this way you can backpressure the stream from the destination actor
problem is if you use remote you don't know if the ack message has arrived so the problem is the same
Ricky Blankenaufulland
@ZoolWay
Is there a way do prefix the generated name for child actors? I cannot specify a name because I will dynamically create children but it would be nice to give their names a prefix
Ralf
@Ralf1108
@Silv3rcircl3 ah, now I understand. that makes sense. So the stream requires also something like a timeout to see if the destination actor failed
@ZoolWay you can provide an actor name when you create them. So feel free to implement your prefixing method by yourself :-)
@Silv3rcircl3 is there a reason why Akka Streams names its destination Sink ? The flow is that way "Source -> Flow -> Sink". Why not "Source -> Flow -> Target" ? :D
Marc Piechura
@marcpiechura
Don't know :smile: it comes from the jvm
Nop no timeout, when the actor failed the stream is closed and that is archived by watching the destination actor
The ack message is a signal to the stream that the actor can process the next element
If you want to read more about the underling protocol you can take a look at the reactive streams repository https://github.com/reactive-streams/reactive-streams-dotnet
Erik Lagerholm
@stabface
Does anyone have a code example of a decorator pattern implementation for an Akka Actor?
Ralf
@Ralf1108
@Silv3rcircl3 and if the stream doesn't get back the ack in specified time the stream will could be consideres as failed. Because of network issues there is no other possibility? if this happens in production the stream will be blocked and wont get cleaned up ?
sounds bad :-(
Ricky Blankenaufulland
@ZoolWay
@Ralf1108 I know that but was hoping to be able to use the automatic naming somehow. If you name them by my own, I will always need some kind of actor-spaning counter and that's it for concurrency...
Marc Piechura
@marcpiechura
Correct, if the stream doesn't get the ack it will not process any more elements
It will also fail if the remote watcher sends a terminated message for the destination actor
but that's not guaranteed because afaik the remote watcher has something like a timeout and if the network failure only occurs for a short time period the actor maybe isn't seen as dead and therefore no terminated message will be send to the stream but the ack is still lost and you have your deadlock
Arsene T. Gandote
@Tochemey
Hello I am having some problems logging fromm within my actor using Nlog.