ANNOUNCE: Akka 2.2-M3 (PRE-RELEASE MILESTONE)

245 views
Skip to first unread message

Patrik Nordwall

unread,
Apr 19, 2013, 3:51:36 PM4/19/13
to akka...@googlegroups.com, scala-user, akka...@googlegroups.com

Dear hAkkers,


we—the Akka committers—are pleased to announce the THIRD PRE-RELEASE MILESTONE of Akka 2.2 “Coltrane”. As discussed earlier this is meant to be the final and feature-complete milestone, so please take a good look and give feedback. We will gladly fix all rough edges you report while we will thoroughly test and benchmark and if necessary improve the current state of the toolkit. We do this so that we can then confidently proclaim the first release candidate in a few weeks.

What’s New?

  • Reliable delivery of system messages, meaning that remote DeathWatch and remote deployment now work properly even if the network fails (DeathWatch worked already for the cluster case)

  • Failure and DeathWatch communication is reliable (technically the corresponding messages became a system messages to profit from reliable delivery); failure signaling semantics changed such that the supervisor strategy may be invoked earlier than in previous versions (the Failed message “jumps the queue”)

  • The generation of the Terminated message has been made more intuitive: you will no longer receive it after having unwatched the actor in question; also DeathPactException now leads to Stop instead of Restart in the defaultStrategy

  • Mailboxes can now be configured separately from dispatchers, either from Props or from deployment configuration section, for example this means that it is easier to use the stashing mailbox

  • Cluster nodes cannot rejoin a cluster, UIDs have been introduced to prevent communication with systems which were removed from the cluster

  • ActorRefs now refer to a specific actor incarnation at a path; if you create a new actor at the same path then old ActorRefs will not send to it (this used to be the case only locally, hence we removed the difference in semantics observed with remoting); this change means that actorFor() needed to be deprecated in favor of actorSelection() which has been brought up to speed wrt. remote look-ups

  • The IO layer learned SSL and WriteFile for TCP, names have been cleaned up for UDP, spray-io’s pipelines have been incorporated, complete samples including ACK- and NACK-based back-pressure have been added and more documentation updates will be coming

  • Props have been restructured to not rely on closures internally but only on Class[_] and arrays of (serializable) arguments; this has been done to avoid closing over actor internal state or other non-serializable data; consequently the closure-taking Props(new Actor ...) and the UntypedActorFactory have been deprecated (in the Java case this usually even saves a few lines of code on your end); there will be a more detailed blog post on this soon

  • Lots of little fixes and hardening, especially of the cluster code

  • Cluster-aware distributed Pub-Sub module and external cluster client


This is a lot and should probably justify the time it took since the last milestone which was released exactly one month ago.

What’s in the Pipeline?

Besides testing and benchmarking there are some things we need to clean up internally before calling it a final, and we also want to comb through especially the JavaDoc since that is just a machine translation of the ScalaDoc and does not everywhere look as complete as it could.


Release Details

When migrating an existing project from Akka 2.1.2 please have a look at our migration guide: http://doc.akka.io/docs/akka/2.2-M3/project/migration-guide-2.1.x-2.2.x.html


v2.2-M2 compared to Akka v2.2-M3:

* 84 tickets closed

* 553 files changed, 32738 insertions(+), 15684 deletions(-)

* 637 pages of docs vs 489 in v2.2-M2

* … and a total of 10 committers!


Special thanks go to Christophe and Raman for their contribution of an OSGi sample application, and to Mathias and Johannes of spray.io for their continued work on the IO layer.



Website:

http://akka.io

Binary distribution:

http://download.akka.io/downloads/akka-2.2-M3.tgz

http://download.akka.io/downloads/akka-2.2-M3.zip

Documentation:

http://doc.akka.io/docs/akka/2.2-M3/

http://doc.akka.io/japi/akka/2.2-M3/

http://doc.akka.io/api/akka/2.2-M3/

Issue tracker:

http://www.assembla.com/spaces/akka/

Mailing list:

https://groups.google.com/group/akka-user


Akka is released under the Apache V2 license.



Tickets:


1165  create remote client for decoupling Akka application (clusters)

1478  system messages shall “eventually” be delivered

1910  Create Protobuf messages out of all the Gossip protocol classes

