Commit graph

48 commits

Author SHA1 Message Date
Dominic Black
af657880e2 !con #15496 Remember entries in cluster sharding
- Move all entry related logic out of the ShardRegion and into a
  new dedicated child `Shard` actor.
- Shard actor persists entry started and passivated messages.
- Non passivated entries get restarted on termination.
- Shard Coordinator restarts shards on other regions upon region failure or handoff
- Ensures shard rebalance restarts shards.
- Shard buffers messages after an EntryStarted is received until state persisted
- Shard buffers messages (still) after a Passivate is received until state persisted
- Shard will retry persisting state until success
- Shard will restart entries automatically (after a backoff) if not passivated and remembering entries
- Added Entry path change to the migration docs
2014-08-19 13:13:20 +01:00
Gaston M. Tonietti
b92e0c99b4 +con #13737 Interceptors chain for Actors' bahavior.
* Add new pattern to akka-contrib.
* Mixin ReceivePipeline trait into Actors that have to be intercepted.
2014-08-06 15:50:59 -03:00
Konrad 'ktoso' Malawski
b1d1d87111 !per #15436 make persistenceId abstract in NEW classes
(cherry picked from commit de3249f7f4b859c3caa232e579d9a3bae7406803)

Conflicts:
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/PersistentActorExample.scala
2014-06-26 16:29:30 +02:00
Konrad 'ktoso' Malawski
d51b79c95a !per persistAsync
Breaks binary compatibility because adding new methods to Eventsourced
trait. Since akka-persistence is experimental this is ok, yet
source-level compatibility has been perserved thankfuly :-)

Deprecates:
* Rename of EventsourcedProcessor -> PersistentActor
* Processor -> suggest using PersistentActor
* Migration guide for akka-persistence is separate, as wel'll deprecate in minor versions (its experimental)
* Persistent as well as ConfirmablePersistent - since Processor, their
  main user will be removed soon.

Other changes:
* persistAsync works as expected when mixed with persist
* A counter must be kept for pending stashing invocations
* Uses only 1 shared list buffer for persit / persistAsync
* Includes small benchmark
* Docs also include info about not using Persistent() wrapper
* uses java LinkedList, for best performance of append / head on
  persistInvocations; the get(0) is safe, because these msgs only
  come in response to persistInvocations
* Renamed internal *MessagesSuccess/Failure messages because we kept
  small mistakes seeing the class "with s" and "without s" as the same
* Updated everything that refered to EventsourcedProcessor to
  PersistentActor, including samples

Refs #15227

Conflicts:
	akka-docs/rst/project/migration-guides.rst
	akka-persistence/src/main/scala/akka/persistence/JournalProtocol.scala
	akka-persistence/src/main/scala/akka/persistence/Persistent.scala
	akka-persistence/src/test/scala/akka/persistence/PersistentActorSpec.scala
	project/AkkaBuild.scala
2014-06-10 11:09:12 +02:00
Jeroen Gordijn
619585c50e +con #15157 Changed ClusterSharding.start to return the shardRegion
ActorRef #15209

