Commit graph

45 commits

Author SHA1 Message Date
Patrik Nordwall
1a6057eeb5 increase delay before shutting down persistence samples, #20005 2016-04-14 11:37:20 +02:00
Johan Andrén
62e30b3c08 Update copyrights and links to the new company name #19851 2016-02-23 12:58:39 +01:00
Martynas Mickevičius
f8ba6e0d68 Add license information for samples. 2016-02-19 10:51:57 +02: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
Martynas Mickevičius
7743aa9d0a Various streams build improvements
* remove settings duplication between AkkaBuild and project specific .sbt files
* do not publish test projects
* run akka-http-core tests
* fix lambda sample project versions
* remove obsolete projects (streamAndHttp, httpParent, docsDev)
* exclude parsing project from unidoc
* update to the latest sbt
2016-01-18 18:16:30 +02:00
Marek Kadek
bdef50eb8d =sam update leveldb dependencies and doc links
(cherry picked from commit 8291bc0aca504851d0619815c98c760a7d458d18)
2015-09-15 15:39:45 +02:00
Patrik Nordwall
cce3690c72 =pro #18408 Update to Scala 2.11.7 2015-09-08 14:38:09 +02:00
Patrik Nordwall
2694e13b32 !per #17862 Remove experimental from persistence 2015-08-12 13:52:19 +02:00
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
Patrik Nordwall
450a43e5dd Merge pull request #17742 from akka/wip-15644-persist-seq-patriknw
!per #15644 Rename persist(seq) to persistAll
2015-06-18 11:35:03 +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
74b97b3bd4 !per #15644 Rename persist(seq) to persistAll 2015-06-16 15:26:48 +02:00
Konrad Malawski
d782cf59af !per #16797 rename defer to deferAsync, remove Seq version 2015-05-28 01:37:38 +02:00
Patrik Nordwall
a8687f9c4e =pro #16695 Update dependencies
io.netty:netty: 3.8.0.Final -> 3.10.3.Final
org.slf4j:slf4j-api: 1.7.7 -> 1.7.12
org.fusesource.leveldbjni:leveldbjni-all:optional;provided: 1.7 -> 1.8
org.apache.camel:camel-core: 2.13.0 -> 2.13.4

ch.qos.logback:logback-classic:test: 1.0.13 -> 1.1.3
junit:junit:test: 4.10 -> 4.12
org.scalatest:scalatest:test: 2.1.3 -> 2.2.4
org.mockito:mockito-all:test: 1.9.5 -> 1.10.19
org.scala-lang.modules:scala-xml:test: 1.0.1 -> 1.0.4
com.novocode:junit-interface:test : 0.8 -> 0.11
org.slf4j:jul-to-slf4j:test: 1.7.7  -> 1.7.12
org.slf4j:log4j-over-slf4j:test: 1.7.7  -> 1.7.12
com.codahale.metrics:metrics-core:test: 3.0.1  -> 3.0.2
com.codahale.metrics:metrics-jvm:test: 3.0.1  -> 3.0.2
org.scalacheck:scalacheck:test: 1.11.3 -> 1.11.6
org.apache.commons:commons-math:test: 2.1 -> 2.2
commons-codec:commons-codec:test: 1.7 -> 1.10
2015-05-19 08:37:54 +02:00
Patrik Nordwall
0953e7aee3 !pro #17380 Build with Java 8
* genjavadoc adjustments for java8
2015-05-18 12:51:34 +02:00
Julian Tescher
00f6a58e7c Changes all occurances of Typesafe copyright to extend to 2015 2015-03-10 14:12:19 -07:00
Patrik Nordwall
08ffba6246 =sam #16684 Change to scala 2.11.5 in samples 2015-01-22 14:13:55 +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
Martynas Mickevičius
22334da2a1 =pro upgrade to latest sbt and add first auto plugins
* RootSettings plugin contains settings for root project
* other auto plugins that are meant only for root project depend on RootSettings
* other auto plugins that are meant for every project are enabled by default reducing boilerplate
2014-11-30 15:34:59 +02: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
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
Pavel Zalunin
f730b60bd9 =doc,sam RecoveryCompleted handled by receiveRecover typo 2014-07-03 13:58:14 +03:00
Patrik Nordwall
33c7f6bb4f !per Change for journal plugin compatibility
* A few more adjustments, found when verifying source compatibility of a few
  journal plugins
