Commit graph

8098 commits

Author SHA1 Message Date
Roland
134fac4bfe make routers monitor their children 2011-12-13 16:05:56 +01:00
Roland
040f3076bc add watch/unwatch for testActor to TestKit 2011-12-13 15:41:00 +01:00
Roland
8617f9293d make writing custom routers even easier 2011-12-13 12:39:02 +01:00
Roland
4bd9f6ae1a rename Props.withRouting to .withRouter 2011-12-13 11:32:24 +01:00
Roland
4b2b41e725 fix two comments from Patrik
- map Iterable to Vector using breakOut instead of «Vector() ++ ...»
- give a name to the Pi sample actor system
2011-12-13 11:20:36 +01:00
Roland
db7dd9450c re-enable the missing three multi-jvm tests
- mostly a matter of putting correct target.nodes URIs into configs and
  adding withRouting to Props
- ScatterGather test was wrong to assume equal distribution of replies
  from connections; it is random and only the sum should add up
2011-12-13 10:58:09 +01:00
Roland
d1a26a9e28 implement remote routers
- split out actual routing functionality into *Like traits to be
  reusable
- make RemoteRouterConfig which only differs in how remote placement is
  initiated
- teach RemoteDeployer how to convert local RouterConfig in case config
  key “target.nodes” is set
- IT WORKS! All tests GREEN
- oh, yeah, had to make ActorPath serializable ...
2011-12-13 01:29:05 +01:00
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