* Changed ClusterSharding.start to return the ActorRef to the shardRegion (#15157)

* Fixed indentation, and removed unused import

* Test for new API
* removed unused import

- Moved barrier outside of the runon
2014-05-20 10:28:49 +02:00
Konrad Malawski
44f499f434 Merge pull request #15008 from ktoso/3986-cluster-singleton-may-become-doubleton-during-splits-ktoso
=doc #3986 Slight updates in wording on cluster singleton docs
2014-04-22 17:14:25 +02:00
Xingrun CHEN
f421e4260b +con #3972 Make Distributedpubsubmediator support consumer group
1. allow Topic have children topics, which are the groups
2. when publish with sendOneMessageToEachGroup flag, it will send to one
actor each group
2014-04-15 18:54:07 +08:00
Konrad Malawski
990ad99ca3 =doc #3986 Slight updates in wording on cluster singleton docs 2014-04-15 10:22:53 +02:00
Konrad Malawski
08fd4c93fa =doc #3986 Cluster Singleton should not be used with AutoDown
unless you want each partition of the cluster (effectively new clusters),
to spin up their "own" singleton.
2014-04-10 15:38:22 +02:00
Roland Kuhn
95d27e3f82 Merge pull request #2067 from akka/wip-WhatIsAkka-∂π
=doc clean up what-is-akka.rst and switch to www.typesafe.com
2014-03-17 14:16:47 +01:00
Roland Kuhn
98c282f115 =doc clean up what-is-akka.rst and switch to www.typesafe.com
the latter is necessary because of broken DNS requirements which make
apex domains brittle (since they must resolve to an A record with a
single IP)
2014-03-13 12:42:47 +01:00
Giovanni Botta
ee01a8dffe +con #3843 Add ClusterSingletonProxy 2014-03-12 17:42:26 -04:00
Patrik Nordwall
d1a7956d17 =doc Links to activator and some doc improvements 2014-02-21 11:24:01 +01:00
Eric Pederson
0a8f0e8dd8 =con #3834 Doc fixes for ReliableProxy 2014-01-23 13:19:40 -05:00
Eric Pederson
fcb7a6c292 !con #3820 Add reconnection to ReliableProxy 2014-01-20 11:41:48 +01:00
Patrik Nordwall
a11fb1dafc =act #3572 Add parens to sender
* because it is not referentially transparent; normally we reserved parens for
  side-effecting code but given how people thoughtlessly close over it we revised
  that that decision for sender
* caller can still omit parens
2014-01-17 18:21:14 +01:00
Patrik Nordwall
0a56fbf7d0 =doc Fix a few typos in docs 2013-12-15 17:42:03 +01:00
Patrik Nordwall
b3b66db643 +con #3758 Provide sharding of actors in a cluster
* Delete files only from controller
* Change default retry settings of singleton to speedup startup
* Persistent snapshots
2013-12-13 16:19:35 +01:00
Patrik Nordwall
73d3430024 +con #3669 Possibility to define routing logic in DistributedPubSub
* Serialization check in contrib
2013-10-17 12:17:45 +02:00
Patrik Nordwall
c55189f615 Merge pull request #1719 from akka/wip-3597-cluster-singleton-hand-over-patriknw
!con #3597 Remove hand over data message in cluster singleton
2013-09-25 02:54:06 -07:00
Patrik Nordwall
bb25f7dd94 Merge pull request #1714 from akka/wip-3551-buffer-cluster-client-patriknw
+con #3551 Buffer messages in cluster client
2013-09-13 03:49:04 -07:00
Akara Sucharitakul
c6c632176b +con #3578 Aggregator contribution
(cherry picked from commit ea3d9fd8a188bc5534f31ca0ba57751d01be3b66)
2013-09-12 13:31:20 +02:00
Patrik Nordwall
23f933afe3 !con #3597 Remove hand over data message in cluster singleton 2013-09-10 13:35:51 +02:00
Patrik Nordwall
09e3953c9f +con #3551 Buffer messages in cluster client
* Stash when establishing connection to receptionist
2013-09-10 07:52:46 +02:00
Taylor Leese
47f33c9294 Add a few more details to the cluster client docs. 2013-08-20 03:09:59 -07:00
Patrik Nordwall
6460d764a1 Make Throttler usable from Java, see #3223 2013-07-05 10:52:34 +02:00
Patrik Nordwall
716893263a ClusterSingletonManagerSpec must not use 'node' from other thread, see #3382
* Thank you @rkuhn for finding the reason for the problem
* Sprinkled some warnings
2013-05-24 14:43:06 +02:00
Jonas Boner
5d524872c7 Minor fixes after review. 2013-05-21 09:05:40 +02:00
Jonas Boner
33407e39de Added optional property (skipSenderNode) to PubSub.SendToAll
if the message should be sent to a matching path on the sender node or not.

Added optional property (skipSenderNode) to PubSub.SendToAll.
Deciding if the SendToAll message should be sent to a matching path on the sender cluster node or not. + Test and Docs.
2013-05-20 13:45:13 +02:00
Patrik Nordwall
b8b65c9153 Cluster member age, and usage in singleton, see #3195
* Assign internal upNumber when member is moved to Up
* Public API Member.isOlder
* Change cluster singleton to use oldest member instead of leader
* Update samples and docs
2013-05-03 13:38:35 +02:00
Patrik Nordwall
7634964b96 API adjustments to ClusterClient, see #3264
* Message wrappers in ClusterClient, so that DistributedPubSubMediator
  is not leaking to the client api
* Register methods in ClusterReceptionistExtension, for convenience and
  clarity
2013-04-22 13:03:29 +02:00
Patrik Nordwall
4293bd7a2d Factory methods for Props
* cleanup of deprecated usage of Props in cluster sample
2013-04-18 16:41:05 +02:00
Patrik Nordwall
089b25b3d4 Cluster client and receptionist, see #1165 2013-04-14 22:30:09 +02:00
Patrik Nordwall
1d1a6383df Distributed pub-sub in cluster, see #3203 2013-04-14 19:58:12 +02: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
7eac88f372 Cluster node roles, see #3049
* Config of node roles cluster.role
* Cluster router configurable with use-role
* RoleLeaderChanged event
* Cluster singleton per role
* Cluster only starts once all required per-role node
  counts are reached,
  role.<role-name>.min-nr-of-members config
*  Update documentation and make use of the roles in the examples
2013-03-18 11:56:11 +01:00
Roland
c3b363c9b3 move multi-node-testkit into its own module, see #2981 2013-02-11 14:37:37 +01:00
Patrik Nordwall
2476831705 Rename event-handlers to loggers, see #2979
* Rename config akka.event-handlers to akka.loggers
* Rename config akka.event-handler-startup-timeout to
  akka.logger-startup-timeout
* Rename JulEventHandler to JavaLogger
* Rename Slf4jEventHandler to Slf4jLogger
* Change all places in tests and docs
* Deprecation, old still works, but with warnings
* Migration guide
* Test for the deprecated event-handler config
2013-02-05 11:19:02 +01:00
Patrik Nordwall
c48d9c058e Clarifications of cluster singleton docs, see #2895 2013-01-29 11:03:25 +01:00
Patrik Nordwall
0c38a76c37 Cluster singleton actor pattern, see #2895
* ClusterSingletonManager
* ClusterSingletonManagerSpec multi-node test
* Use in cluster router with single master sample
* Extensive logging to be able to understand what is
  going on
* Java api
* Add cluster dependency to contrib
* Add contrib dependency to sample
* Scaladoc
* rst docs in contrib area, ref from cluster docs
2013-01-25 14:00:28 +01:00
Roland
ea08994d24 update to staged 2.10.0 release, CrossVersion.binary, see #2684 2012-12-21 17:18:03 +01:00
Roland
7535c24164 discuss message delivery guarantees in more detail, see #2783
- also add PeekMailbox extension for demonstration of that principle
2012-12-20 19:31:24 +01:00
Patrik Nordwall
b21d5367c7 Add java.util.logging to contrib toc, see #2837
(cherry picked from commit 1ed4e9f2efa98f92942d4a047e85be982f3c8c50)
2012-12-20 13:51:48 +01:00
Sam Halliday
280e1aa21a java.util.logging backend for ActorLogging system, see #2805
[RK: assembled commit log from original branch, squashed]
akka-contrib:
- an event handler which properly sets the ThreadID on log records
- a LoggingAdapter which does synchronous logging to j.u.l.Logger
- a small logging mixin for the aforementioned adapter
2012-12-14 17:23:38 +01:00
Kaspar Fischer (hbf)
0b2d3df67e contribution module throttle 2012-10-31 13:17:59 +01:00
Roland
323e2c04ff fixes based on review comments 2012-10-02 11:37:31 +02:00
Roland
cc669c3838 integrate akka-contrib docs into akka-docs build
using the awesomized sbt-site plugin!
2012-10-02 11:37:31 +02:00
Roland
0afc3b1721 add ReliableProxy pattern to demo akka-contrib 2012-10-02 11:37:31 +02:00