Commit graph

239 commits

Author SHA1 Message Date
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
Endre Sándor Varga
d46a4b6916 - Removed usage of null from Endpoint
- Fixed race resolution logic in FailureDetectorRegistry to not create unnecessary instances
2012-12-18 14:24:37 +01:00
Endre Sándor Varga
9f006789fc Made RemotingEvents sealed and final 2012-12-18 14:23:38 +01:00
Endre Sándor Varga
0705d47a88 Streamlined configuration, transport adapters and FailureInjector
- Transports no longer uses raw ActorRefs as listeners but proper interfaces.
 - Added managementCommand support to Transports
 - Added support for dynamically loadable transport adapters
 - Added throttler/failure injector transport adapter
 - added actor based adapter support
 - Changed configuration method of multiple transports - Fixed tests to work with the new remoting
2012-12-03 10:06:38 +01:00
Patrik Nordwall
4761feb071 Merge pull request #858 from akka/wip-2547-metrics-router-patriknw
AdaptiveLoadBalancingRouter and refactoring of metrics, see #2547
2012-11-30 23:37:30 -08:00
Viktor Klang
e8610e1ddd Scalariforming 2012-11-26 17:42:25 +01:00
Roland
5e2127a6c7 clarify internal nature of ActorRefProvider impls 2012-11-22 15:14:24 +01:00
Roland
fbd96162a0 add ActorRefProvider.getDefaultAddress, see #2732
- use it in ConsistentHashingRouter instead of relying on
  provider.rootPath.address
- remove transport.address from RemoteActorRefProvider.rootPath
2012-11-22 14:40:54 +01:00
Endre Sándor Varga
5b96c28acd Fixed according to review comments. 2012-11-22 13:33:48 +01:00
Endre Sándor Varga
d03d98b6ab Removed cross layer dependencies
- akka protocol treats upper layer messages as raw bytes now
 - deserialization for received messages no longer use localAddressForRemote
2012-11-21 15:58:01 +01:00
Endre Sándor Varga
682abccf7e Added defaultAddress() to RemoteTransport API 2012-11-21 14:18:24 +01:00
Endre Sándor Varga
0f0c5cb17a Merge branch 'master' into wip-2053d-actorbased-remote-drewhk 2012-11-21 12:04:14 +01:00
Patrik Nordwall
5eec693fd0 Incorparate review feedback, see #2547
* case object and case class for MixMetricsSelector
* Rename decay-half-life-duration to moving-average-half-life
* Clarification of decay-half-life-duration and collect-interval
* Removed Fields, Java compatibility issue
* Adapt for-yield variables
* Comment metrics collector constructor that takes system param
* Don't copy EWMA if not needed
* LogOf2 constant 0.69315
* Don't use mapValues
* Remove RichInt conversion
* sigar version replace tag in docs
* createDeployer factory method to make it possible to override
  deployer in subclass
* Improve readability of MetricsListener (in sample)
* Better startup of factorial sample (no sleep)
* Many minor enhancements and cleanups
2012-11-16 11:03:20 +01:00
Patrik Nordwall
1914be7069 Merge branch 'master' into wip-2547-metrics-router-patriknw
Conflicts:
	akka-actor/src/main/scala/akka/actor/Deployer.scala
	akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala
	akka-cluster/src/test/scala/akka/cluster/MetricsCollectorSpec.scala
2012-11-15 12:33:11 +01:00
Patrik Nordwall
dcde7d3594 AdaptiveLoadBalancingRouter and more refactoring of metrics, see #2547
* Refactoring of standard metrics extractors and data structures
* Removed optional value in Metric, simplified a lot
* Configuration of EWMA by using half-life duration
* Renamed DataStream to EWMA
* Incorporate review feedback
* Use binarySearch for selecting weighted routees
* More metrics selectors for the router
* Removed network metrics, since not supported on linux
* Configuration of router
* Rename to AdaptiveLoadBalancingRouter
* Remove total cores metrics, since it's the same as jmx getAvailableProcessors,
  tested on intel 24 core server and amd 48 core server, and MBP
* API cleanup
* Java API additions
* Documentation of metrics and AdaptiveLoadBalancingRouter
* New cluster sample to illustrate metrics in the documentation,
  and play around with (factorial)
2012-11-14 15:08:30 +01:00
Viktor Klang
8f131c680f Switching to immutable.Seq instead of Seq 2012-11-12 14:17:47 +01:00
Patrik Nordwall
49500ab248 Use full address when hashing routees, see #2657
* Problem: ConsistentHashingRouter used on different nodes with remote
  and local routees doesn't route to same targets.
* Reason: Full address, with host and port was not used in the
  representation of the routees, which produced different  hash rings
  on different nodes.
* Solution: Fill in full address in the toString representation for
  LocalActorRef
* IMPORTANT: Discovered that rootPath of the provider didn't include the
  full address. It is documented that it should and I needed that to
  be able to grab the address without depending on remoting. This caused
  changes in RemoteActorRefProvider. Initialization order is a bit scary
  there.
2012-10-30 08:18:41 +01:00
Endre Sándor Varga
5f9253b79e New Remoting implementation (iteration 3) #2053
- Asynchronous lockless remoting
 - Pluggable transport drivers
 - Multiple transport support
 - Simplified lifecycle events
 - Support for netty based TCP, SSL+TCP and UDP support
 - Updated Akka protocol with soft-state connections and failure detection
 - Refactored failure detectors (currently duplicated from cluster)
2012-10-29 16:32:15 +01:00
Björn Antonsson
1d578a9aa2 Change RemoteActorRef to not start before it's been published. #2575 2012-10-15 13:33:39 +02:00
Björn Antonsson
4d003c50e7 Changes according to review. #2575 2012-10-11 10:29:54 +02:00