Commit graph

251 commits

Author SHA1 Message Date
Konrad Malawski
33fbfec222 !per,doc,sam #17574 #17626 make recovery a method, move lambda samples
+ LambdaDoc samples now in the docs project
= simplified internal state by removing recoveryPending
= recovery is now triggered in around* method, so user is free to use
  preStart freely - recovery works even if one forgets to call super on
  preStart
2015-06-30 16:01:52 +02:00
Konrad Malawski
83e931ea7e Merge pull request #17828 from ktoso/wip-nested-persist-ktoso
~per #15640 support nested persist calls
2015-06-26 12:53:16 +02:00
Konrad Malawski
a59c9f73b6 =per #15640 support nested persist/persistAsync 2015-06-26 10:54:32 +02:00
Patrik Nordwall
4638f5630e !per #17832 Remove SyncWriteJournal 2015-06-26 07:12:11 +02:00
Patrik Nordwall
6eea0ddae6 !per #17799 Remove support for non-permanent deletes
* The permanent flag in deleteMessages
* old records stored with deletion flag are still not
  replayed
2015-06-25 15:43:45 +02:00
Patrik Nordwall
8c47e01e9d !per #15377 Mandate atomic writes for persistAll, and support rejections
* changing Plugin API for asyncWriteMessages and writeMessages
* passing explicit AtomicWrite that represents the events of
  persistAll, or a single event from persist
* journal may reject events before storing them, and that
  will result in onPersistRejected (logging) and continue in the
  persistent actor
* clarified the semantics with regards to batches and atomic writes,
  and failures and rejections in the api docs of asyncWriteMessages
  and writeMessages
* adjust the Java plugin API, asyncReplayMessages, doLoadAsync
2015-06-25 15:28:37 +02:00
Konrad Malawski
2a5161ff6f !per #17755 removes the saved callback in plugins and adds receive 2015-06-25 13:44:03 +02:00
Konrad Malawski
63baaf1b2b !per #17586 async snapshot delete and remove timestamp from deleteSnapshot() 2015-06-25 10:19:55 +02:00
Konrad Malawski
7e86dac542 +per #17579 #17617 Introduces EventAdapter
+ per plugin scoped adapters
+ could be swapped during runtime
+per EventAdapter now has manifest and is configurable ai la serializers
+ json examples in docs
+ including "completely manual" example in case one wants to add
  metadata TO the persisted event
