Commit graph

8091 commits

Author SHA1 Message Date
Roland
0a7e5fe296 wrap up local routing
- pull some more generic stuff out of the individual routers, add
  factories which take only target lists
- add router parsing to Deployer, removing everything which is not
  strictly related to local scope, which left only few things, so move
  them to Deployer.scala and delete DeploymentConfig
- fix ConfiguredLocalRoutingSpec to use the new configuration mechanism
  and verify that configuration overrides code
- fix DeployerSpec by using (mostly) correct lookup paths and removing
  everything which was not local
- change config file layout, removing everything which is not local from
  akka-actor/.../reference.conf, putting the remote stuff into the
  akka-remote/.../reference.conf (unused as of yet); adapt comments
  according to changed functionality
2011-12-12 23:34:52 +01:00
Roland
d8bc57dc17 Merge remote-tracking branch 'origin/1428-RoutedActorRef-henrikengstrom' into wip-remote-supervision-rk 2011-12-12 15:58:23 +01:00
Henrik Engstrom
192f84df71 Misc improvements of ActorRoutedRef. Implemented a scatterer gatherer router. Enabled router related tests. See #1440. 2011-12-12 15:06:40 +01:00
Henrik Engstrom
a7886abdf0 Implemented a couple of router types. Updated some tests. See #1440 2011-12-11 22:40:28 +01:00
Roland
7f0275bca2 that was one hell of a FIXME
- fixed so that netty pipeline when generating addresses does not need
  to know the system name of the connecting client (which might differ
  from the local one, of course)
- this entailed differentiating between transport addresses and system
  addresses, which I took as an opportunity to separate everything out
  properly so that address schemas can easily be made pluggable
- made RemoteSupport generic in the address format it supports
- adapt netty stuff, and made everything else work with the most
  generic: ParsedTransportAddress
- did I mention that I statically separated unparsed from parsed
  addresses?
2011-12-11 20:00:26 +01:00
Roland
40654227b7 fix review comment .size>0 => .nonEmpty 2011-12-11 13:05:18 +01:00
Roland
11601c2926 fix some FIXMEs
- add Java API for FaultHandlingStrategy.Action values
- verify that Mailbox.debug being a constant elides its printlns
- remove dead code from bubbleWalker
2011-12-10 22:52:49 +01:00
Roland
09aadcb60d incorporate review comments
- add two missing @volatiles
- add quite some comments
- refactor provider.actorOf to always take a path for the child, not
  only a name
2011-12-10 20:32:23 +01:00
Roland
d4a764cfd9 remove LocalActorRef.underlyingActorInstance
- was used only in BalancingDispatcherSpec (was dirty, fixed dirty) and
  TestActorRef
- fixing the latter involved opening up ActorCell slightly for allowing
  new AutoReceivedMessage types (that trait is now not sealed anymore)
- TestActorRef then checks underlying.actor and retrieves it using a
  message-based request if it is still null
2011-12-10 16:56:53 +01:00
Henrik Engstrom
fd7a041c09 merged 2011-12-10 12:58:34 +01:00
Henrik Engstrom
11450ca4e0 tmp 2011-12-10 10:53:38 +01:00
Roland
57d88594b6 tweak authors.pl convenience 2011-12-10 10:27:36 +01:00
Roland
f4fd207fdc re-enable multi-jvm tests
- only Direct* and New* for now, since
- the non-trivial routers are not yet done and not topic of this branch
2011-12-09 20:58:59 +01:00
Roland
4f643eaa1b simplify structure of Deployer
- remove unused ActorDeployer trait
- put everything in one class with simple initialization structure and
  one protected method to override for adaptations
- adapt RemoteDeployer accordingly
- change “remote” key to directly contain the single remote address,
  since there is nothing else to configure
- adapt test cases accordingly
2011-12-09 20:19:59 +01:00
Roland
8540c70f18 require deployment actor paths to be relative to /user
- they still must start with “/” in the configuration file
- they will be looked up while deploying under /user and /remote, the
  latter being necessary to support fully transparent deployment (i.e.
  the path under /remote is shortened from the left to arrive at the
  logical ancestor which is just a child of /user on some node)
