No description
Find a file
Roland 1ef5145dc9 fix hideous and well-hidden oversight
Thank you, Jenkins and CallingThreadDispatcher, for without you both I
would probably not have found this bug before the milestone release. So,
what happened? Well, ActorModelSpec for the CallingThreadDispatcher
tries to have an actor kill itself twice with InterruptedException (of
all things!) and wants to verify that everything still works. Given the
right timing (which was rare) the semantics of the
CallingThreadDispatcher would mean that the actor would suspend itself
(first failure), inform its supervisor (“/user”, not on CTD) and return
to the spec. If the supervisor was too slow to finish the restart which
includes a resume which will process all messages enqueued meanwhile
from the test BEFORE the test enqueued the second failure, the failure
would actually happen on the supervisor’s thread. Now
InterruptedException is the ONLY exception which always gets passed up,
and thus it is the only Exception which can ever occur genuinely within
a top-level supervisor which will trigger its restart: if it’s an
unhandled one, the actor system will stop, and if it’s a handled one
from a child there will be no problem.

So, having these very special circumstances combined just so, the
“guardian” would restart, and after today’s changes that meant killing
all its children. Boom.

The fix is of course trivial, as always. And the bug is extremely
obvious, once found. Cost me five hours.
2011-12-15 01:43:56 +01:00
akka-actor/src/main fix hideous and well-hidden oversight 2011-12-15 01:43:56 +01:00
akka-actor-tests/src fix log statement in ActorModelSpec 2011-12-15 01:43:56 +01:00
akka-camel/src Enormous merge with master which probably led to the indirect unfortunate deaths of several kittens 2011-12-14 17:36:39 +01:00
akka-camel-typed/src Enormous merge with master which probably led to the indirect unfortunate deaths of several kittens 2011-12-14 17:36:39 +01:00
akka-cluster/src Enormous merge with master which probably led to the indirect unfortunate deaths of several kittens 2011-12-14 17:36:39 +01:00
akka-docs Updated microkernel 2011-12-15 11:42:06 +13:00
akka-durable-mailboxes Merge pull request #156 from jboner/wip-1504-config-comments-patriknw 2011-12-14 08:47:19 -08:00
akka-kernel/src/main Updated microkernel 2011-12-15 11:42:06 +13:00
akka-remote/src Merge with master 2011-12-15 08:56:48 +13:00
akka-samples Updated microkernel 2011-12-15 11:42:06 +13:00
akka-sbt-plugin/src/main/scala Fix deprecation warnings in sbt plugin 2011-11-01 11:10:14 +01:00
akka-slf4j/src/main/scala/akka/event/slf4j Removed all @author tags for Jonas Bonér since it has lost its meaning. 2011-12-09 18:44:59 +01:00
akka-spring/src Merged with current master 2011-12-13 10:18:15 +01:00
akka-stm/src Merge pull request #156 from jboner/wip-1504-config-comments-patriknw 2011-12-14 08:47:19 -08:00
akka-testkit/src Merge branch 'master' into wip-1503-remove-stm-patriknw 2011-12-14 18:56:39 +01:00
akka-tutorials/akka-tutorial-first Merge branch 'wip-1466-remove-stop-rk' 2011-12-14 15:56:08 +01:00
config Updated microkernel 2011-12-15 11:42:06 +13:00
project Updated microkernel 2011-12-15 11:42:06 +13:00
scripts Updated microkernel 2011-12-15 11:42:06 +13:00
src/main/ls Added JSON file for ls.implicit.ly 2011-12-05 11:14:05 +01:00
.gitignore DOC: Removed stability-matrix 2011-12-13 08:09:54 +01:00
build.sbt Added initial support for ls.implicit.ly to the build, still need more work though 2011-11-29 16:40:39 +01:00
LICENSE Updating copyright section to Typesafe Inc. etc 2011-07-14 16:03:08 +02:00
README.textile Changed URI to akka.io 2011-01-05 05:32:59 -08:00

h1. Akka

We believe that writing correct concurrent, fault-tolerant and scalable applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction.

Akka is here to change that.

Using the Actor Model together with Software Transactional Memory we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications.

For fault-tolerance we adopt the "Let it crash":http://letitcrash.com model which have been used with great success in the telecom industry to build applications that self-heal, systems that never stop.

Actors also provide the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications.

Akka is Open Source and available under the Apache 2 License.

Learn more at "http://akka.io":http://akka.io.