Commit graph

344 commits

Author SHA1 Message Date
Roland
48b68c650d Merge branch 'wip-2376-guardianStrategy-∂π' 2012-08-17 14:35:39 +02:00
Björn Antonsson
57ac1da6d1 Fixes from review. See #2385 2012-08-16 22:49:46 +02:00
Roland
c1c05ef95e fix CTD vs. RepointableRef by swallowing exceptions during send
- it was always intended that tell() (and sendSystemMessage()) shall not
  throw any exceptions
- this is implemented by swallowing in ActorCell
  (suspend/resume/restart/stop/!/sendSystemMessage) and in
  RemoteActorRef (!/sendSystemMessage)
- current implementation uses a normal method, which adds overhead but
  keeps the code in one place (ActorCell.catchingSend); this is a great
  opportunity for making use of macros
2012-08-15 21:46:05 +02:00
Roland
f7ea9bf3dd add tests for guardian strategies, see #2376
- this discovered some pretty nice race conditions when creating actors
  synchronously (i.e. system.actorOf) vs. the recent fault-handling fix
  which discards Failed from old incarnations of a certain child
- as a consequence, all actor creation MUST be registered with the
  parent before dispatching the Supervise message
2012-08-15 15:25:43 +02:00
Roland
e3ac633649 add throws clauses to Java APIs 2012-08-09 18:15:38 +02:00
Roland
bf49b75d5e switch to AbstractPartialFunction, see #2357 2012-08-09 17:10:43 +02:00
Roland
0f923c0978 (re)move akka.japi.*PartialFunction and optimize TestKit, see #2357 2012-08-08 16:05:48 +02:00
Roland
6145d4313b some cleanup after Viktor’s comments
- remove useless `cause` argument from some akka exceptions
- improve names of some method arguments
- eliminate some closure allocation
2012-08-08 14:13:52 +02:00
Roland
810d65068e test exceptions from actor constructor in hierarchy, see #2336
This has brought to light some interesting effects (aka bugs) both in
the general implementation as well as in previous fixes.
SupervisorHierarchySpec is without TODOs now and GREEN.
2012-08-08 07:48:23 +02:00
Roland
a19df590a7 make actor-related exceptions be case classes for matching 2012-08-02 14:30:38 +02:00
Roland
faae09ab4e add docs for ExtractRoute, see #2337 2012-07-25 20:48:32 +02:00
Viktor Klang
d3542f8582 #2341 - enabling -deprecation in AkkaBuild and subsequently fixing tons of deprecation warnings 2012-07-24 12:12:06 +02:00
Viktor Klang (√)
29b8035e2b Merge pull request #579 from akka/wip-2337-route-extractor-∂π
add akka.testkit.ExtractRoute, see #2337
2012-07-23 14:31:40 -07:00
Roland
5e6b6f21ff add akka.testkit.ExtractRoute, see #2337 2012-07-23 17:27:05 +02:00
Roland
dca8d15c68 Merge branch 'wip-2212-recursive-resume-∂π' into wip-scala210M5-√
only merged so that it compiles, will clean up warnings in the following
commits
2012-07-23 14:17:45 +02:00
Viktor Klang
1261fab3af Removing akka.util.NonFatal and replacing it with scala.util.control.NonFatal 2012-07-22 15:33:18 +02:00
Viktor Klang
1bf0fe4448 Partial migration to M5 2012-07-17 17:21:08 +02:00
Roland
4bbb1dbcbd rename becomeOpen/becomeSuspended to resume/suspend on Mailbox 2012-07-13 12:25:26 +02:00
Roland
8517d24c3a send Supervise before attaching to dispatcher, see #2301 2012-07-13 11:49:26 +02:00
Viktor Klang
ac5b5de90a Merging in master, huge work trying to get things to compile, tests not green at this stage 2012-07-06 17:04:04 +02:00
Roland
1cb204da49 Merge branch 'master' into wip-2212-recursive-resume-∂π
also split out ChildrenContainer into its own file and add
suspendCounter to UnstartedActorCell
2012-07-05 13:18:19 +02:00
Roland
cde7b29a33 Merge branch 'wip-1952-testkit-java-∂π' 2012-07-04 17:38:20 +02:00
Viktor Klang
52d33113d9 Partial work + broken commit 2012-07-04 15:25:30 +02:00
Roland
78a39198f1 another round of fixes due to suspend counting, see #2212
- always suspend/resume for Suspend/Resume/Recreate, no matter which
  state the actor is in, to keep the counter balanced
- preRestart failures are logged but otherwise ignored; there’s nothing
  else (apart from terminating the actor) which we could do at that
  point
- preRestart/postRestart exceptions have their own distinguishable
  subtype of ActorKilledException now
- fix some race conditions in tests to make them produce fewer false
  failures
- remove cruft from SupervisorStrategy and add methods which can
  actually be used to implement your own (with proper warning signs)
2012-07-04 09:20:17 +02:00
Viktor Klang
e62a0eee1c Merge with master 2012-06-29 16:07:36 +02:00
Viktor Klang
0bf45a9403 Initial work in moving to scala.concurrent.Await + Awaitable 2012-06-29 16:06:26 +02:00
Roland
d7bed79730 add JavaTestKit, see #1952
- it’s a completely new-written thing in pure Java, so that “protected”
  modifiers actually work and no ghost errors appear wrt. inheriting
  from PartialFunction or similar