+ better error reporting when misconfigured bindings
+ manifest is handled by in memory plugin
- did not check if it works with LevelDB plugin yet
> TODO: json example uses Gson, as that's simplest to do, can we use
+per allows 1:n adapters, multiple adapters can be bound to 1 class
2015-06-23 16:57:43 +02:00
Christopher Hunt
7041c76ba9 +cdd #16799 Add ORMultiMap data type 2015-06-18 16:17:53 +02:00
Patrik Nordwall
cbe5dd2cf5 +cdd #16799 Add Distributed Data module
Previously know as [patriknw/akka-data-replication](https://github.com/patriknw/akka-data-replication),
which was originally inspired by [jboner/akka-crdt](https://github.com/jboner/akka-crdt).

The functionality is very similar to akka-data-replication 0.11.

Here is a list of the most important changes:

* The package name changed to `akka.cluster.ddata`
* The extension was renamed to `DistributedData`
* The keys changed from strings to classes with unique identifiers and type information of the data values,
  e.g. `ORSetKey[Int]("set2")`
* The optional read consistency parameter was removed from the `Update` message. If you need to read from
  other replicas before performing the update you have to first send a `Get` message and then continue with
  the ``Update`` when the ``GetSuccess`` is received.
* `BigInt` is used in `GCounter` and `PNCounter` instead of `Long`
* Improvements of java api
* Better documentation
2015-06-18 15:58:22 +02:00
Patrik Nordwall
6d26b3e591 !per Make persistent failures fatal
* remove PersistentFailure and RecoveryFailure messages
* use stop instead of ActorKilledException
* adjust PersistentView
* adjust AtLeastOnceDeliveryFailureSpec
* adjust sharding
* add BackoffSupervisor
2015-06-17 15:49:47 +02:00
Patrik Nordwall
740f006a38 +act #17576 Support serializer with string manifest
* useful when evolution is needed, e.g. Akka Persistence

* docs, comments, cluster-metrics and cluster-tools serializers
2015-06-01 13:45:31 +02:00
Konrad Malawski
d782cf59af !per #16797 rename defer to deferAsync, remove Seq version 2015-05-28 01:37:38 +02:00
Patrik Nordwall
0953e7aee3 !pro #17380 Build with Java 8
* genjavadoc adjustments for java8
2015-05-18 12:51:34 +02:00
Patrik Nordwall
b30e460be7 = #17342 Make 2.4 binary compatible with 2.3
(cherry picked from commit 89af8bdb90)

* remove final identifier in serializers

i* revert/deprecate ProtobufSerializer.ARRAY_OF_BYTE_ARRAY

* adding back compatible empty constructor in serializers

* make FSM.State compatible

* add back ActorPath.ElementRegex

* revert SocketOption changes and add SocketOptionV2
  see a6d3704ef6

* problem filter for ActorSystem and ActorPath

* problem filter for ByteString

* problem filter for deprecated Timeout methods

* BalancingPool companion

* ask

* problem filter for ActorDSL

* event bus

* exclude hasSubscriptions

* exclude some problems in testkit

* boundAddress and addressFromSocketAddress

* Pool nrOfInstances

* PromiseActorRef

* check with 2.3.9

* migration guide note

* explicit exclude of final class problems
2015-05-11 21:11:52 +02:00
Patrik Nordwall
85be3045bb !per #17249 Avoid init problems of persistence tck
* in the end TestKitBase eagerly initialize the ActorSystem and
  to avoid the need for using lazy val tricks I changed the trait
  to abstract class with config constructor parameter
2015-05-06 14:20:40 +02:00
Patrik Nordwall
ef387af2fc =doc #16910 Fix include sections in fault tolerance docs
* and don't show AkkaSpec in doc code

(cherry picked from commit 23be60395cdea846ef168960cd05e88c6bd29556)

Conflicts:
	akka-docs/rst/scala/code/docs/actor/FaultHandlingDocSpec.scala
	akka-docs/rst/scala/fault-tolerance.rst
2015-04-01 10:50:30 +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
18dfd39686 +per #15587 Make it possible to use multiple persistence plugins 2015-02-19 21:25:52 -06:00
Roland Kuhn
a029a90502 fix warnings in contrib, docs, osgi, persistence and slf4j 2015-02-06 18:45:58 +01:00
Roland Kuhn
d9efd041f7 add akka-typed project with generic ActorRef
This is the first step towards more type-safety in Actor interactions,
comprising:

* generic ActorRef[T] that only accepts T messages
* generic ActorSystem[T] extends ActorRef[T] (sending to the guardian,
  whose Props[T] are provided for ActorSystem construction)
* removed the Actor trait: everything in there has been made into
  messages and signals
* new Behavior[T] abstraction that consumes messages (of type T) or
  Signals (lifecycle hooks, Terminated, ReceiveTimeout, Failed),
  producing the next Behavior[T] as the result each time
* the ask pattern is provided and yields properly typed Futures
* variants of ActorContext are provided for synchronous testing of
  Behaviors

All of this is implemented without touching code outside akka-typed
(apart from making guardianProps configurable), creating wrapper objects
around ActorRef, ActorContext, ActorSystem, Props and providing an Actor
implementation that just runs a Behavior.
2015-01-29 11:42:28 +01:00
Roland Kuhn
50d1569f37 Merge pull request #16634 from dimbleby/stable-priority-mailbox
Introduce stable priority mailboxes.
2015-01-28 15:10:24 +01:00
dch
8df81e6b72 Introduce stable priority mailboxes.
Similar to existing priority mailboxes, but these preserve FIFO ordering
for messages of equal priority.
2015-01-28 11:20:59 +00:00
Roland Kuhn
ed71c37318 Merge pull request #16668 from meln1k/wip-16614-include-best-practice-tip-on-messages-in-companion-object-in-docs-meln1k
=doc #16614 Include best-practice tip on messages in companion object in docs
2015-01-27 18:38:52 +01:00
Roland Kuhn
9463c9ff6c Merge branch 'tmp' 2015-01-27 16:26:04 +01:00
Roland Kuhn
a18c1bbafb fix up wrong includecode comments in FaultHandlingDocSpec 2015-01-27 16:25:13 +01:00
Nikita Melkozerov
a8632befc6 =doc #16614 Include best-practice tip on messages in companion object in docs 2015-01-23 22:40:55 +05:00
Andrei Pozolotin
7b9f77a073 + akka-cluster-metrics: new akka module
* new akka module split from akka-cluster
* provide sigar provisioning
* fix ewma usage
* resolve #16121
* see #16354
2015-01-19 10:23:54 -06:00
Roland Kuhn
a4a985035e Merge pull request #16575 from akka/wip-15864-remove-ømq-∂π
-zer #15864 remove zeromq module
2015-01-16 10:19:45 +01:00
Roland Kuhn
239619e68f -zer #15864 remove zeromq module 2015-01-15 20:19:35 +01:00
Chris Johnson
2d312f1a91 Super minor change to scala fsm example: added named boolean arg 2015-01-13 22:01:06 -08:00
sangche
c0867e1308 =doc #16459 change confusing FaultHandlingDocSpec in Fault Tolerance Document. 2014-12-22 23:47:05 -08:00
Patrik Nordwall
edd9c2d5c6 Merge pull request #16432 from pawel-wiejacha/pawelwiejacha_16431_named_test_probes
+tes #16431 support for TestProbe with user-defined name
2014-12-15 14:28:45 +01:00
Patrik Nordwall
c566d5a106 per #15423 Remove deprecated features from akka-persistence
* remove channels
* remove View
* remove Processor
* collapse the complicated internal state management
  that was spread out between Processor, Eventsourced and Recovery
* remove Recovery trait, this caused some duplication between Eventsourced
  and PersistentView, but but the enhanced PersistentView will not be based
  on recovery infrastructure, and therefore PersistentView code will be replaced anyway
* remove PersistentBatch
* remove LoopMessage
* remove deleteMessages of individual messages
* remove Persistent, PersistentRepr and PersistentImpl are kept
* remove processorId
* update doc sample code
* note in migration guide about persistenceId
* rename Resequencable to PersistentEnvelope
2014-12-12 16:18:47 +01:00
Paweł Wiejacha
f480989b25 +tes #16431 support for TestProbe with user-defined name 2014-12-04 22:42:40 +01:00
Konrad 'ktoso' Malawski
73cd1d7375 +act #15163 allows to suppress certain messages from being dead-letter-ed
Conflicts:
	akka-actor/src/main/scala/akka/actor/ActorRef.scala
2014-12-01 17:03:13 +01:00
Marek Prochera
b43f3639d6 Fix #16364 - Doc - Persistent actor - clarification of the recovery customization 2014-11-25 23:13:16 +01:00
Balázs Kossovics
324dc0f0c5 =doc #16198 FSM extends Actor, not depends on it
The documentation incorrectly stated that FSM uses self type references
to depend on Actor, but it’s false, FSM directly extends Actor.
2014-11-03 23:43:50 +01:00
Marcus Ljungblad
dd8c920280 =doc #13043 Adding section on testing parent-child relationships 2014-10-31 15:43:20 +01:00
Ronak Buch
d6c7ac84d9 =doc fixed spelling mistake in comment 2014-10-17 04:33:38 -05:00
Patrik Nordwall
1ffd05db49 =act #13981 Encode name of Balancing dispatcher config path 2014-08-29 12:33:18 +02:00
Viktor Klang
cd8e97c060 +act - 15757 - Reworks implementation of ActorSystem shutdown
* deprecates awaitTermination, shutdown and isTerminated
  * introduces a terminate-method that returns a Future[Unit]
  * introduces a whenTerminated-method that returns a Future[Unit]
  * simplifies the implementation by removing blocking constructs
  * adds tests for terminate() and whenTerminated
2014-08-25 15:49:28 +02:00
Krzysztof Janosz
1658f96862 +act #13004 Adding TailChopping router 2014-07-29 20:27:03 +02:00
Konrad Malawski
975e5d1455 Merge pull request #15541 from ktoso/port-doc-typed-router-ktoso
+doc #15537 add Typed router pattern (for validation)
2014-07-15 12:07:34 +02:00
Konrad 'ktoso' Malawski
ba2411833a +doc #15537 add Typed router pattern
Conflicts:
	akka-docs/rst/scala/code/docs/persistence/PersistenceDocSpec.scala
2014-07-15 10:22:23 +02:00
Konrad 'ktoso' Malawski
90bc347607 +per #13815 akka-persistence-tck based on @krasserm's work
Original here: https://github.com/krasserm/akka-persistence-testkit

New features:
* merged martin's tests
* usable from java (junit 4)
* simple bench test, which helps checking if ordering is perserved under
  bigger workloads and simple perf checking
* does NOT include tests for already deprecated features (deleteMessages)
* docs

Resolves #13815

Conflicts:
	project/AkkaBuild.scala
2014-07-14 19:39:30 +02:00
Michal Knapik
7ca3a9699e +tes #12681 add EchoActor 2014-07-11 11:16:35 +02:00
Konrad Malawski
5cc9eb2a88 Merge pull request #15478 from kanerogers/patch-1
Add import for TestProbe
2014-07-07 15:48:56 +02:00
Pavel Zalunin
f730b60bd9 =doc,sam RecoveryCompleted handled by receiveRecover typo 2014-07-03 13:58:14 +03:00