2011-12-09 18:15:14 +01:00
Roland
e773279138 fix remote-deployed zig-zag look-up
- looker on node A
- looker/child on node B
- looker/child/grandchild on node A
2011-12-09 18:07:42 +01:00
Roland
b84a35456d Merge remote-tracking branch 'origin/1428-RoutedActorRef-henrikengstrom' into wip-remote-supervision-rk 2011-12-09 15:13:35 +01:00
Roland
a20aad4a5b fix routing of remote messages bouncing nodes (there may be pathological cases ...)
- RemoteCommunicationSpec last test currently failing, lookup of
  deployment must be fixed to work zig-zag across nodes
- commit mainly to merge with Henrik’s router work and get the surface
  clean
2011-12-09 14:52:11 +01:00
Henrik Engstrom
90b6833978 Initial take on new routing implementation. Please note that this is work in progress! 2011-12-09 14:46:57 +01:00
Roland
e5bd8b5f88 make remote supervision and path continuation work
- add supervisor to remote USE message
- make remoteDaemon a VirtualPathContainer like
  LocalActorRefProvider.tempContainer (i.e. synchonous with CHM-based
  child lookup), scrap remoteDaemonSupervisor and rename remoteDaemon to
  “/remote” to match the plans in the docs
- comment out the remote deployment configuration section, to be done
  when Henrik is finished with RoutedActorRef work
- for now only “remote.nodes = ["sys@host:port"]” is looked at, i.e. if
  at least one is present, the first one is used to determine where to
  deploy the currently created child (routers will do the scaling-out
  component) [rest is commented out]
- multi-jvm tests not yet re-enabled (need to be adapted), but all other
  tests are GREEN (at least on my machine)
2011-12-09 00:02:27 +01:00
Roland
fac840adfc make remote lookup work
- create RemoteActorRef in actorFor
- simplify send/receive because Futures/Exceptions do not go over the
  wire anymore
- add RemoteCommunicationSpec which uses two ActorSystems communicating
  in the same JVM via TCP socket
2011-12-08 14:44:05 +01:00
Roland
25e23a3378 remove references to Remote* from akka-actor
- moved RemoteInterface.scala into akka-remote, not needed anymore since
  the plugin is loaded as ActorRefProvider now
- removed some old unused imports
- split out remote aspects from Deployer & DeployerSpec into
  RemoteDeployer & RemoteDeployerSpec (the latter in akka-remote)
- created a ticket for cleaning up the rest, mostly remove all
  occurrences of “remote” and “cluster” from akka-actor in this way

All of this was triggered by wanting to:
- change the signature of RemoteSupport.send to require a RemoteActorRef
  recipient