1994  THOUGHTSTORMING: DOCS: investigate JavaDoc-like output format for Java API

2299  make Failed a SystemMessage

2594 - Implement quarantining of addresses upon request in remoting

2687  Solve the problem of needing different mailbox for some actors (e.g. Stash) while sharing the dispatcher with others

2728  Public TestFSMRef constructor takes ActorSystemImpl

2734  Should router always stop when all routees terminated?

2774  DOC: Don't hardcode config JAR version in migration guide

2788  add tombstone for nodes in REMOVED state

2797  ClusterRouterConfig doesn't stop routees

2802  Add membership state transition guards

2811  Improve docs for Akka IO

2839  Add dispatcherId to deployment config

2873  Disallow Re-JOINING (incl. tests)

2896  add Transfer command for TCP

2930  UnreachableNodeRejoinsClusterSpec failed - timeout changing throttler mode

2970  Use a lightweight ExecutionContext to execute the PromiseActorRef cleanup instead of defaultDispatcher

2993  Reliable remote supervision and death watch

3018  Enable -Xlint

3042  Make JavaTestKit match TestKit

3058  Discuss simplification/unification of Udp APIs

3070  Don't close Associations when unserializable or oversized messages are encountered

3072  add UID to RemoteActorRef

3074  deprecate actorFor() in favor of ActorSelection

3077  deprecate ActorRef.isTerminated

3078  create matrix for ordering requirements between all well-known message types

3081  deprecate closure-taking Props factories

3082  decide upon which implementation of Iteratees to support in the new akka.io package

3107  Config comment refers to secure cookie script which doesn't exist

3119  improve ActorCell “stash” for SystemMessages

3127 - ship 2.2-M3 "feature complete"

3128  TcpConnectionSpec - Connection reset by peer != Broken pipe

3134  FAILED: leaking threads again?

3137  sending systemA’s LocalActorRef to systemB’s RemoteActorRef will inject wrong host:port information

3139  Assert that we don't get conflicting vector clocks in the mergeSeen

3140  FAILED: TransitionSpec failure on scalable1

3142  Compile a list of messages that needs Protobuf serialization

3144  Publishing on Windows has a problem with the path sent to genjavadoc

3150  Skip joining members when looking for convergence

3151  Strange logging in SuperVisorHierarchySpec

3156  make Terminated a SystemMessage

3161  SSL truststores ignored on server side

3162  Cleanup after failed init of Cluster extension

3165  Stack overflow when warning about serialization

3166  FSM.initialize should have empty parentheses

3168  awaitAssert = awaitCond with better error reporting

3170  FAILED: Coroner's Report: akka.io.TcpConnectionSpec

3171  FAILED: akka.cluster.MembershipChangeListenerExiting

3174  transport spray-io pipelines over to akka.io package

3179  FAILED: akka.cluster.SplitBrainWithFailureDetectorPuppet

3181  NPE in FaultHandling

3185  TcpConnection must close only one direction when remote endpoint closes.

3188  add @throws clause to UntypedActor life-cycle hooks

3190  update to Netty 3.6.4

3191  Race in SelectionHandler leading to CancelledKeyExceptions

3197  ScalaDoc for ExtensionKey (Scala API) incorrect

3198  FAILED: CoronerSpec

3199  ActWithStash ignores whenStopping and whenRestarted

3200  TCP: introduce ResumeWriting to recover from NACK

3202  deprecate HashedWheelTimer

3203  Distributed pub-sub

3204  Key password and key store password are not the same

3206  Add expectTerminated method to TestKit

3207  FAILED: docs.future.FutureDocSpec

3209  Don't send Remove command to unreachable

3212  FAILED: OSGI sample doesn't build

3213  RemotingSpec fails on master

3215  FAILED: JavaTestKitSpec expectTerminated

3216  FAILED: akka-sample-osgi-dining-hakkers

3218  Update Netty to 3.6.5

3219  FAILED: TcpConnectionSpec

3221  FSM setTimer throws NPE if used in preStart

3222  DeathPactException leads to Restart by default

3229  FAILED: SupervisorSpec

3230  Tcp / Udp: add actually bound port in Bound message

3231  clear ActorCell’s sysmsgStash upon termination

