ANNOUNCE: Akka 2.0.1 released!

207 views
Skip to first unread message

√iktor Ҡlang

unread,
Apr 13, 2012, 11:01:07 AM4/13/12
to
Dear hAkkers,

Akka 2.0 has been out since almost 40 days, and so far the echo has been nearly unanimously positive! But of course a few things have popped up, warranting a bug-fix release. Going through the changes below you will find several tweaks and small improvements, with the notable exception of the akka-zeromq module, which comes with vastly improved performance and a few fixed bugs (assertion failures in native code).

Provided that you have not been naughty and accessed “private[akka]” parts, this release should be binary compatible with release 2.0. If something breaks, which you think should not have broken, please yell (this is one more reason to try out the Release Candidates!). In any case, the work-around is to recompile.


Summary of Changes

2.0.1 is the result of a collaboration of 7 contributors (about half by “non-core” developers, thank you very much!) and weighs in at 65 commits with 81 files changed, 1114 additions and 611 deletions. Please refer to the full git log at the end for the gory details.

• improved Java API for accessing singletons like akka.routing.CurrentRoutees and friends (also our beloved PoisonPill)
• reject invalid ActorSystem names which lead to problems when going remote (essentially must be valid hostname components now)
• fixed a live-lock in ForkJoinPool which could occur under rare circumstances with parallelism levels 2 or 4
• reduced overhead of using ask(): less memory footprint and lazy registration
• improvements and fixes for documentation (ScalaDoc as well as reStructuredText)
• make cause and message of AskTimeoutException accessible
• make SmallestMailboxRouter config serializable (this might require recompilation of classes mixing in SmallestMailboxLike)
• fix SmallestMailboxRouter crash upon sending
• make RemoteLifeCycleEvents serializable
• fix TestActorRef for actors setting ReceiveTimeout in constructor
• fix zeromq performance and instabilities by running the polling loop only on the same thread as all other activities for the socket
• never restart zeromq socket actors in case of fatal socket errors
• opened up visibility of RemoteTransport.send() and notifyListeners()



Git Shortlog

Havoc Pennington (1):
      Add a warning to Future methods that take an async callback.

Jean-François Im (1):
      Added imports for things moved to akka.pattern._

Mathias Doenitz (6):
      Small optimization in FiniteDuration.equals
      Fix PromiseActorRef bang potentially throwing IllegalStateException
      Make provider registration of PromiseActorRefs lazy
      Improve PromiseActorRef as per team comments
      Another round of improvements to PromiseActorRef
      Decrease memory footprint of PromiseActorRef by ca. 30% (two ref fields)

Peter Vlugter (1):
      Only build the akka sbt plugin against scala 2.9.1

Roland Kuhn (17):
      add section on when to use typed actors
      link to letitcrash post from typed-actors.rst
      remove sjson and h2Lzf dependencies, see #1900
      fix TestKit class scaladoc
      rewrite ZeroMQ poll loop
      remove debug-Thread.sleep
      bump version of scala-bindings to 0.0.5
      incorporate Viktor’s review (part 1)
      fix over-eager polling in zeromq
      clarify typographic error in general/remoting.rst
      reject invalid ActorSystem names, see #1898
      fix CallingThreadMailbox.hasMessages, see #1918
      fix stopping of actors in RouterConfig spec, see #1974
      fix CallingThreadMailbox.numberOfMessages
      re-add akka.serialization.Compression and friends, to keep binary compat
      add Java API for most case objects
      incorporate Viktor’s review

Vibul Imtarnasan (6):
      Added more dispatcher info.
      Update akka-docs/scala/dispatchers.rst
      Added _TestCallingThreadDispatcherRef
      Update as per Roland Kuhn's suggestions
      Added more dispatcher descriptions
      Update akka-docs/scala/dispatchers.rst

Viktor Klang (29):
      #1891 - Adding cause and message to AskTimeoutException
      Removing lie in docs
      New implementation of smallest mailbox router
      Making sure that the code works....
      Collapsing some logic
      Additional simplifications to smallestmailboxrouter
      Introducing so that suspended actorrefs are just better than the dlq
      Adding some more docs to the SmallestMailboxFirstRouter
      #1894 - Switching to jsr166y.ThreadLocalRandom
      #1904 - Clearing up performance aspects of using ask
      #1905 - fixing links to ScalaDoc in the Akka Docs
      #1906 - Clarified the development process
      #1902 - Adding docs in Serialization Java/Scala for deep serialization using EventSourcing
      Making sure that we only publish the truth about watch/unwatch
      Switching to - instead of filterNot
      Switching to the faster append and removed a relative import
      Switching to TreeSet, which should also receive quite some performance enhancements in Scala 2.10
      Fixing merge conflicts on the EventBus
      Making RLCE Serializable and making RemoteTransport in events @transient
      Reverting back to the 2.0 code for the Actorclassification, pending the issue of binary compatibility
      #1964 - Fixing doc example mistake in 0mq docs, no review
      #1957 - Adding warning section regarding jarjar and akka configuration
      #1958 - adding docs for lifecycle hook-parameters
      Manual patch of Doug Leas fix to ForkJoinPool
      Do not tinker with the 0mq socket for the ConnectionSocketActor on Restart
      deprecation annotation on package object does not compile.
      #1971 - Changing to 2.0.1-SNAPSHOT
      #1982 - Opening up the send and notifyListeners methods on RemoteTransport so 3rd parties can extend it properly
      #1931 - correcting logging config examples

Happy hAkking!

Cheers,

-- 
Viktor Klang

Akka Tech Lead
Typesafe - The software stack for applications that scale

Twitter: @viktorklang

Antony Stubbs

unread,
Apr 13, 2012, 11:43:56 AM4/13/12
to akka...@googlegroups.com
Awesome! Any idea when the akka-camel component will be released? I'm using the snapshot java API for an ActorConsumer - works great!

√iktor Ҡlang

unread,
Apr 13, 2012, 11:47:08 AM4/13/12
to akka...@googlegroups.com
I'm having a Deja-vu moment



Cheers,


--
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To view this discussion on the web visit https://groups.google.com/d/msg/akka-user/-/SWUR7WSOx9kJ.
To post to this group, send email to akka...@googlegroups.com.
To unsubscribe from this group, send email to akka-user+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/akka-user?hl=en.

Antony Stubbs

unread,
Apr 13, 2012, 11:48:50 AM4/13/12
to akka...@googlegroups.com
haha, sweet as - it's a popular module ;)

Is there a separate tracker for akka-module issues? Anything we can help with? (apart from filing bugs if we find them).

√iktor Ҡlang

unread,
Apr 13, 2012, 12:04:20 PM4/13/12
to akka...@googlegroups.com
I'd love to get it in as soon as possible.

I'm hoping to be able to include it in the first 2.1 milestone.

Cheers,

Piotr Gabryanczyk

unread,
Apr 19, 2012, 3:39:46 PM4/19/12
to akka...@googlegroups.com

On 13 Apr 2012, at 16:43, Antony Stubbs wrote:

Awesome! Any idea when the akka-camel component will be released? I'm using the snapshot java API for an ActorConsumer - works great!

Awesome!:)
Have you seen the video yet?
Reply all
Reply to author
Forward
0 new messages