Commit graph

268 commits

Author SHA1 Message Date
Johan Andrén
62e30b3c08 Update copyrights and links to the new company name #19851 2016-02-23 12:58:39 +01:00
Prayag Verma
b7783968a0 =pro #19068 All copyrights ranges and single years updated to a range ending in 2016 2016-01-25 10:20:30 +01:00
Patrik Nordwall
987a4253a6 =rem #18252 Change loglevel for failing resolveActorRef 2015-08-18 19:36:29 +02:00
Patrik Nordwall
0e8264856b !act #13919 Make ActorRef.isTerminated internal
* until we have replaced all internal usages of it,
  or we could decide that it is good to keep as an
  internal facility and then we can remove the deprecation
  annotations
2015-05-19 12:08:24 +02:00
Patrik Nordwall
85a5cc61aa !act #13919 Make actorFor internal
* until we can replace all internal usages of it, which
  is only in akka-camel
2015-05-19 12:07:18 +02:00
Thibaut Robert
12cbf83927 =rem improve remote watching mechanism
This improves the remote watching mechanism as follows: Watch requests
are intercepted by the RemoteWatcher and not sent on the wire,
excepted watches from the remoteWatcher itself.

RemoteWatcher is then in charge of forwarding DeathWatchNotification
messages to the watchers.

This reduces the number of watch message to one per watchee, even if
there are several watcher on the same watchee (instead of n+1 before).

Reversed watch messages, and watch on ref with undefinedUid are excluded from
interception by the RemoteWatcher and so are handled as before this commit.

In addition, the following changes are made:
- Keep watchers in a map watchee -> watchers for more efficient retrieval
(in a scala Multimap)
- Keep watchees in a map address -> watchee for more efficient retrieval
(in a scala Multimap)
- Use of InternalActorRef more thoroughly to avoid casts
- Rewatch use a standard watch message, as the distinction is longer needed
2015-05-13 14:10:35 +02:00
Julian Tescher
00f6a58e7c Changes all occurances of Typesafe copyright to extend to 2015 2015-03-10 14:12:19 -07:00
Andrei Pozolotin
d83acb92c3 = akka-*: full name space for loggers - resolve #16138
reflect logger name changes in the migration guide

fix typo in migration guide

fix typo in migration guide (xml)
2014-11-18 09:17:07 -06:00
Viktor Klang
b8c634451f +act - 15757 - Changes the signature of ActorSystem.terminate() and ActorSystem.whenTerminated() to be of Future[Terminated] iso Future[Unit] 2014-08-26 10:57:47 +02:00
dario.rexin
2cbad298d6 =all #3858 Make case classes final 2014-03-07 13:20:01 +01:00
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