Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 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
  • Dec 11 07:52
    dependabot-preview[bot] synchronize #104
  • Dec 11 07:52

    dependabot-preview[bot] on nuget

    Bump MongoDB.Driver from 2.9.1 … (compare)

  • Dec 11 07:52
    dependabot-preview[bot] edited #104
  • Dec 11 07:51
    dependabot-preview[bot] edited #104
  • Dec 11 07:51
    dependabot-preview[bot] edited #104
  • Dec 11 07:51
    Aaronontheweb commented #104
  • Dec 11 07:43

    dependabot-preview[bot] on nuget

    (compare)

  • Dec 11 07:43

    dependabot-preview[bot] on dev

    Bump Microsoft.NET.Test.Sdk fro… (compare)

  • Dec 11 07:43
    dependabot-preview[bot] closed #102
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
I'll start to fix the rest of the errors you've found today
Zetanova
@Zetanova
@Horusiath thx, is there a Lock Free LinkedList in Akka or similar?
Bartosz Sypytkowski
@Horusiath
thx, but let me see, maybe it won't be necessary, if it won't be possible to make whole operation working on synchronous inside an actor, we still have an arsenal of atomic/immutable options inside akka itself
Zetanova
@Zetanova
LinkList and Set is fine in an actor, but if some concurrent is using them, there can be hiden bugs. 10M operations can be successfull 10M+1 is failing once in a week. LockFree Queue and LinkedList are nice because it can be a proteced property of a base class. Immutable Lists need still the lock or spin-lock to copy the list, like ConcurrentBag<T>
Christian Duhard
@cduhard
hmm this Terminated code doesn't seem to work
it's failing on _pendingCommands = groups.First(x => !x.Key).ToList();
Zetanova
@Zetanova
yes
@cduhard fast fix
var commands = new List<PendingCommand>(_pendingCommands.Count - i);
commands.AddRange(_pendingCommands.Where(cmd => cmd.PersistenceId != pid));
_pendingCommands = commands;
Christian Duhard
@cduhard
so i ma replacing all 3 lines with that
where does I come from?
Zetanova
@Zetanova
found commands
i++ in the loop
_pendingCommands.Where(cmd => cmd.PersistenceId == pid)
Christian Duhard
@cduhard
i'm missing something
Zetanova
@Zetanova
remove this toList and stuff
Christian Duhard
@cduhard
the current code is
            var groups =
                _pendingCommands.GroupBy(cmd => cmd.PersistenceId == terminated.ActorRef.Path.Name).ToArray();
            _pendingCommands = groups.First(x => !x.Key).ToList();
            var commands = groups.First(x => x.Key);
            foreach (var pendingCommand in commands)
            {
                var child = Recreate(pendingCommand.AggregateId, pendingCommand.PersistenceId);
                child.Tell(pendingCommand.Command, pendingCommand.Sender);
            }
Zetanova
@Zetanova
var pid = terminated.ActorRef.Path.Name;
int i = 0;
foreach (var pendingCommand in _pendingCommands.Where(cmd => cmd.PersistenceId == pid))

{

    var child = Recreate(pendingCommand.AggregateId, pendingCommand.PersistenceId);

    child.Tell(pendingCommand.Command, pendingCommand.Sender);
    i++;       
}

var commands = new List<PendingCommand>(_pendingCommands.Count - i);
commands.AddRange(_pendingCommands.Where(cmd => cmd.PersistenceId != pid));
_pendingCommands = commands;
Christian Duhard
@cduhard
got it, thanks. I'll give this a try.
@Zetanova what are you using for storage?
Zetanova
@Zetanova
sql-server for now. but the storage type should be picked by the AR-type
Christian Duhard
@cduhard
how do you mean?
Zetanova
@Zetanova
file, document-store, sql are all valid
Christian Duhard
@cduhard
i was going to give EventStore a try
Zetanova
@Zetanova
File => for very large AR's maybe explicit on a partition/drive SSD
DocumentStore => normal for AR's
sql => maybe faster for some kind of operations (need to test later on)
Christian Duhard
@cduhard
weird getting dead letters now
Zetanova
@Zetanova
In a local akka.net buget build where to set the BUILD_NUMBER of a package? Want to patch the Akka.Persistence.Sql.Common so that the SqlServer is dont updating it on install
Zetanova
@Zetanova
RELEASE_NOTES.md file.
Christian Duhard
@cduhard
wonder why EventStore ain't got no love for a Akka.Persistence
Yin Zhang
@melcloud
Dear all,
just wondering if it is safe to use PersistView?
My idea is to have an actor which persist events such as quoteCreated. Then once another service is online, a persistView actor is created and do at least once delivery to that service
Zetanova
@Zetanova
@Horusiath You already change in Akka.Persistence.Sql.Common the DbConnection to short use pattern?
Bartosz Sypytkowski
@Horusiath
@rogeralsing I think, we still have some problems concerning stashing and message duplicates - we changed custom equality to reference equality to detect duplicates inside the stash, but actually sometimes we may want to store the same message twice (like in the case of singleton messages or strings)