Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 14:59
    Aaronontheweb commented #3615
  • 14:58
    Aaronontheweb commented #3615
  • 14:56
    Aaronontheweb commented #4126
  • 13:16
    IgorFedchenko synchronize #4126
  • 12:37
    IgorFedchenko commented #3615
  • 12:37
    IgorFedchenko commented #3615
  • 12:35
    IgorFedchenko commented #3615
  • 12:16
    IgorFedchenko synchronize #4126
  • 12:03
    IgorFedchenko opened #4165
  • 11:06
    IgorFedchenko synchronize #4126
  • 10:45
    IgorFedchenko commented #4126
  • 10:37
    IgorFedchenko synchronize #4126
  • 10:36
    IgorFedchenko edited #4126
  • 10:34
    IgorFedchenko synchronize #4126
  • 10:30
    IgorFedchenko synchronize #4126
  • Jan 24 23:00
    Danthar commented #3954
  • Jan 24 22:53
    Aaronontheweb commented #3954
  • Jan 24 21:06
    Aaronontheweb synchronize #4128
  • Jan 24 16:56
    Aaronontheweb synchronize #4128
  • Jan 24 16:46

    Aaronontheweb on explain-sharding-path

    (compare)

Onur Gumus
@OnurGumus
As first one treats curly braces as string format and the other one doesn't
Bartosz Sypytkowski
@Horusiath
I would really like to create some reference example on how to design .net apps with akka.net - the only problem is that I need some well defined domain, where such use makes sense. I don't want to invent something by myself from thin air
I can think about few domains, but they'd be using only small parts of akka. Not a comprehensive example.
Ondrej Pialek
@ondrejpialek
If you want to help me design a sharded ecommerce Akka-powered app let me know :)
Bartosz Sypytkowski
@Horusiath
@ondrejpialek the context, I was talking about need something that won't be NDA'ed ;) Something to show publicly.
but if you've stuck somewhere in your design, you can always share your doubts here
Ondrej Pialek
@ondrejpialek
I know ;) I won't have any problem with making some "framework" or "patterns / practices" to be opensourced and the domain changed slightly and released as an example too. Something along the https://github.com/pawelkaczor/akka-ddd say. We are not that possessive where I work at :)
One of the main problems I am having adopting Akka is lack of real world use cases - so definitely support your idea ;)
Most of the books I've read or videos I've seen were either too theoretical or too tactical.
Hyungho Ko
@hhko
@Aaronontheweb @vasily-kirichenko thank you for your consideration about Spark.
https://www.nuget.org/packages/Akka.Quartz.Actor/ depends on .NET Framework 4.5.2.
do you have any plans to support Akka.Quartz.Actor based on .NET Framework 4.5?
Vasily Kirichenko
@vasily-kirichenko
@hhko there were issues on production with Akka.Quartz.Actor
Hyungho Ko
@hhko
I think there's no reason to depend on .NET Framework 4.5.2.
Onur Gumus
@OnurGumus
I am seeing a weird behavior .Each time I create an actor My serialization settings are reset. Actually Serializer Object is being Set again
Does anyone know why?
Onur Gumus
@OnurGumus
I hate Akka's internal methods and interfaces
Onur Gumus
@OnurGumus
OMG! loading event journal causes all serializers to be reloaded in actor system
I mean the read journal
Onur Gumus
@OnurGumus
When ever a persistence actor is created
it forces the serialization settings to be reloaded
this doesn't sound right
Ondrej Pialek
@ondrejpialek
@OnurGumus probably best to submit an isssue to the GitHub repo page with steps to reproduce?
Bartosz Sypytkowski
@Horusiath
@OnurGumus this sounds like a serious issue
Onur Gumus
@OnurGumus
@Horusiath I think this is by design.
There is an internal interface : ISupportSerializationConfigReload
Bartosz Sypytkowski
@Horusiath
"broken by design" ;)
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