3232  Wrong sender for first message delivered to deadLetters when trying to send to unknown host

3234  FAILED: take actor incarnation into account when comparing actor references

3235  DOCS: make sure that IO error handling is properly described

3236  port SslTlsSupport from spray-io

3239  Duplicate MemberUp events

3249  FAILED: NewRemoteActorSpec


Credits:

commits added removed

  20    6439    2396 Patrik Nordwall

  13    4035    2077 Viktor Klang

  10    7806    2061 Roland

   8    1781     341 Björn Antonsson

   8    5586    3101 Endre Sándor Varga

   8     265      93 Johannes Rudolph

   4      40      22 Mathias

   3    1212     490 Raman Gupta

   3    1336     240 Christophe Pache

   1     129      23 Rich Dougherty


Take it for a spin! Happy hAkking!


--

Patrik Nordwall
Typesafe The software stack for applications that scale
Twitter: @patriknw

See you at Scala Days 2013 in NYC!
June 10th - June 12th

Roland Kuhn

unread,
Apr 20, 2013, 3:31:40 AM4/20/13
to vatel, scala...@googlegroups.com, akka...@googlegroups.com
Hi Victor,

On 20 apr 2013, at 08:01, vatel <vate...@gmail.com> wrote:

Hello! Congratulations and thank you for your work!

I have started playing with 2.2 cluster several days ago, so it is time to update to M3. I will give you feedback.

Thanks, looking forward to that!


Have you decided in M3 how spray-io and new akka-io will divide their work?

Akka IO now contains all that was in spray-io, the idea is that it should replace it eventually. From what I know M8 of spray will not yet use our pipeline infrastructure, though, so I’ll let Mathias comment on how exactly we will go forward. In the meantime I encourage you to try out Akka IO and give feedback so together we can make it compellingly awesome :-)

Regards,

Dr. Roland Kuhn
Akka Tech Lead
Typesafe – The software stack for applications that scale.
twitter: @rolandkuhn

Markus Jais

unread,
Apr 21, 2013, 3:46:31 PM4/21/13
to akka...@googlegroups.com
Now to the list.

Markus

----- Weitergeleitete Message -----
Von: Markus Jais <marku...@yahoo.de>
An: Patrik Nordwall <patrik....@gmail.com>
Gesendet: 21:43 Sonntag, 21.April 2013
Betreff: Re: [scala-user] ANNOUNCE: Akka 2.2-M3 (PRE-RELEASE MILESTONE)

Awesome work. Thanks to everyone who worked in this.
Akka is the most interesting technology on the JVM that I've come across - and I've used a lot.

Markus


Von: Patrik Nordwall <patrik....@gmail.com>
An: "akka...@googlegroups.com" <akka...@googlegroups.com>; scala-user <scala...@googlegroups.com>; "akka...@googlegroups.com" <akka...@googlegroups.com>
Gesendet: 21:51 Freitag, 19.April 2013
Betreff: [scala-user] ANNOUNCE: Akka 2.2-M3 (PRE-RELEASE MILESTONE)

--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 




Eric Pederson

unread,
Apr 21, 2013, 9:52:04 PM4/21/13
to akka...@googlegroups.com, scala-user, akka...@googlegroups.com
I'm amazed how much work has gone into this release.  Thanks Akka team!

Jonas Bonér

unread,
Apr 22, 2013, 4:58:01 AM4/22/13
to akka...@googlegroups.com, scala-user, akka...@googlegroups.com
Awesome guys. This is an incredible milestone. 

--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://akka.io/faq/
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Jonas Bonér
Phone: +46 733 777 123
Home: jonasboner.com
Twitter: @jboner

Akka Team

unread,
Apr 22, 2013, 8:51:25 AM4/22/13
to Akka User List
Thanks a lot for the kind words, everyone!

Roland — for the Akka team
Akka Team
Typesafe - The software stack for applications that scale
Blog: letitcrash.com
Twitter: @akkateam

Ngoc Dao

unread,
Apr 29, 2013, 4:16:58 PM4/29/13
to Akka User List
Does Akka transactor works with cluster?
http://doc.akka.io/docs/akka/2.2-M3/scala/transactors.html
http://doc.akka.io/docs/akka/2.2-M3/scala/cluster-usage.html


