Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 07:27
    dependabot-preview[bot] labeled #3999
  • 07:27

    dependabot-preview[bot] on nuget

    Bump FluentAssertions from 4.14… (compare)

  • 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
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump Microsoft.Extensions.Depen… (compare)

  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3989
  • Oct 19 13:34

    dependabot-preview[bot] on nuget

    Bump ApiApprover from 3.0.1 to … (compare)

  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3992
Bartosz Sypytkowski
@Horusiath
I don't see, where TaskScheduler should be used.
Hussein Ait-Lahcen
@hussein-aitlahcen
@Horusiath What is the best way to delay the delivery of a message ? ScheduleTellOnce ? I have two actors A and B, a tells B to update, B send back it state, A compute the next time it should update and delay the update message in order to have a constant intervall between updates
cyril andreichuk
@andreichuk
hi. is there any way to set actor's dispatcher? i was not able to do so using HOCON config (i do not use deployment), nor by code (because of the exception i posted here last night). any help?
Bartosz Sypytkowski
@Horusiath
@hussein-aitlahcen you could just schedule interval for updates directly in actor B, and let actor A subscribe to actor B for updates. This way when scheduled tick occurs, B updates it's state and send it to all subscribers
but remember that schedulers have limited resolution, as they work in intervals themselfs (by default it's around 10ms)
@andreichuk my guess is that string, you've provided in dispatcher is invalid, but maybe it's a bug. Could you write an issue on github and describe your case?
cyril andreichuk
@andreichuk
maybe. could you please provide me with an full example of dispatcher configuration?
there are some examples in the docs but they are not full so it's not clear where exactly put dispatcher configuration there
Hussein Ait-Lahcen
@hussein-aitlahcen
@Horusiath Assuming my actor need to be update 60 times per second, can i predict the Scheduler interval (will not be accurate of course) by deducting the 10 ms ?
This is a critical point of my system
Bartosz Sypytkowski
@Horusiath
I know that you can configure the interval, but I'm not sure, how will it behave in intervals lower than 10ms. I don't think, it was designed for high time sensitivity, but for 60 frames/sec it should be sufficient. However if I were you, I would check if it fits your needs
Hussein Ait-Lahcen
@hussein-aitlahcen
So you think that i should do that outside the actor system
Bartosz Sypytkowski
@Horusiath
no, I think that you should measure first ;)
don't be driven by the belief. If you won't measure and stay with built-in scheduler, it may give you some performance problems later. But if it turns out it's sufficient, but you've moved this part outside an actor system, then you may end with unnecessarily complicated solution
cyril andreichuk
@andreichuk
after downloading and debugging the sources i fixed my issue by providing a full path of the dispatcher. like this:
.WithDispatcher("akka.dedicated-dispatcher")
Zetanova
@Zetanova
@Horusiath the process to download the data can take 30min, its an import from the external system. Because this process relays on the read-model for index lookup, maybe should it just be outside? the AR have near the same ImportCommand. It just query the external service for the data and generates a Created+Updated Event. On CreateCommand the AR is creating the external account first and generates the Created Event.
Zetanova
@Zetanova
I moved the process from outside to an actor-process so it can run to the end when the client disconnects and i got a error that the actor "akka.persistence.snapshot-store.sql-server" is not unique!" Its still coming
some race conditions
when i push messages to the AR
Bartosz Sypytkowski
@Horusiath
@Zetanova yes, it's a bug. Could you create an issue for that?
Zetanova
@Zetanova
just looking in to it
how to force the creation of the snapshot extension?
Bartosz Sypytkowski
@Horusiath
create persistent actor with snapshot store configured, and initialize it by sending a message
Zetanova
@Zetanova
Its something related to a Lazy<Extension> that will becreated twice in race condition
Bartosz Sypytkowski
@Horusiath
yes
in scala it was solved as each snapshot store is initialized as akka extension (extensions registration is thread safe) using anonymous classes initialization... but C# haven't got anonymous classes
nonetheless it can be solved quite easily, I've just forgot to think about that
Zetanova
@Zetanova
yes i wrote it
Lazy<>(...,true)
Bartosz Sypytkowski
@Horusiath
thank you good man
Zetanova
@Zetanova
as long as the extension initializion process dont call the same method where the Lazy helper is created and query itself, all will be good.
Thomas Lazar
@thomaslazar
is there a way to find out from an IActorRef what the type of the actual underlying actor is?
Bartosz Sypytkowski
@Horusiath
@thomaslazar nope, there is no correlation there
Thomas Lazar
@thomaslazar
ok. other question. can i somehow convert a IActorRef into a TestActorRef?
i have an actor i want to test. i send it a message and get an IActorRef in return and i just want to make sure that it's actually the actor i want.
Bartosz Sypytkowski
@Horusiath
you could do this for LocalActorRef but first think, if YAGNI
Thomas Lazar
@thomaslazar
well my situation is this. i have an actor A that creates 2 child actors B and C, both are doing stuff with resources. A has messages E/F that are used to return an IActorRef of B or C so code can work with the underlying resources. if certain stuff happens A tells B and C to shut down and when nobody is using them anymore they kill themselves. A creates a new B and C that get handed off to new caller asking message E/F. i just want to test sending message E and F if i get their corresponding B and C types back.
Bartosz Sypytkowski
@Horusiath
it sounds, like you're trying to test implementation (type of an actor) instead of behavior (what actor does). You could just invoke the test scenario. It's like duck typing - if actor behaves like B, it means it's B. If not and it behaves like C, it means, you've invoked C
Thomas Lazar
@thomaslazar
yeah... but that would make a simple "check if type is B" into "send actorref messages and see if it is actually the actor i wanted", which would be much more code.
Zetanova
@Zetanova
Akka.Persistence.Journal.AsyncWriteJournal.HandleWriteMessages(Akka.Persistence.WriteMessages message )
"New transaction is not allowed because there are other threads running in the session."
Zetanova
@Zetanova
@Horusiath If a command handler is Persiting two events and the Event Handler fails on the first event. On Recover of the AR will both events come in the same order? (Created+Updated)
Zetanova
@Zetanova
Somehow the create event is lost
Zetanova
@Zetanova
If the message handler of Akka.Persistence.Eventsourced.AroundReceive failes, then it is generating an infinit loop without calling OnReplayFailure()
Cleared the Journal and now i am getting NullRefException In Akka.Persistence.Sql.Common.Journal.JournalDbEngine
at System.Collections.Generic.LinkedList1.Find(T value) at System.Collections.Generic.LinkedList1.Remove(T value)
at Akka.Persistence.Sql.Common.Journal.JournalDbEngine.<>cDisplayClass1.<ReplayMessagesAsync>b0(Task1 task) at System.Threading.Tasks.ContinuationTaskFromResultTask1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
;(
Zetanova
@Zetanova
How to download the Debug Files (*.pdb) for the Dev builed. I added https://nuget.symbolsource.org/MyGet/akkadotnet to the Source Urls but VS cant find them there
Zetanova
@Zetanova
PendingOperations the LinkedList.Remove() is not thread safe
Need to get my Dev-fork up
Chris G. Stevens
@cgstevens
Quick Question: It does look like this is happening but want to validate. I am seeing, based on the messages, that when my member joins it is set to the Leader for that role before I get the message that it is actually up. Is this how it is actually happening or I am just getting that message first. In fact I am getting the message that the member is up 3-6 seconds after I was told that it is the leader for that role.... if it is happening this way why is it being promoted to leader when it isn't considered up.
Bartosz Sypytkowski
@Horusiath
@Zetanova concerning transactions errors - they should be fixed by #1306