Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 13:55
    Aaronontheweb commented #3811
  • 13:53
    Aaronontheweb commented #3811
  • 13:48
    Zetanova commented #3811
  • 13:21
    Aaronontheweb commented #3811
  • 12:15
    PetrPejcel opened #3917
  • 09:56
    Zetanova commented #3903
  • 09:42
    Zetanova commented #3811
  • 09:38
    Zetanova commented #3811
  • 09:37
    Zetanova commented #3811
  • 08:37
    Pzixel commented #3908
  • 08:20
    Zetanova synchronize #3916
  • 08:13
    Horusiath commented #3908
  • 08:12
    Horusiath commented #3908
  • 08:11
    Horusiath commented #3908
  • 07:58
    Horusiath commented #3284
  • 07:56
    Horusiath commented #3284
  • 07:32
    ismaelhamed commented #3284
  • 07:24
    Zetanova opened #3916
  • Sep 16 15:35
    Aaronontheweb commented #3284
  • Sep 16 07:55
    ismaelhamed commented #3284
Aaron Stannard
@Aaronontheweb
@nathvi DotNetty powers the Azure IoT hub
and it's a port of Netty, which is itself very highly battle tested
DotNetty could afford to be more robust in the QA department though
Bartosz Sypytkowski
@Horusiath
@JessieWadman at this moment there's no build in support for sharded entities querying mechanics. It's possible to build one either using event journals with live queries, or distributed data.
ShalokShalom
@ShalokShalom
Akka uses pure cooperative objects on OS threads, thus it can be locked down. In addition a fault in any of the actors can bring down the entire CLR pretty easily. Correct?
Bartosz Sypytkowski
@Horusiath
@ShalokShalom not any kind of faults - as standard exceptions inside actors are catched and supervised - but the critical faults of .NET environment can (i.e. out of memory exception), simply because some failures in .NET cannot be revoked.
ShalokShalom
@ShalokShalom
Yes
Thanks a lot :D
ShalokShalom
@ShalokShalom
Can a rewrite of the CLR itself in Akka help?
Bartosz Sypytkowski
@Horusiath
no, akka is only a library on top of CLR not a platform on itself. Some platforms like Erlang or Pony have isolated memory model that provide a higher degree of safety in terms of VM-wide failures.
AltcoinsBattle
@AltcoinsBattle_twitter
Journal
    .EventsByPersistenceId(inventoryName, ++inventoryOffset, long.MaxValue)
    .RunForeach(HandleCharactersEvent, Materializer);

Journal
    .EventsByPersistenceId(descriptorItemsName, ++descriptorOffset, long.MaxValue)
    .RunForeach(HandleCharacterDescriptionEvent, Materializer);
Does Akka guarantee that this code will process one message at a time?
It is probably the VS debugger, but it shows the two Handle methods invoked in parallel
I see some bug in my code (from client side) and cannot catch it, looks like can be related to multithreading, that is why I'm asking :)
Marc Piechura
@marcpiechura
RunForeach isn’t blocking, it returns a Task I think which you can await before running the second loop
Since persistence query is based on Akka.Streams you’re ending up with two actors under the hood which run the two queries in parallel
AltcoinsBattle
@AltcoinsBattle_twitter
thank you! will try with await)
AltcoinsBattle
@AltcoinsBattle_twitter
rewritten, at least it behaves the same as before, hope I will never see the previously mentioned bug again ;-)
@marcpiechura :+1:
Marc Piechura
@marcpiechura

You could also handle it differently if that would help:

Return NotUsed.Instance from your handle methods

source1 = Journal.ByInventory.Select(Handle)

source2 = Journal.ByDescription.Select(Handle)

source1.Concat(source2).RunForeach(Sink.Ignore<NotUsed>())

nbparrell
@nbparrell

