Commit graph

258 commits

Author SHA1 Message Date
Patrik Nordwall
aa6bdd197e =rem #3870 Stop re-delivery of system messages when watching non-existing sys
* We don't know the UID so we can't quarantine, but we can stop the endpoint
  writer and drop outstanding system messages
2014-02-13 11:27:53 +01:00
Adam Voss
cce29dfa51 Changes all occurances of Typesafe copyright to extend to 2014. 2014-02-04 21:20:09 -06:00
Patrik Nordwall
4b843476ef =clu,rem #3632 Correct wrong transport in docs 2014-01-21 15:14:27 +01:00
Patrik Nordwall
aca051c4ba =rem #3726 Fix race in RemoteWatcher for first quick watch/unwatch
* The problem scenario was that a remote watch followed by re-watch triggered by
  first heartbeat and unwatch coming in before the extra re-watch message. That
  caused RemoteWatcher to still watch the subject even though it was intended to
  be unwatched.
* I could reproduce it with sleeps at stratgic points
* Sovled by separate re-watch message and check that still watching
2013-12-13 18:04:01 +01:00
Patrik Nordwall
ebadd567b2 !act,rem,clu #3549 Simplify and enhance routers
* Separate routing logic, to be usable stand alone, e.g. in actors
* Simplify RouterConfig, only a factory
* Move reading of config from Deployer to the RouterConfig
* Distiction between Pool and Group router types
* Remove usage of actorFor, use ActorSelection
* Management messages to add and remove routees
* Simplify the internals of RoutedActorCell & co
* Move resize specific code to separate RoutedActorCell subclass
* Change resizer api to only return capacity change
* Resizer only allowed together with Pool
* Re-implement all routers, and keep old api during deprecation phase
* Replace ClusterRouterConfig, deprecation
* Rewrite documentation
* Migration guide
* Also includes related ticket:
  +act #3087 Create nicer Props factories for RouterConfig
2013-10-16 09:27:13 +02:00
Endre Sándor Varga
b566e9393d =act, rem, clu #3521: make serialize-messages work with core modules 2013-08-27 11:05:54 +02:00
Endre Sándor Varga
01b3be1242 +rem #3485 Make dispatcher for all remoting actors configurable 2013-08-20 14:01:30 +02:00
Roland
141656a054 change IAE to ConfigurationException, see #3342 2013-06-02 16:23:54 +02:00
Roland
f317aaf711 rewrite mailbox selection logic, see #3342
- add “mailbox-requirement” key to dispatcher section
- split out mailbox section, add akka.actor.default-mailbox
- rewrite findMarker method and use it for Props.create() and getting
  the required mailbox of an actor
- add ProducesMessageQueue trait for MailboxType so that requirements
  can be checked before trying to create the actor for real
- verify actor as well as dispatcher requirements for message queue
  before creation, even in remote-deployed case
- change MessageDispatcher constructor to take a Configurator, add that
  to migration guide
2013-06-02 12:32:04 +02:00
Roland Kuhn
8df8541801 Merge pull request #1500 from akka/wip-3210-local-only-∂π
make LocalScope mean “purely local” and avoid Props serialization check,...
2013-05-30 08:03:32 -07:00
Patrik Nordwall
07baf05bae harmonize MyActor.props pattern, see #3418 2013-05-30 14:50:46 +02:00
Roland
92db59183e make LocalScope mean “purely local” and avoid Props serialization check, see #3210 2013-05-29 23:36:39 +02:00
Roland
f802c94b9b remove fallback to default-dispatcher, see #3394 2013-05-28 15:40:00 +02:00
Endre Sándor Varga
fd4bc09035 EventStream is now passed to failure detectors
- Also, dynamic loading is now centralized (DRY)
2013-05-17 16:35:27 +02:00
Patrik Nordwall
7628889b43 Changed design of RemoteWatcher due to cleanup race, see #3265
* The problem was a race caused by HeartbeatReq sent out, and
  the watchee terminated immediately. That caused the RemoteWatcher
  peers watching each other without any other watch registered.
  It is racy.
* Instead of one-way heartbeats from the side beeing watched I
  changed to ping-pong style. That makes the problem go away
  and simplifies a lot of things in RemoteWatcher.
