Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Akka.NET 1.1.2 Stable Release #2318

Merged
merged 105 commits into from
Sep 22, 2016
Merged

Akka.NET 1.1.2 Stable Release #2318

merged 105 commits into from
Sep 22, 2016

Conversation

Aaronontheweb
Copy link
Member

1.1.2 September 21 2016

Maintenance release for Akka.NET v1.1

Akka.NET 1.1.2 introduces some exciting developments for Akka.NET users.

Mono Support and Improved IPV4/6 Configuration
First, Akka.NET 1.1.2 is the first release of Akka.NET to be production-certified for Mono. We've made some changes to Akka.Remote, in particular, to design it to work within some of the confines of Mono 4.4.2. For instance, we now support the following HOCON configuration value for the default Helios TCP transport:

 helios.tcp {
      # Omitted for brevity
      transport-protocol = tcp

      port = 2552

      hostname = ""

      public-hostname = ""

      dns-use-ipv6 = false
      enforce-ip-family = false
}

helios.tcp.enforce-ip-family is a new setting added to the helios.tcp transport designed to allow Akka.Remote to function in environments that don't support IPV6. This includes Mono 4.4.2, Windows Azure WebApps, and possibly others. When this setting is turned on and dns-use-ipv6 = false, all sockets will be forced to use IPV4 only instead of dual mode. If this setting is turned on and dns-use-ipv6 = true, all sockets opened by the Helios transport will be forced to use IPV6 instead of dual-mode.

Currently, as of Mono 4.4.2, this setting is turned on by default. Mono 4.6, when it's released, will allow dual-mode to work consistently again in the future.

We run the entire Akka.NET test suite on Mono and all modules pass.

Akka.Cluster Downing Providers
We've added a new feature to Akka.Cluster known as a "downing provider" - this is a pluggable strategy that you can configure via HOCON to specify how nodes in your Akka.NET cluster may automatically mark unreachable nodes as down.

Out of the box Akka.Cluster only provides the default "auto-down" strategy that's been included as part of Akka.Cluster in the past. However, you can now subclass the Akka.Cluster.IDowningProvider interface to implement your own strategies, which you can then load through HOCON:

# i.e.: akka.cluster.downing-provider-class = "Akka.Cluster.Tests.FailingDowningProvider, Akka.Cluster.Tests"
akka.cluster.downing-provider-class = "Fully-qualified-type-name, Assembly"

Other Fixes
We've also made significant improvements to the Akka.NET scheduler, more than doubling its performance and an significantly decreasing its memory allocation and garbage collection; updated Akka.Streams; fixed bugs in Akka.Cluster routers; and more. You can read the full list of changes in 1.1.2 here.

COMMITS LOC+ LOC- AUTHOR
16 3913 1440 ravengerUA
9 2323 467 Aaron Stannard
9 12568 2865 Marc Piechura
4 12 5 Michael Kantarovsky
3 381 196 Bartosz Sypytkowski
2 99 0 rogeralsing
2 359 17 Chris Constantin
2 29 6 Denys Zhuravel
2 11 11 Ismael Hamed
1 74 25 mrrd
1 5 2 Szymon Kulec
1 48 65 alexpantyukhin
1 3 2 Tamas Vajk
1 2 0 Julien Adam
1 121 26 andrey.leskov
1 1020 458 Sean Gilliam
1 1 1 Maciej Misztal

Aaronontheweb and others added 30 commits July 15, 2016 17:49
Add lower bounds to SnapshotSelectionCriteria API Approval
…efault-internal-stash-overflow-strategy

Fixed instantiation of default internal stash overflow strategy
…vement

Using supported IsEmtpy for non-mono UnboundedMailboxQueue.
Check for empty message in Envelope class
Implemented DeadLetterSupression
Replaces fields and methods signatures to allow overriding the Snapshot/QueryExecutor class
Align SupervisorStrategy with scala version
…PruneFix

Fixed #2221 (DistributedPubSubMediator - an error in HandlePrune)
This PR documents the exceptions thrown in the various areas of the main
Akka project (Akka.csproj)
marcpiechura and others added 26 commits September 6, 2016 20:23
Always check for non empty journal batch before sending to journal
* add support for non abbreviated timespan strings

* fix "0.05 s" parsing

fix the regular expression to account for more than a single digit after
the decimal point

* fix test

* change brackets to Allman style

* change brackets to Allman style

* fix "0.05 s" parsing

fix the regular expression to account for more than a single digit after
the decimal point

fix test

change brackets to Allman style

change brackets to Allman style

update failing test
Moved Cluster.Sharding MNTK tests to a separate assembly
…pport `IDisposable` will be disposed before `ActorSystem.WhenTerminated` completes.

close #1593 - significantly improved upon the `DedicatedThreadScheduler` performance

Signed-off-by: Aaron Stannard <aaron@petabridge.com>
…ebase

HashedWheelTimerScheduler and IScheduler disposal guarantees
)

* fixed folder output paths of individual server logs
made barrier failures more explicit
hardened singleton manager startup spec

* added missing barrier on ClusterClientSpec
Mono fix for Streams.Tests project
close #2314 - fixes shutdown race condition with HashedWheelTimer
@Aaronontheweb Aaronontheweb added this to the 1.1.2 milestone Sep 22, 2016
@Aaronontheweb Aaronontheweb merged commit 8c7ca5b into master Sep 22, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.