Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 12:09
    djm132 commented #4045
  • 12:02
    djm132 opened #4053
  • 09:28
    alordgit commented #4014
  • 09:28
    alordgit commented #4014
  • 06:45

    dependabot-preview[bot] on nuget

    Bump Microsoft.Data.SQLite from… (compare)

  • 06:45
    dependabot-preview[bot] labeled #4052
  • 06:45
    dependabot-preview[bot] opened #4052
  • Nov 19 21:12
    dependabot-preview[bot] synchronize #128
  • Nov 19 21:12

    dependabot-preview[bot] on nuget

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

  • Nov 19 21:12
    dependabot-preview[bot] edited #128
  • Nov 19 21:12
    Danthar commented #128
  • Nov 19 21:11
    dependabot-preview[bot] edited #128
  • Nov 19 21:11
    Danthar commented #128
  • Nov 19 21:11

    dependabot-preview[bot] on nuget

    (compare)

  • Nov 19 21:10

    Danthar on dev

    Bump AkkaVersion from 1.3.15 to… Merge pull request #129 from ak… (compare)

  • Nov 19 21:10
    Danthar closed #129
  • Nov 19 21:08
    Danthar commented #4045
  • Nov 19 21:08
    Danthar labeled #4045
  • Nov 19 21:08
    Danthar labeled #4045
  • Nov 19 20:44
    dependabot-preview[bot] synchronize #129