On 4月22日, 午後9:51, Akka Team <akka.offic...@gmail.com> wrote:
> Thanks a lot for the kind words, everyone!
>
> Roland — for the Akka team
>
>
>
>
>
>
>
> On Mon, Apr 22, 2013 at 10:58 AM, Jonas Bonér <jo...@jonasboner.com> wrote:
> > Awesome guys. This is an incredible milestone.
>
> > On Sun, Apr 21, 2013 at 6:52 PM, Eric Pederson <eric...@gmail.com> wrote:
>
> >> I'm amazed how much work has gone into this release.  Thanks Akka team!
>
> >> On Friday, April 19, 2013 3:51:36 PM UTC-4, Patrik Nordwall wrote:
>
> >>> *
>
> >>> Dear hAkkers,
>
> >>> we—the Akka committers—are pleased to announce the THIRD PRE-RELEASE
> >>> MILESTONE of Akka 2.2 “Coltrane”. As discussed earlier<http://letitcrash.com/post/45342015965/release-status-update-for-akka...>this is meant to be the final and feature-complete milestone, so please
> >>> take a good look and give feedback. We will gladly fix all rough edges you
> >>> report while we will thoroughly test and benchmark and if necessary improve
> >>> the current state of the toolkit. We do this so that we can then
> >>> confidently proclaim the first release candidate in a few weeks.
> >>> What’s New?
>
> >>>    -
>
> >>>    Reliable delivery of system messages, meaning that remote DeathWatch
> >>>    and remote deployment now work properly even if the network fails
> >>>    (DeathWatch worked already for the cluster case)
> >>>    -
>
> >>>    Failure and DeathWatch communication is reliable (technically the
> >>>    corresponding messages became a system messages to profit from reliable
> >>>    delivery); failure signaling semantics changed such that the supervisor
> >>>    strategy may be invoked earlier than in previous versions (the Failed
> >>>    message “jumps the queue”)
> >>>    -
>
> >>>    The generation of the Terminated message has been made more
> >>>    intuitive: you will no longer receive it after having unwatched the actor
> >>>    in question; also DeathPactException now leads to Stop instead of Restart
> >>>    in the defaultStrategy
> >>>    -
>
> >>>    Mailboxes can now be configured separately from dispatchers, either
> >>>    from Props or from deployment configuration section, for example this means
> >>>    that it is easier to use the stashing mailbox
> >>>    -
>
> >>>    Cluster nodes cannot rejoin a cluster, UIDs have been introduced to
> >>>    prevent communication with systems which were removed from the cluster
> >>>    -
>
> >>>    ActorRefs now refer to a specific actor incarnation at a path; if
> >>>    you create a new actor at the same path then old ActorRefs will not send to
> >>>    it (this used to be the case only locally, hence we removed the difference
> >>>    in semantics observed with remoting); this change means that actorFor()
> >>>    needed to be deprecated in favor of actorSelection() which has been brought
> >>>    up to speed wrt. remote look-ups
> >>>    -
>
> >>>    The IO layer learned SSL and WriteFile for TCP, names have been
> >>>    cleaned up for UDP, spray-io’s pipelines have been incorporated, complete
> >>>    samples including ACK- and NACK-based back-pressure have been added and
> >>>    more documentation updates will be coming
> >>>    -
>
> >>>    Props have been restructured to not rely on closures internally but
> >>>    only on Class[_] and arrays of (serializable) arguments; this has been done
> >>>    to avoid closing over actor internal state or other non-serializable data;
> >>>    consequently the closure-taking Props(new Actor ...) and the
> >>>    UntypedActorFactory have been deprecated (in the Java case this usually
> >>>    even saves a few lines of code on your end); there will be a more detailed
> >>>    blog post on this soon
> >>>    -
>
> >>>    Lots of little fixes and hardening, especially of the cluster code
> >>>    -
> ...
>
> もっと読む »

Jonas Bonér

unread,
Apr 30, 2013, 3:35:16 AM4/30/13
to akka...@googlegroups.com
Transactors are based on STM which does not work in a distributed environment, so the answer is no. 

--
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: http://akka.io/faq/
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply all
Reply to author
Forward
0 new messages