* Note that PersistentId will be removed with deleteMessage and we should
  not break plugins because of that
* Add missing section of at-least-once delivery in migration guide

(cherry picked from commit 6727eac6d07280d277968e2e25db44e02be3b102)

Conflicts:
	akka-persistence/src/main/scala/akka/persistence/JournalProtocol.scala
	akka-persistence/src/main/scala/akka/persistence/Persistent.scala
	akka-persistence/src/main/scala/akka/persistence/Snapshot.scala
	akka-persistence/src/main/scala/akka/persistence/journal/AsyncWriteProxy.scala
2014-06-28 17:11:06 +02:00
Patrik Nordwall
32ca608c97 +per #15327 Add AtLeastOnceDelivery trait
* also remove final of around methods, and let deliver send when not recoveryRunning

(cherry picked from commit 312b0d107a179accaf135f64ed9c3b78f3e351d1)
2014-06-26 22:58:46 +02: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
3fd240384c +per #15424 Added PersistentView, deprecated View
A PersistentView works the same way as View did previously, except:

* it requires an `peristenceId` (no default is provided)
* messages given to `receive` are NOT wrapped in Persistent()

akka-streams not touched, will update them afterwards on different branch

Also solves #15436 by making persistentId in PersistentView abstract.

(cherry picked from commit dcafaf788236fe6d018388dd55d5bf9650ded696)

Conflicts:
	akka-docs/rst/java/lambda-persistence.rst
	akka-docs/rst/java/persistence.rst
	akka-docs/rst/scala/persistence.rst
	akka-persistence/src/main/scala/akka/persistence/Persistent.scala
	akka-persistence/src/main/scala/akka/persistence/View.scala
2014-06-26 10:10:09 +02:00
Patrik Nordwall
d6ffdf521c =per #15429 Rewrite persistence documentation and samples for 2.3.4 changes
(cherry picked from commit 02351e32f110a8c4a249f0f3f84bae5898d1a836)

Conflicts:
	akka-samples/akka-sample-persistence-java-lambda/tutorial/index.html
	akka-samples/akka-sample-persistence-java/tutorial/index.html
	akka-samples/akka-sample-persistence-scala/build.sbt
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/ConversationRecoveryExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/PersistentActorExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/ProcessorChannelExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/ProcessorChannelRemoteExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/SnapshotExample.scala
	akka-samples/akka-sample-persistence-scala/src/main/scala/sample/persistence/StreamExample.scala
	akka-samples/akka-sample-persistence-scala/tutorial/index.html
2014-06-25 15:37:35 +02:00
Konrad 'ktoso' Malawski
4bb321a83a !per #15230 rename processorId => persistentId
* This is NOT binary compatible, we're in an *experimental* module.
* disabled binary compat checks for package akka.persistence
* Source compatibility is retained, but users should migrate do the new
  method name ASAP.
* Plugin APIs were migrated in a way that allows the old plugins to
  compile agains 2.3.4 without having to change anything. Hopefuly this
  will help authors migrate to 2.3.4 sooner. This is only source level compatible, not binary compatible.
* added deprecation warnings on all processorId methods and provided bridges where possible
* for users, the migration should be painless, they can still override
  the old method, and it'll work. But we encourage them to move to
  persistenceId; All delegation code will have to be removed afterwards ofc.

