Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 16 22:15
    Aaronontheweb synchronize #3889
  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3986
  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump NUnit from 3.6.1 to 3.12.0… (compare)

  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3985
  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump FsCheck.Xunit from 2.9.0 t… (compare)

  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3983
  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump ApprovalUtilities from 3.0… (compare)

  • Oct 16 21:00
    dependabot-preview[bot] edited #3985
  • Oct 16 21:00
    dependabot-preview[bot] edited #3986
  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3982
  • Oct 16 21:00
    dependabot-preview[bot] synchronize #3987
  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump FsPickler from 5.2.0 to 5.… (compare)

  • Oct 16 21:00

    dependabot-preview[bot] on nuget

    Bump LightningDB from 0.9.8 to … (compare)

  • Oct 16 21:00
    dependabot-preview[bot] edited #3982
  • Oct 16 21:00
    dependabot-preview[bot] edited #3983
  • Oct 16 21:00
    dependabot-preview[bot] edited #3987
  • Oct 16 20:59
    dependabot-preview[bot] edited #3982
  • Oct 16 20:59
    dependabot-preview[bot] edited #3985
  • Oct 16 20:59
    dependabot-preview[bot] edited #3987
  • Oct 16 20:59
    dependabot-preview[bot] edited #3986
Zetanova
@Zetanova
if the PersistentActor is calling WriteMessages() with the first batch
sec
and who is calling WriteMessages() ?
Bartosz Sypytkowski
@Horusiath
journal itself
Zetanova
@Zetanova
parallel, most likly because i get this race conditions
it is fine until the batch of one PersitentActor are executed in parallel
and there should be a check in the Recovery Processdur
when the SeqNr > SnapshotNr+1 then RecoveryFailure
Bartosz Sypytkowski
@Horusiath
sorry, but I'm programming from like 15 hours now, but I seem to missed SnapshotNr somewhere in our discussion ;)
Zetanova
@Zetanova
I am allready missing Event-1 of an AR and get insatnly Event-2
SeqNr of the Snapshot
Bartosz Sypytkowski
@Horusiath
snapshot uses the same sequencer as journal, but it doesn't increment it
Zetanova
@Zetanova
If one Journal Event is missing in the recovery it should Fail
because of this bug, i have this state, not the AR is getting the second Event on recovery and missing the first one.
State of the AR can be then unlear and dangures
yes , i the same
did my TAX decalaration today at night
last minute
Bartosz Sypytkowski
@Horusiath
to make some quick summary: you've encountered moment, when you had sql journal storing in parallel events a-1 and a-2, but for some reason a-2 has been stored, while a-1 not, right?
Zetanova
@Zetanova
yes, because of the bug
it was now 4times
i am testing with 200 AR's
each gets a command and is persisting two events
(Created+Updated)
Zetanova
@Zetanova
I removed now the locks from the DBSnapotStore and getting again the Error at PendingOperations.Remove(tokenSource);
in the LoadAsync method
wahahahah
PipeTo is not waiting to complition
This message was deleted
Zetanova
@Zetanova
=> Concurrent execution in the Snapshot Actor
LoadAsync() => sawns a new thread (or takes one from the pool)
PipeTo is just execution on the same new thread and the end
if 10 messages are comming
then there will be lots of simultan executoon inside the actor
Bartosz Sypytkowski
@Horusiath
in case of snapshot actor this shouldn't be a problem
Zetanova
@Zetanova
if this execution has some side effect, it is most likly a race condition
sure it is
if an PA is taking two snapshots
at the same time
it is allready possible that the first is saved after the second
Bartosz Sypytkowski
@Horusiath
if you have events: a-1, a-2, a-3, a-4 and snapshots at the moment of a-1 and a-3, for the sake of consistency it doesn't matter which snapshot will it receive
if it will receive snapshot a-1, it will startup at point of a-1 and recover from events a-2 to the end of the stream
if it will receive snapshot a-3 it will use only event a-4 and above to recover
Zetanova
@Zetanova
thats clear in the Snapshot store
Bartosz Sypytkowski
@Horusiath
or you are using words snapshots and events interchangeably
Zetanova
@Zetanova
I removed the lock i insered on PendingOperations
because i thought it is not required
but its in parallel execution because of this PipeTo
Bartosz Sypytkowski
@Horusiath
but if you're talking about event batches, this also shouldn't happen, as persistent actor won't emit second batch of messages to the journal until it receives confirmation about successfully stored first one
Zetanova
@Zetanova
then its fine
Horusiath @Horusiath enough for today, time to sleep