Search code examples
akka.netakka.net-persistence

Why akka.persistence is still having beta release? Is it stable?


Why akka.persistence is still having beta release on nuget packages. Does it imply it is still not stable and not good for used in production applications?


Solution

  • In Akka.NET in order to get out of prerelease, a package must meet multiple criteria, like:

    • Having full test suite up and running. In case of clustered plugins, this also includes multi-node tests.
    • Having a fixed API. There are dedicated API Approval tests ensuring, that no public API has been accidentally changed.
    • Having a battery of performance tests. While many of plugins are ready and usually fast without it, stress tests are needed in order to check if any of the merged pull requests didn't introduce any performance penalties.
    • Having all documentation writen and published.

    While this is a lot, not all of these are necessary to make plugin functional. In case of Akka.Persistence there are minor changes (like deprecation of PersistentView in favor of persistence queries), but the plugin itself is production ready and used as such already. However maturity of persistent backend plugins, that are used underneat, may vary.