Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 10:47
    IgorFedchenko synchronize #3973
  • 10:13
    valdisz commented #3921
  • Oct 21 15:57
    Aaronontheweb closed #3877
  • Oct 21 15:57
    Aaronontheweb commented #3877
  • Oct 21 15:56

    Aaronontheweb on dev

    Persistence TestKit documentati… (compare)

  • Oct 21 15:56
    Aaronontheweb closed #3889
  • Oct 21 07:27
    dependabot-preview[bot] labeled #3999
  • Oct 21 07:27

    dependabot-preview[bot] on nuget

    Bump FluentAssertions from 4.14… (compare)

  • Oct 21 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
Bartosz Sypytkowski
@Horusiath
also, don't use snapshot store alone, it's missing the point
Vagif Abilov
@object
@Horusiath thanks, I'll set the default journal plugin explicitly. What is it missing the point to use only snapshot store if some an actor only needs to persist its more recent state?
Bartosz Sypytkowski
@Horusiath
snapshot store has been build to optimize journal replay performance, nothing more. It works based on the assumption, that you're using journal anyway.
one of the problems may occur when you'll try to save snapshot and restart your actor right after that - since snapshots are not ACKed, and most of the db roundtrips take a lot longer that actor's restart, after restarting your actor, you have no guarantee that it won't receive an outdated snapshot from persistent store
Bartosz Sypytkowski
@Horusiath
we've already encountered following scenario:
  1. Actor A has state S2, while snapshot store has persisted its previous state S1
  2. A sends save snapshot message with state S2, and restarts immediately after
  3. After restarting A asks snapshots store for the latest snapshot version
  4. Since reads/writes are done asynchronously, snapshot store may retrieve state S1 instead of S2 (because S2 has not been durably stored yet)
  5. Actor A recovers with state S1
Vagif Abilov
@object
Oh I see, that's a great explanation. I knew that journal is a primary concern and snapshot is more for optimization, but I wasn' aware that use of snapshots assumes using journal, I thought that in certain trivial cases using snapshots alone might be justified. Thx for clearing it up.
Zetanova
@Zetanova
@object If you need only some sort of persistent cache value, like "LastPullDate", you dont need to use Persistence for this actor.
But it is nice if you create a DataPulled event and persist it in the journal.
Vagif Abilov
@object
@Zetanova I don't only need a value, I need to assign it to the actor as its current state, so choice of persistent actors was deliberate.
Kamil Wojciechowski
@aph5nt
"PersistentView is deprecated. Use PersistenceQuery when it will be ported." what was wrong with the views ? :D
views are nice, I can create eg. stats based on my actor events
I can partition the read side to n views, where each view is responsible for some part of data
will the PersistenceQuery offer me the same ?
Vagif Abilov
@object
"NewtonSoftJsonSerializer has been detected as a default serializer." (in 1.0.7) even though my config has:
serializers {
wire = "Akka.Serialization.WireSerializer, Akka.Serialization.Wire"
}
serialization-bindings {
"System.Object" = wire
}
JSON.NET is referenced in projects but I can't find any references to it in Akka context.
Bartosz Sypytkowski
@Horusiath
@aph5nt persistence queries are quite similar with the difference, that they may operate on multiple persistence ids, and that they work in stream-lined fashion
@object are you sure, that you're applying this config right when actor system is created?
Vagif Abilov
@object
@Horusiath since actor system reacts on other config parts (like journal plugin) I am pretty sure that it's that config that is used. But I will try building Akka from the sources, debug and check what's going on.
Weston
@ronnyek
akka persistence will effectively allow you to simulate what orleans does?
take some report of an iot device, get actor handles that, set state
disconnect
device calls home again with updated state
persiste those updates
in an efficient manner?
Arjen Smits
@Danthar
@ronnyek yes
Aaron Stannard
@Aaronontheweb
@alexvaluyskiy yes and yes
would you mind rebasing your PRs to use the latest Akka.NET v1.0.7 persistence implementation off of official nuget?
and yep, I'll create a MySQL repo
@alexvaluyskiy as for Wire, cc @rogeralsing do you have any changes ready to push for that?
looks useful
Aaron Stannard
@Aaronontheweb
@annymsMthd I think I found the issue with #1700 and #1845
we do some inconsistent stuff with the EndpointRegistry - I implemented things there in a brittle way with respect to the dictionary
#1845 found a clear example
but I've found some others
for instance, a spot where the EndpointManager could throw a NullReferenceException under some conditions
should have a PR later today with some fixes there
good news is that these are stupid bugs
not something major like a design issue
(most of it comes down to the way Scala does optional references versus where we use nullable types to mimic that)
Christian Duhard
@cduhard
Any clue what this means?
2016-04-07 14:03:02.171 -04:00 [Warning] "akka://myactorsystem/temp" trying to remove non-child "c"
Aaron Stannard
@Aaronontheweb
yeah, it's an issue usually with Ask
temporary actors get created in a racy container
Christian Duhard
@cduhard
not using ask
Aaron Stannard
@Aaronontheweb
GracefulStop too
Christian Duhard
@cduhard
GracefulStop uses ask though
Aaron Stannard
@Aaronontheweb
basically it means two different kill orders arrived to cleanup the actor
Bartosz Sypytkowski
@Horusiath
@object concerning Wire, I think something is wrong with config (or maybe F# plugin?) - I have example, which wouldn't be able to work on standard json.net serializer, so it has wire configured as default, and no warning message is printed
Aaron Stannard
@Aaronontheweb
I'm honestly not sure why that's the case