Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 02:38
    Aaronontheweb labeled #4232
  • 02:25
    Aaronontheweb labeled #4232
  • 02:25
    Aaronontheweb milestoned #4232
  • 02:25
    Aaronontheweb labeled #4232
  • 02:25
    Aaronontheweb opened #4232
  • 02:24
    Aaronontheweb closed #4226
  • 02:24
    Aaronontheweb commented #4226
  • 02:23

    Aaronontheweb on dev

    Arkatufus/#4221 performance reg… (compare)

  • 02:23
    Aaronontheweb closed #4231
  • 01:27
    Aaronontheweb synchronize #4231
  • 01:27
    Aaronontheweb opened #4231
  • Feb 18 20:47
    Aaronontheweb commented #4223
  • Feb 18 20:46
    cptjazz commented #4223
  • Feb 18 20:39
    Aaronontheweb labeled #4223
  • Feb 18 20:39
    Aaronontheweb commented #4223
  • Feb 18 20:23
    cptjazz commented #4223
  • Feb 18 17:48
    dependabot-preview[bot] synchronize #4066
  • Feb 18 17:48

    dependabot-preview[bot] on nuget

    Bump FSharp.Quotations.Evaluato… (compare)

  • Feb 18 17:48
    dependabot-preview[bot] synchronize #3985
  • Feb 18 17:48

    dependabot-preview[bot] on nuget

    Bump FsCheck.Xunit from 2.9.0 t… (compare)

Onur Gumus
@OnurGumus
When ever you create a new persistence actor instance (not sure if always perhaps once per type), that ctor triggers this.
this in turn calls the private method of ActorSystemImpl
private void ConfigureSerialization()
{
    this._serialization = new Serialization(this);
}
so if somehow you customized your serializer programmatically , you lose the changes.
this is not an oversight and done deliberately but not sure if I understand the motivation
Bartosz Sypytkowski
@Horusiath
if I remember correctly, the problem was that in the past a Persistence plugin might have not been created (+ actor system not configured to use persistence) when you were creating a persistent actor for the first time
nonetheless config reload on every new actor sounds like serious issue
Onur Gumus
@OnurGumus
it has to do with persistence extensions. I have collected the full stack trace but not with me now
zbynek001
@zbynek001
@OnurGumus I've added that ISupportSerializationConfigReload interface. It's called only inside InjectTopLevelFallback, so is something maybe calling that too often?
Onur Gumus
@OnurGumus
@zbynek001 I think it is called first from this.<Extension>k__BackingField = Persistence.Instance.Apply(ActorBase.Context.System); in EventSourced.ctor
that in turn calls .RegisterExtension(this));
And that calls extension.CreateExtension(this)));
and that calls public PersistenceExtension(ExtendedActorSystem system)
{
this._system = system;
this._system.Settings.InjectTopLevelFallback(Persistence.DefaultConfig());
So it is triggered from EventSource.ctor
Bartosz Sypytkowski
@Horusiath
@OnurGumus I've checked calling multiple persistent actors of multiple different types - serializers are created twice: once on actor system creation, then when Persistence plugin applies for first time. This works as designed, since plugins can introduce their own serializers at runtime and trigger actor system to recreate them
you can poke actor system to explicitly initialize all requested plugins right on the start from configuration
Onur Gumus
@OnurGumus
how do I do that
zbynek001
@zbynek001
@OnurGumus .RegisterExtension is caching the extensions, so CreateExtension will be called only once per type
Onur Gumus
@OnurGumus
@zbynek001 I concur
but I find this behavior surprising
Bartosz Sypytkowski
@Horusiath
akka {
  extensions = [ "Akka.Persistence.Persistence, Akka.Persistence" ]
}
Tbh I'll definitelly want to change this part in the future, once we'll introduce native dependency injection support
Onur Gumus
@OnurGumus
Come to think of it, after actor creation you change your serializer settings and boom, it's gone suddently
took me few hours to find it out.
Bartosz Sypytkowski
@Horusiath
@OnurGumus in most of the new frameworks you can encounter runtime configuration reloads - even Microsoft.Extensions.Configuration has reload tokens defined as part of the API
Onur Gumus
@OnurGumus
Perhaps...
goti2
@goti2
Hi everyone, how to use ask method in xamarin.forms
Maciek Misztal
@mmisztal1980
Hey all, is there a code sample or tutorial on Akka.Cluster.Sharding?
Ondrej Pialek
@ondrejpialek
@Horusiath is writing one... :)
Maciek Misztal
@mmisztal1980
cheers
Kento
@robinsondotnet
Is it possible to use Cluster or distributedData using Akka.TestKit?
I always get "Object reference not set to an instance of an object" when "DistributedPubSub.Get(Context.System).Mediator;" or "Cluster.Get(Context.System);" is being executed inside Actor's behavior.
Bartosz Sypytkowski
@Horusiath
@robinsondotnet have you configured your test to work with cluster? (akka.actor.provider = cluster)
also, for cluster/ddata you probably should use multi node test kit
Kento
@robinsondotnet
@Horusiath Should I use the app.config file for testkit or configure it with this.Sys.Settings.Config.WithFallback()?
The ActorSystem is provided by the TestKit, right?
Bartosz Sypytkowski
@Horusiath
you can pass config into TestKit constructor
Kento
@robinsondotnet
nice. thank you @Horusiath
goti2
@goti2
Guys, tell me please how to use akka.net remote in Xamarin forms, and does it have a sense?
Maciek Misztal
@mmisztal1980
Another question: can anyone explain how should I work with the PersistentFSM ? this example: https://github.com/akkadotnet/akka.net/blob/a478c5e8c8d5de97dcf7bcea7e2a80fbaa5e6cc8/docs/examples/DocsExamples/Persistence/WebStoreCustomerFSMActor.cs suggests that I do not need to call Persist, nor do I need to call Recover, does this mean that PersistentFSM is capable of recovering its state on its own?
Bartosz Sypytkowski
@Horusiath
@mmisztal1980 PersistentFSM stores events as part of the Applying definition. Recovery/state-update happens as defined in your ApplyEvent override.
Ondrej Pialek
@ondrejpialek
So I wonder - if I debug my app do all the timeouts still... timeout? :) I see my cluster breaks if I debug for too long and then goes up again after debugger is resumed. What about message timeout in inbox, asks etc?
What is the development scenario here - have a dev config with the timeouts in minutes?
Onur Gumus
@OnurGumus
In event sourcing, I am seeing my states are also being persisted besides the events. Is this expected ?
And how does journal reader treat them in that case ?
Bartosz Sypytkowski
@Horusiath
@OnurGumus how are you storing your actor's state?\
Onur Gumus
@OnurGumus
I don't do anything special. I use apply
Standard FSM pattern
I see my states persisted with a different manifest name
whenever they occur.