2013-05-04 17:35:12 +02:00
Björn Antonsson
539df2e98a Enforce mailbox types on System actors. See #3273 2013-05-03 11:05:32 +02:00
drewhk
a694995617 Merge pull request #1352 from drewhk/wip-2594-quarantining-drewhk
Hooked in quarantining
2013-04-19 06:02:08 -07:00
Björn Antonsson
c3eed374f1 Allow different types of mailboxes on the same dispatcher. See #2687 2013-04-19 13:42:58 +02:00
Endre Sándor Varga
33e2710bf9 Hooked in quarantining 2013-04-19 11:39:28 +02:00
Endre Sándor Varga
2b0a27be9e Added acknowledged delivery of system messages 2013-04-18 16:10:20 +02:00
Patrik Nordwall
4606612bd1 Reliable remote supervision and death watch, see #2993
* RemoteWatcher that monitors node failures, with heartbeats
  and failure detector
* Move RemoteDeploymentWatcher from CARP to RARP
* ClusterRemoteWatcher that handles cluster nodes
* Update documentation
* UID in Heartbeat msg to be able to quarantine,
  actual implementation of quarantining will be implemented
  in ticket 2594
2013-04-17 19:42:51 +02:00
Patrik Nordwall
9f45dd90b7 Merge pull request #1304 from akka/wip-2839-dispatcher-deploy-config-patriknw
Add dispatcherId to deployment config, see #2839
2013-04-08 12:03:43 -07:00
Patrik Nordwall
c77cdeb86b Merge pull request #1277 from akka/wip-3074-deprecate-actorFor-patriknw
Deprecate actorFor in favor of ActorSelection, see #3074
2013-04-08 11:48:48 -07:00
Patrik Nordwall
887af975ae Deprecate actorFor in favor of ActorSelection, see #3074
* Deprecate all actorFor methods
* resolveActorRef in provider
* Identify auto receive message
* Support ActorPath in actorSelection
* Support remote actor selections
* Additional tests of actor selection
* Update tests (keep most actorFor tests)
* Update samples to use actorSelection
* Updates to documentation
* Migration guide, including motivation
2013-04-08 18:11:52 +02:00
Patrik Nordwall
ae0cb4a756 Add dispatcher to deployment config, see #2839 2013-04-08 09:52:56 +02:00
Viktor Klang (√)
0d510ff031 Merge pull request #1290 from akka/wip-3077-deprecate-isTerminated-√
#3077 - Deprecating ActorRef.isTerminated
2013-04-03 15:44:20 -07:00
Viktor Klang
7b263365aa #3077 - Deprecating ActorRef.isTerminated 2013-04-03 23:57:28 +02:00
Viktor Klang (√)
641e499cc4 Merge pull request #1287 from akka/wip-2970-lightweight-ec-form-promiseactorref-√
#2970 - Removing scheduler and dispatcher from ARP and reimplementing P...
2013-04-03 11:23:54 -07:00
Viktor Klang
fcfe7b4617 #2970 - Removing scheduler and dispatcher from ARP and reimplementing PromiseActorRef to use an internal calling thread EC 2013-04-03 19:12:03 +02:00
Björn Antonsson
a4ab7a9841 Cleaning up the ActorRef serialization according to review. See #3137 2013-04-03 10:49:38 +02:00
Björn Antonsson
33080a4155 Correctly serialize local actor refs from other actor systems. See #3137 2013-04-03 10:32:13 +02:00
Endre Sándor Varga
f8c3717ca1 Changed Failed to be a SystemMessage
- Moved system messages to their own package.
 - All queueing operations are now hidden behind a SystemMessageList value class
 - Introduced dual SystemMessageList types to encode the ordering in the type.
   - Protects against accidentally missed reverse calls or accidentally reversed lists
   - Makes ordering expectations by fields/parameters explicit
 - Fixed serialization tests
 - Fixes to logging in HierarchyStressSpec
2013-03-22 12:02:31 +01:00
Patrik Nordwall
b738487dc8 Add UID to RemoteActorRef, see #3072
* Sending to a previous incarnation of an actor shall fail,
  to make remote actors work the same way as local ones (in
  the sense that after Terminated() the ref is not working anymore)
* Changed equality of ActorRef to take the uid into account
* Parse uid fragment in RelativeActorPath and ActorPathExtractor
* Handle uid in getChild and in RemoteSystemDaemon
* Use toSerializationFormat and toSerializationFormatWithAddress
  in serialization