Bart de Boer
@boekabart
I'm writing a fresh one in that project now, maybe if indeed it turns out related, they can be linked.
Aaron Stannard
@Aaronontheweb
sounds good
but what you're describing sounds like that type of side effect
Bart de Boer
@boekabart
Aaron Stannard
@Aaronontheweb
ty
Bart de Boer
@boekabart
... and 2 issues on akka.net wrt Config, while I'm at it.
Bart de Boer
@boekabart
@Aaronontheweb @Horusiath I found a clear correlation between smth in the logging, and the recovery leading to a phantom SnapshotOffer.
In all the BAD cases, these two lines are immediately followed by the Snapshot offer
akka.persistence.journal.postgresql] Started (Akka.Persistence.PostgreSql.Journal.PostgreSqlJournal)
akka.persistence.snapshot-store.postgresql] Started (Akka.Persistence.PostgreSql.Snapshot.PostgreSqlSnapshotStore)
and only after THAT, the ReplayFilter creation is logged:
[akka://TitleCatalogizerPPTEST/system/akka.persistence.journal.postgresql/$a] Started (Akka.Persistence.Journal.ReplayFilter)
[akka://TitleCatalogizerPPTEST/system/akka.persistence.journal.postgresql] now supervising akka://TitleCatalogizerPPTEST/system/akka.persistence.journal.postgresql/$a
Aaron Stannard
@Aaronontheweb
@boekabart we might transfer those config issues to the stand-alone HOCON repo
we're going to replace the built-in HOCON with the external library lock stock and barrel
Bart de Boer
@boekabart
np

in all the GOOD cases, the order is the other way around:

[akka://TitleCatalogizerPPTEST/system/akka.persistence.journal.postgresql] Started (Akka.Persistence.PostgreSql.Journal.PostgreSqlJournal)
[akka://TitleCatalogizerPPTEST/system/akka.persistence.snapshot-store.postgresql] Started (Akka.Persistence.PostgreSql.Snapshot.PostgreSqlSnapshotStore)

[akka://TitleCatalogizerPPTEST/system/akka.persistence.journal.postgresql/$a] Started (Akka.Persistence.Journal.ReplayFilter)
[akka://TitleCatalogizerPPTEST/system/akka.persistence.journal.postgresql] now supervising akka://TitleCatalogizerPPTEST/system/akka.persistence.journal.postgresql/$a

[[akka://TitleCatalogizerPPTEST/user/TitleCatalogizer/Queue/RuntimeActor#384178050]] Recovering an expected Divv.XiXi.TitleCatalogizer.Actors.Runtime.RuntimeActor+EnqueuedWork

I've just done this 15 times, and it's true for all 7 failing and all 8 OK cases.

So there seems to be some kind of race
Bart de Boer
@boekabart
It was so much simpler: the Postgres Snapshot class used the generic Journal config as fallback... PR for that is done.
But that doesn't explain why it still worked OK 50% of the time! @Horusiath
Mathias Feitzinger
@feitzi
After some years as an akka.net user, I want to make a more deep dive into the framework.
For this reason, I checked out the actual source code (dev branch) and stared a build and unit testing (like descriped here). But I got in trouble with the existing unit tests. I can't run all tests successful. I have 3 of 4195 unsuccessful tests:
  • Akka.MultiNodeTestRunner.Shared.Tests.ParsingSpec.MessageSink_should_parse_Runner_log_message_correctly
  • Akka.MultiNodeTestRunner.Shared.Tests.ParsingSpec.MessageSink_should_be_able_to_infer_message_type
  • Akka.MultiNodeTestRunner.Shared.Tests.Persistence.JsonPersistentTestRunStoreSpec.Should_load_saved_JSON_TestRunTree
    I have no code changes, its the original dev branch.
    Is this normal, or did I something wrong?
Bartosz Sypytkowski
@Horusiath
@feitzi some of the tests are time sensitive, therefore you may result in hitting into false negatives.
@boekabart I'm afraid I'd need a reproducible use case to understand what's happening
Lutando Ngqakaza
@Lutando
Why do the timestamps (created_at) in my sql journals have values like 637015430987854360 what on earth is that value?
anthonyhawes
@anthonyhawes
@Lutando it's the UTC DateTime converted into ticks
Lutando Ngqakaza
@Lutando
Thank you kind sir
Lutando Ngqakaza
@Lutando
The Offset value that you get when doing EventsByTag persistent query, what do they mean?
 await PersistenceQuery
                .Get(actorSystem)
                .ReadJournalFor<SqlReadJournal>(SqlReadJournal.Identifier)
                .CurrentEventsByTag("MyTag")
                .RunForeach(x =>
                {
                    var a = x.Offset as Sequence;
                    Console.Write($"{a.Value}"); 
                }, materializer);
Prints : 1 1 2 2 3 3 4 4 ... 100 ... 101... 102
Lutando Ngqakaza
@Lutando

another slightly related question what is the best way to get the offset/sequence value

I am doing this (seems quite verbose for getting that sequence value, any shorter hand ways?

var sequence = eventEnvelope.Offset as Sequence
var streamOffset = sequence.Value
Ismael Hamed
@ismaelhamed
@Lutando that's the SequenceNr/Ordering for that event. I typically have a generic OffsetStore to which a pass the offset and internally will do something like:
offset is Sequence seq ? seq.Value : (long?)null;
That Offset is handy for resumable PersistenceQueries
Lutando Ngqakaza
@Lutando
yeah thats what im aiming for but im just wondering why the offset value is "hidden"
Ismael Hamed
@ismaelhamed
It's no that it is "hidden", but an offset can be of different types: currently NoOffset or Sequence, but the JVM also supports TimeBasedUUID
Vladimir Boiarkin
@vladmir-boy
Hi guys. sorry for vague question
I have two actors in my actorSystem communicating on localhost, meaning that they communicate in memory without serialization and transport involved
Can I some how enforce serialization and transport, so I can measure this expenses in the benchmark?
Lutando Ngqakaza
@Lutando

@vladmir-boy absolutely.

 akka.actor.serialize-messages = on
 akka.actor.serialize-creators = on

https://getakka.net/articles/networking/serialization.html#verification

heed the warning in the docs.

as for forcing the transport im not sure how one would do that. I guess if you doing multi node testing, but I dont think its possible to enforce a transport if you dont bind to an address and communicate between the actors
Vladimir Boiarkin
@vladmir-boy
@Lutando thanks! Serialization worked!
This message was deleted
I actually bind to address and my actors then just look
SenderActor = actorSystem.ActorOf<SenderActor>();
RecipientActor = actorSystem.ActorOf<RecipientActor>();
and I assume communication like RecipientActor.Tell(new EventHappened(), SenderActor);
does not trigger networking
Lutando Ngqakaza
@Lutando
I think if youre using the default actor ref provider it wont trigger networking, you must be using Akka.Remote to get transport stuff working I think.
Vladimir Boiarkin
@vladmir-boy
I use the Cluster one
Lutando Ngqakaza
@Lutando
yeah then should be good
I think you need to check what IActorRef you have there, if it is LocalActorRef then it wont use a transport, that is inproc
Zetanova
@Zetanova
@Aaronontheweb Would it be a problem to make the hocon config convertable from and to yaml ? I currently see only a problem with the the dotnet type names used as keynames in diff. sections like akka.persistence.journal.eventstore.event-adapter-bindings
Zetanova
@Zetanova
And is it possible to get or generate some kind of cluster-id to use as debug/logging?
Bartosz Sypytkowski
@Horusiath

And is it possible to get or generate some kind of cluster-id to use as debug/logging?

@Zetanova actor system name?

Would it be a problem to make the hocon config convertable from and to yaml ?

I was advocating making config statically typed and convertible from different formats, but it's pretty to achieve right now (and pretty much impossible without making major breaking changes).

Mike Clark
@mclark1129
It doesn't appear that Akka.Streams.SQS or Alpakka is available as a nuget package. Am I looking in the wrong place?
Zetanova
@Zetanova
@Horusiath The actor system name needs to be on all nodes the same or not? I have currently 3 seed nodes in k8s and if i make a rolling update the the last updated node / first node in the seed list is always starting a new cluster. It sends InitJoin to the other seednodes, they replay with InitJoinNack and it starts a new cluster
sry it instantly joining itself and then sends InitJoin to the to others with a reply of InitJoinNack
Bartosz Sypytkowski
@Horusiath
@Zetanova maybe first we should define what do you mean by cluster-id? I was thinking that you meant unique idenfier of the cluster, shared by all nodes belonging to it.
@mclark1129 is it possible, that Akka.Streams.SQS was not released yet
Zetanova
@Zetanova
@Horusiath yes, something like this. I am rolling out an update for the 3seeds nodes in k8s and i think got splitbrain, using static-quorum with quarum size 2, the last node "seednode-0" is allways joing itself instantly
and now downing happens
Bartosz Sypytkowski
@Horusiath
why do you do rolling updates of seed nodes?
Zetanova
@Zetanova
new image
seednode-2 is restarting, getting ready joing the cluster