Conflicts:
	akka-persistence/src/main/scala/akka/persistence/Channel.scala
	akka-persistence/src/main/scala/akka/persistence/JournalProtocol.scala
	akka-persistence/src/main/scala/akka/persistence/Persistent.scala
	akka-persistence/src/main/scala/akka/persistence/PersistentChannel.scala
	akka-persistence/src/main/scala/akka/persistence/Processor.scala
	akka-persistence/src/main/scala/akka/persistence/Snapshot.scala
	akka-persistence/src/main/scala/akka/persistence/journal/AsyncWriteProxy.scala
	akka-persistence/src/main/scala/akka/persistence/journal/inmem/InmemJournal.scala
	akka-persistence/src/main/scala/akka/persistence/journal/leveldb/LeveldbKey.scala
	akka-persistence/src/main/scala/akka/persistence/snapshot/SnapshotStore.scala
	akka-persistence/src/test/scala/akka/persistence/serialization/SerializerSpec.scala
	project/AkkaBuild.scala
2014-06-24 17:05:18 +02:00
Konrad 'ktoso' Malawski
a71790bb18 +per #15229 defer for PersistentActor
* Deferred events are not persisted, thus will not participate in replays
  etc. If users want events to be persisted, they can simply use
  `persistAsync` instead.
* This, 3rd, rewrite extends the Persistent hierarchy by a top level
  trait "Resequenceable", which is used to mark every event to be sent
  in sequence back to the PersistentActor. These are split into
  NonPersistentRepr or PersistentRepr, and acted upon accordingly.
* defer is guaranteed to be called, even after persistence failures
* Includes docs updates for java/scala/java8

Resolves #15229
Depends on #15227

Conflicts:
	akka-docs/rst/scala/code/docs/persistence/PersistenceDocSpec.scala
	akka-persistence/src/main/scala/akka/persistence/JournalProtocol.scala
	akka-persistence/src/main/scala/akka/persistence/Processor.scala
	akka-persistence/src/test/scala/akka/persistence/PersistentActorSpec.scala
	project/AkkaBuild.scala
2014-06-10 17:09:24 +02:00
Björn Antonsson
9bcaeff87d +per #13944 Send RecoveryComplete message at end of recovery
Fixes #13944

Conflicts:
	akka-docs/rst/scala/code/docs/persistence/PersistenceDocSpec.scala
	akka-persistence/src/main/scala/akka/persistence/Processor.scala
	project/AkkaBuild.scala
2014-06-10 13:22:10 +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
Björn Antonsson
c8b3ec0f0e =sam Update Scala dependencies to 2.10.4 2014-04-25 13:23:56 +02:00
Björn Antonsson
613eec743e =sam Update version numbers to 2.4-SNAPSHOT 2014-04-16 15:00:10 +02:00
Patrik Nordwall
f677ed0b68 =pro sbt-0.13.2-RC2 with name hashing, scala 2.10.4
* take advantage of latest incremental compiler improvements
* scala 2.10.4
* Remove workaround in FutureSpec, bug fixed in Scala 2.10.4
* Change version of samples to allow snapshot overwrite in publishM2
* allow publish overwrite for osgi-dining-hakkers/uncommons
2014-04-11 14:11:02 +02:00
Björn Antonsson
d84f7f35ff =sam #3945 Added license file and tutorial to java8 persistence sample 2014-03-27 13:32:28 +01:00
Patrik Nordwall
c1f7d7fa21 =doc #3924 Doc how to be notified when recovery completed 2014-03-25 10:46:05 +01:00
Björn Antonsson
723c931d16 +act,sam,doc #3940 Added receive setter for Java Lambda actors
* Added a setter for Java lambda actors to "hide" the not so nice looking type signature of the "receive" method.
* Updated docs to reflect the changes.
* Converted samples to use the new setter.
2014-03-22 10:53:54 +01:00
Björn Antonsson
26c493ea4a =per #3915 Make become work during recovery for EventsourcedProcessor et.c. 2014-03-22 00:47:03 +01:00