* Replaced var uid in ActorCell and ChildRestartStats with
  constructor parameters (path)
* Create the uid in one single place, in makeChild in parent
* Handle ActorRef with and without uid in DeathWatch
* Optimize ActorPath.toString and friends
* Update documentation and migration guide
2013-03-21 20:25:16 +01:00
Viktor Klang
2e50bb8f52 Removing the redundant field that is RemoteActorRefProvider from RARP as it is transitively availabe through the transport 2013-03-06 15:10:59 +01:00
Patrik Nordwall
0f01ffe3a0 Add fail fast checks to prevent null message, see #2800
(cherry picked from commit 5526f9d2a8b01f944ff078ce57f2a03c21649d05)

* Added null check in Envelope.apply
2013-02-20 13:36:42 +01:00
Patrik Nordwall
323e5c80b5 Polish the API/SPI of remoting, see #2827
* Changed TransportAdapterProvider to support java impl
* Verified java impl of AbstractTransportAdapter and
  ActorTransportAdapter
* Privatized things that should not be public api
* Consistent usage of INTERNAL API marker in scaladoc
* Added some missing doc in conf
* Added missing SerialVersionUID
2013-02-10 17:47:43 +01:00
Viktor Klang (√)
5164e2e08e Merge pull request #1096 from akka/wip-2986-ActorContext-executor-√
#2986 - Changing ActorContext and ActorRefFactory's dispatcher to retur...
2013-01-31 06:42:12 -08:00
Viktor Klang
e519e3dc3b #2986 - Changing ActorContext and ActorRefFactory's dispatcher to return ExecutionContext 2013-01-31 15:41:31 +01:00
Patrik Nordwall
f89dd49954 Share same instance of deadLetters between LARP and RARP, see #2983 2013-01-31 11:28:08 +01:00
Roland
b881963907 make sure that InterruptExceptions are not swallowed, see #2963
also remove an old work-around in CallingThreadDispatcherModelSpec and
describe the rules for interrupting in the testing docs
2013-01-29 17:26:15 +01:00
Endre Sándor Varga
e0a9dd70ba Dead letters containing remote envelopes handled correctly #2959
- New DeadLetter class for handling remoting specific envelopes
 - Fixed error handling of name lookups
 - Name lookup is now handled via futures (future refactor opportunity)
2013-01-29 11:31:53 +01:00
Endre Sándor Varga
99adbdfab4 Changed and documented new remoting configuration #2593 2013-01-24 12:35:05 +01:00
Endre Sándor Varga
b08c331577 Fixed problems handling passive connections in Remoting #2878
- Fixed potential race in EndpointWrite when TakeOff is processed
- Reenabled accidentally disabled gremlin due to changed defaults
- Fixed EndpointRegistry incorrectly handling passive connections
2013-01-17 14:37:29 +01:00
Viktor Klang
adfeb2c1f0 #2879 - updating copyright info 2013-01-09 11:38:00 +01:00
Endre Sándor Varga
748d10f1b3 Merged with master 2012-12-18 16:08:06 +01:00
Endre Sándor Varga
55be17419e Merge branch 'master' into wip-2053d-actorbased-remote-drewhk
Conflicts:
	akka-docs/rst/java/code/docs/serialization/SerializationDocTestBase.java
	akka-docs/rst/scala/code/docs/serialization/SerializationDocSpec.scala
	akka-remote-tests/src/main/scala/akka/remote/testconductor/NetworkFailureInjector.scala
	akka-remote/src/main/scala/akka/remote/RemoteActorRefProvider.scala
2012-12-18 15:15:01 +01:00
Endre Sándor Varga
4c7691fe40 Removed implicit conversions from ActorRef to AssociationEventListener and HandleEventListener 2012-12-18 14:30:04 +01:00
Endre Sándor Varga
752e43a0e7 Implemented strictly ordered shutdown between remoteDaemon and transport in RARP. 2012-12-18 14:30:03 +01:00
Endre Sándor Varga
b886fcd54c Added clarifications to driver-adapter stack building method 2012-12-18 14:29:25 +01:00
Endre Sándor Varga
6bd64d55bd - Fixes in contrib and docs
- Fixed getExternalAddressFor
2012-12-18 14:26:55 +01:00