Replies: 3 comments 1 reply
-
I need to respond to this - sorry for the delay. Had a lot going on over the holidays and during the start of 2022 thus far. |
Beta Was this translation helpful? Give feedback.
-
Can I call this "Akka Improvement Proposal (AIP)"? @Zetanova I like this idea. Please can you come up with more detail as follows:
Any idea that will help to improve Akka.NET is always welcomed, however, if you provide more detail, it will help the team in accepting and working on it. Please include additional code samples where possible. |
Beta Was this translation helpful? Give feedback.
-
Do you have any idea on how we can approach this? Let start with that first. @Aaronontheweb |
Beta Was this translation helpful? Give feedback.
-
The current akka startup (including remote and cluster) is depends currently heavily on thread-locks to synchronize.
This happens most of the time over
Lazy<Extension>.Value
ofAkkaSystem._extensions
.Because the caller of a lazy loaded extension is most of the time an actor, the call sequence is none deterministic.
An other issue is that a hit on the lock of
Lazy<Extension>.Value
produces a relative long lock period.We would need to decide what startup features are required and then how we should implement them.
Here some ideas from my side:
One idea would be to create an
ExtensionManager
actor,that would lazy create/supervise all extensions and publish an
ExtensionLoaded
event on the EventStream.All other components could subscribe and/or request extensions similar to the current ClusterState Events.
Beta Was this translation helpful? Give feedback.
All reactions