2011-12-07 16:31:29 +01:00
viktorklang
bf3ce9bb87 Merge pull request #138 from jboner/wip-reset_behaviors_on_restart
#1429 - reverting hotswap on restart and termination
2011-12-07 05:23:00 -08:00
Patrik Nordwall
81492ce84b Changed to Debug log level on some shutdown logging 2011-12-07 14:08:20 +01:00
Patrik Nordwall
2721a879c2 Use Config in benchmarks 2011-12-07 14:08:20 +01:00
Roland
9a74bcafb3 remove residue in RemoteActorRefProvider 2011-12-07 13:55:48 +01:00
Viktor Klang
119ceb0278 Since there is no user API for remoting anymore, remove the old docs 2011-12-07 13:40:29 +01:00
Viktor Klang
5c3c24bc58 Merge branch 'master' of github.com:jboner/akka 2011-12-07 13:37:05 +01:00
Viktor Klang
2872d8b987 #1339 - adding docs to testing.rst describing how to get testActor to be the implicit sender in TestKit tests 2011-12-07 13:36:53 +01:00
Viktor Klang
4084c017a3 Adding docs to clarify that restarting resets the actor to the original behavior 2011-12-07 13:30:56 +01:00
Viktor Klang
cde4576cc7 #1429 - reverting hotswap on restart and termination 2011-12-07 13:04:44 +01:00
Roland
75c8ac33b4 make next state’s data available in onTransition blocks, fixes #1422
cherry-picked from release-1.3
2011-12-07 11:59:04 +01:00
Viktor Klang
7351523585 Merge branch 'master' of github.com:jboner/akka 2011-12-07 11:51:40 +01:00
Roland
a0a44abe0d add and verify Java API for actorFor/ActorPath, fixes #1343 2011-12-07 11:42:44 +01:00
Viktor Klang
50febc5c5a Merge branch 'master' of github.com:jboner/akka 2011-12-07 11:38:51 +01:00
Patrik Nordwall
56dc18106b ActorContext instead of ActorRef in HotSwap code parameter. See #1441 2011-12-07 11:25:35 +01:00
Viktor Klang
aa9b077657 Adding support for range-based setting of pool sizes 2011-12-07 11:25:27 +01:00
Patrik Nordwall
f7d6393027 Removed actorOf methods from AkkaSpec. See #1439 2011-12-07 11:10:54 +01:00
Patrik Nordwall
eb61173ff9 API doc clarification of context and getContext 2011-12-07 10:47:07 +01:00
patriknw
87fc7ea536 Merge pull request #136 from jboner/wip-1377-context-patriknw
Cleanup of methods in Actor and ActorContext trait. See #1377
2011-12-07 01:10:27 -08:00
Patrik Nordwall
9c73c8eac3 Merge branch 'master' into wip-1377-context-patriknw 2011-12-07 10:08:17 +01:00
Patrik Nordwall
1402c7692e Minor fixes from review comments. See #1377 2011-12-07 10:07:46 +01:00
Roland
0f922a39ab fix ordering issue in ActorLookupSpec
There is no guarantee concerning the order in which children are
traversed during an ActorSelection send operation.
2011-12-07 08:46:40 +01:00
Patrik Nordwall
1a93ddb7c0 Merge branch 'master' into wip-1377-context-patriknw 2011-12-07 08:07:58 +01:00
Patrik Nordwall
bfa14a692c Merge branch 'master' into wip-1377-context-patriknw
Conflicts:
	akka-actor/src/main/scala/akka/actor/ActorCell.scala
	akka-actor/src/main/scala/akka/actor/ActorRef.scala
	akka-actor/src/main/scala/akka/dispatch/AbstractDispatcher.scala
	akka-actor/src/main/scala/akka/event/EventStream.scala
	akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/first/java/Pi.java
	akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala
2011-12-07 07:49:34 +01:00
Roland
d8ede288d7 improve ScalaDoc of actorOf methods (esp. their blocking on ActorSystem) 2011-12-06 23:09:29 +01:00
Roland
c4ed57100e make Jenkins wait for Davy Jones
- AkkaSpecSpec failed with nothing in the locker, but only on Jenkins
- cause: Davy Jones doesn’t get a chance to run because nobody actually
  waits for his processing
- thus, give him permission to leave this world and have him confirm
  that
2011-12-06 22:50:19 +01:00
Roland
a1d8f30669 fix bug in creating anonymous actors
- when no name was given, it resulted in a simple call to the provider
- which is completely the wrong thing to do in case of ActorSystem
- so, introduce CreateRandomNameChild op for guardians and use that
2011-12-06 21:34:29 +01:00
Roland
831b3272ad add min/max bounds on absolute number of threads for dispatcher
The reason for the previously failing test case was that Jenkins has
only two (logical) cores and the test config sets the
core-pool-size-factor to 2, meaning four threads. This is not enough to
have four Futures waiting (as per the test) and one actor which actually
does the work (the guardian in this case). Hence, make it so that
core-pool-size-min gives the absolute minimum and set the default of
that to eight.

While doing so I cleaned up the MessageDispatcherConfigurator to not use
HOF since now configuration items are not optional anymore, yielding a
flow which is much more readily understandable.
2011-12-06 20:39:26 +01:00
Jonas Bonér
f7f36ac98c Merge branch 'master' of github.com:jboner/akka
Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
2011-12-06 17:29:21 +01:00