Hey guys, I am having trouble using the ActorSelection method. I have just modified the helloakka.cs in the examples to test out some of the funcitonality of the akka system and was looking that the ActorSelection method. I am running into an error when running the code:
[INFO][4/7/2018 3:21:14 PM][Thread 0003][akka://MySystem/deadLetters] Message Greet from akka://MySystem/deadLetters to akka://MySystem/deadLetters was not delivered. 1 dead letters encountered.

I think it is because of how I maybe writing the path for the actor.

code is here:
        var system = ActorSystem.Create("MySystem");
        var greeter = system.ActorOf<GreetingActor>("greeter");
        var greater = system.ActorOf<ActorGreeting>("greater");

        // send a message to the actor
        greeter.Tell(new Greet("World"));
        greeter.Tell(new Greet("Nick"));
        //greater.Tell(new Freak("Fish"));

        system.ActorSelection("akka://system/user/*er").Tell(new Greet("I am greeter"));
Marc Piechura
@marcpiechura
@nbparrel Try “akka://MySystem/user/*er”
nbparrell
@nbparrell
That worked. Thanks :). Is MySystem the root for every compilation of akka.net or is it set by user at some point?
Marc Piechura
@marcpiechura
Look at your first line a little bit closer 😜
Arsene T. Gandote
@Tochemey
Hello
nbparrell
@nbparrell
@marcpiechura Lol the perils of being new thanks for pointing that out. Makes more sense.
AltcoinsBattle
@AltcoinsBattle_twitter
@marcpiechura rewritten, with your second approach -> that works :) Await doesn't solve the issue .. The idea, if I have multiple sources : first of all I merge these sources (concat doesn't work), and then use ForEach with one method that processes all the different events that I interesting in! Thank you)
nathvi
@nathvi
Is it possible to send an Actor A from windows service S1 to windows service S2, and have that actor A be persisted when S2 is restarted.
?
I'm trying to come up with a good way to make a bunch of "dumb" service clients that pull their actors from some sort of actor registry.
Nick Polyderopoulos
@NickPolyder
Hello,
Is there somewhere a list with the currently available plugins for akka.net (For Example Persistence Plugins that were created by the community) ?
Aaron Stannard
@Aaronontheweb
@NickPolyder not in our docs
that'd be a good thing to add though
we do have AkkaNetContrib: https://github.com/akkanetcontrib
which has some
Nick Polyderopoulos
@NickPolyder
Yeap. It could at least have a list that are inside the core project. (For example i see that the core project has the Persistance for the SqlServer and Sqlite )
Havret
@Havret
How can I test PersistentFSM? Can I initialize it in specific state or feed it with specific evens as a part of my "arrange" test phase?
Lutando Ngqakaza
@Lutando

quick question

        // Parameters:
        //   handler:
        //     The message handler that is invoked for incoming messages of the specified type
        //     T. It should return trueif it handled/matched the message; false otherwise.

for

        protected void Receive<T>(Func<T, bool> handler);

if handler return false will the receive actor try to use another handler (down the list) if it matches the type?

Stijn Herreman
@stijnherreman
I'm about to attempt running Akka.NET in Azure Service Fabric, as a guest executable. Is it straightforward or will I run into some obstacles?
Arjen Smits
@Danthar
@stijnherreman if your not using remoting, should be straight forward.
Stijn Herreman
@stijnherreman
I am using remoting actually
still reading all the docs about service fabric, so haven't tried anything yet
nbparrell
@nbparrell
@marcpiechura Do you know what flavor of regex Akka.net is using?
Havret
@Havret
Is there any way to GoTo previous state in PersistentFSM?
Marc Piechura
@marcpiechura
@nbparrell not sure what you mean :)
nbparrell
@nbparrell
I figured it out. Was trying to use a negative backwards lookup and they are not supported by C# from what I have read. @marcpiechura
AndreSteenbergen
@AndreSteenbergen
I am trying to create a proxyactor, because I have a remote system with references I don't want in all my console apps. But I keep getting this error after the first message
, IWithUnboundedStash
An exception occurred while trying to apply plugin of type Akka.Actor.ActorStashPlugin to the newly created actor (Type = AnalyserService.Actors.Analyser
Cause: System.NotSupportedException: DequeBasedMailbox required, got: Mailbox
I am making the proxy actor like this:
public class ActorProxy : ReceiveActor
{
    public ActorProxy(string typeName, string actorName, params object[] constructorParameters)
    {
        var actorBaseType = typeof(ActorBase);
        var t = Type.GetType(typeName);

        if (!t.IsSubclassOf(actorBaseType))
        {
            Console.WriteLine($"{t} is not a subtype of actorbase");
            throw new ArgumentException("typeName");
        }

        //try and find an actor by type
        IActorRef targetActor = Context.ActorOf(Props.Create(() => (ActorBase)Activator.CreateInstance(t, constructorParameters)), actorName);

        Console.WriteLine(targetActor);
        ReceiveAny((msg) => {
            targetActor.Tell(msg, Sender);
        });
    }
}