- it also features integration with the EventFilter
- all closure-based constructs are modeled as inner classes of the
  JavaTestKit, where the user needs to override a single method which
  will then be executed
2012-06-29 14:42:11 +02:00
Viktor Klang
1f6f2c1897 The unb0rkening 2012-06-29 14:07:38 +02:00
Viktor Klang
54a3a44bf8 #2292 - Removing akka.util.Duration etc and replace it with scala.concurrent.util.Duration 2012-06-29 13:33:20 +02:00
Patrik Nordwall
a900052f68 Propagate akka system properties to multi-node tests, see #2280
* Change build to propagate all system properties starting with 'akka.'
  to multi-jvm and multi-node tests.
* Adjusted AkkaSpec and MultiNodeSpec to use load of the config, which
  means that default overrides (system properties) are used.
2012-06-28 11:40:53 +02:00
Viktor Klang
4ae26230b3 Merge branch 'master' into wip-scala210M4-√ 2012-06-26 12:15:46 +02:00
Roland
be74eb835b stashin commit so Iulian can play with it 2012-06-25 19:30:13 +02:00
Björn Antonsson
e2037e254b Merge branch 'master' into wip-2230-race-in-test-conductor-shutdown-ban 2012-06-25 14:40:12 +02:00
Viktor Klang
7f429ed63e Merge with master 2012-06-25 12:55:25 +02:00
Roland
3c15dcdfb8 Merge branch 'wip-2031-sync-actorOf-3.0-∂π'
Some tests fail ATM, but I prefer not to hide semantic fixes within
merge commits.
2012-06-25 11:12:08 +02:00
Viktor Klang
75c0d116e2 Switching off -target:1.6 since its broken 2012-06-21 16:45:58 +02:00
Viktor Klang
543737a933 Updating to scalatest 2.10.0-M4-x-B2 and adding feature imports 2012-06-21 16:09:14 +02:00
Björn Antonsson
4e49b2c843 Make MultiNodeSpec shut down the conductor after other nodes. See #2230 2012-06-21 13:17:05 +02:00
Viktor Klang
1711934043 Mergin in the latest master 2012-06-20 11:28:40 +02:00
Björn Antonsson
4a56f195fc Merge branch 'master' into wip-2218-test-conductor-barrier-timeouts 2012-06-19 15:11:50 +02:00
Viktor Klang
cd0c89d939 Adding -feature and trying to find scala versions for our akka-actor-test dependencies. Also updating the version of Scalatest, specs2 and junit 2012-06-15 13:04:10 +02:00
Roland
b60210362e make system.actorOf() non-blocking (and working), see #2031
- introducing RepointableActorRef, which starts out with an
  UnstartedActorCell which can cheaply be created; the Supervise()
  message will trigger child.activate() in the supervisor, which means
  that the actual creation (now with normal ActorCell) happens exactly
  in the right place and with the right semantics. Messages which were
  enqueued to the dummy cell are transferred atomically into the
  ActorCell (using normal .tell()), so message sends keep working
  exactly as they used to
- this enables getting rid of the brittle synchronization around
  RoutedActorRef by replacing that one with a RepointableActorRef
  subclass which creates RoutedActorCells upon activate(), with the nice
  benefit that there is no hurry then to get it right because the new
  cell is constructed “on the side”

misc fixes:

- InvalidMessageException is now actually enforced when trying to send
  “null”
- Mailboxes may be created without having an ActorCell, which can come
  in handy later, because the cell is only needed when this mailbox is
  going to be scheduled on some executor
- remove occurrences of Props(), which is equivalent to Props[Nothing],
  which is equivalent to «bug»
- add test case which verifies that context.actorOf is still synchronous
- plus all the stuff I have forgotten.
2012-06-13 17:57:56 +02:00
Viktor Klang
d6e3642d9d Removing all uses of immutable.Stack in Akka 2012-06-13 14:08:47 +02:00
Björn Antonsson
463e62926e Make test conductor barriers fail for all on timeouts and care about within() blocks. See #2218 2012-06-13 13:52:58 +02:00
Viktor Klang
d3e2f529f3 Removing a pointless import and the only Scala return statement in our codebase 2012-06-13 11:53:27 +02:00
Roland
d4070d36ab remove LocalActorRef.systemService (residue, very old) 2012-06-07 23:56:04 +02:00
Roland
4e9a658609 remove unused _receiveTimeout constructor args (ActorCell and LocalActorRef) 2012-06-07 10:49:13 +02:00
viktorklang
9581ec8403 Merge pull request #511 from akka/wip-2134-deathwatch2.0-√
Wip 2134 deathwatch2.0 √
2012-06-05 03:33:01 -07:00
Roland
14769828d9 Merge branch 'wip-2122-actorsystem-in-test-∂π' 2012-06-04 21:21:36 +02:00
Roland Kuhn
9b88cf75bf Merge pull request #509 from akka/wip-2174-testkit-trait-∂π
offer TestKitBase trait, see #2174
2012-06-04 10:29:35 -07:00