Commit graph

368 commits

Author SHA1 Message Date
Patrik Nordwall
615c6b572c =* #2966 Reduce warnings from compile, test, scaladoc 2014-01-24 11:47:57 +01:00
Patrik Nordwall
787c7ca439 Merge pull request #1959 from krasserm/wip-3844-enforce-replay-max-krasserm
=per #3844 Views now enforce autoUpdateReplayMax
2014-01-24 02:45:19 -08:00
Martin Krasser
b667e8ff3a =per #3844 Views now enforce autoUpdateReplayMax 2014-01-23 10:43:02 +01:00
Martin Krasser
1d65a4a4f8 =per #3836 Set lower idleTimeout for persistent channels
- idleTimeout lower than expectation timeout
- removed remaining shared testActor usage
2014-01-23 08:30:08 +01:00
Patrik Nordwall
45124274b4 Merge pull request #1945 from krasserm/wip-3824-do-not-share-test-actor-krasserm
=per #3824 Do not share testActor across tests
2014-01-20 05:13:14 -08:00
Martin Krasser
aa67472f45 =per #3824 Do not share testActor across tests 2014-01-20 12:41:35 +01:00
Patrik Nordwall
301b735516 Merge pull request #1941 from krasserm/wip-3829-increase-default-timeout-krasserm
=per #3829 Set default expectation timeout to 10s
2014-01-20 02:54:16 -08:00
Martin Krasser
b4c57fc899 =per #3829 Set default expectation timeout to 10s 2014-01-20 09:32:53 +01:00
Martin Krasser
e0f5cf5f2c !per #3828 Rename receiveReplay to receiveRecover
- because it handles messages related to recovery (snapshots and replayed messages)
2014-01-19 17:46:32 +01:00
Patrik Nordwall
53ad96ed92 =per #3820 Increase some test timeouts in persistence
* reproduced the problem with sleep in LeveldbStore
2014-01-17 20:40:10 +01:00
Martin Krasser
f327e1e357 !per #3704 Persistence improvements
- Channel enhancements (#3773):
- Live read models (#3776):
- Batch-oriented journal plugin API (#3804):
- Batching of confirmations and deletions
- Message deletion enhancements (more efficient range deletions)
2014-01-17 13:36:55 +01:00
Patrik Nordwall
7648a50d53 +act #3769 Add toStringWithoutAddress to ActorPath 2014-01-15 15:05:52 +01:00
Patrik Nordwall
9d0bee1281 =per #3797 Additional hardening of persistence tests
* Pass system properties to forked tests
* revert Cleanup.afterTermination
* increase timeout for first assert in failing tests
2013-12-30 19:29:38 +01:00
Patrik Nordwall
e41ee67dc1 Merge pull request #1901 from akka/wip-3797-leveldb-test-cleanup-patriknw
=per #3797 Harden file deletions in persistence tests
2013-12-20 07:10:12 -08:00
Patrik Nordwall
e94fc68f2f =per #3797 Harden file deletions in persistence tests 2013-12-20 12:40:54 +01:00
Björn Antonsson
003609c9c5 =pro #3759 Changed to using non-deprecated ScalaTest Matchers 2013-12-18 11:32:51 +01:00
Patrik Nordwall
b74103a013 Merge pull request #1890 from krasserm/wip-3771-sync-snapshot-filenames-krasserm
=per #3771 Snapshot file names are only read on system startup
2013-12-16 01:28:01 -08:00
Martin Krasser
17632d83ce =per #3771 Snapshot file names are only read on system startup
- snapshot file names are no longer cached
- they are read on every load attempt on a per-processor basis
2013-12-16 09:09:06 +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
Martin Krasser
f55c711601 !per #3785 Change default implementation of processorId
- also affects channel ids.
2013-12-12 16:06:36 +01:00
Martin Krasser
4e5ce5529c !per #3761 Reliable channels
- Built-in redelivery mechanism for Channel and PersistentChannel
- redelivery counter on ConfirmablePersistent
- redeliveries out of initial message delivery order
- relative order of redelivered messages is preserved
- configurable redelivery policy (ChannelSettings)
- Major refactorings of channels (and channel tests)
- Throughput load test for PersistentChannel

Todo:

- Paged/throtlled replay (another pull request)
- Resequencer (another pull request)
2013-12-12 12:22:46 +01:00
Martin Krasser
d0bc8a6400 +per #3746 Remote sharing of LevelDB for testing purposes
Further changes

- remove obsolete identity checks in Eventsourced
- fix wrong serialize-messages config in tests
2013-12-03 08:51:25 +01:00
Martin Krasser
6e2f80bab0 !per #3729 Journaling protocol optimization
- internal batching of individually received Persistent messages
- testing fault tolerance of Processor in presence of random
  * journaling failures
  * processing failures
2013-11-27 13:51:27 +01:00
Martin Krasser
5f9355a778 =per #3739 Fix broken Javadoc generation
- caused by field named 'native' in LevelDBJournal
2013-11-21 12:58:14 +01:00
Patrik Nordwall
524addd404 Merge pull request #1838 from krasserm/wip-3717-deletion-api-krasserm
!per #3717 Deletion API for snapshots and persistent messages
2013-11-21 00:54:44 -08:00
Martin Krasser
4489a72bea !per #3717 Deletion API for snapshots and persistent messages
- single and bulk deletion of messages
- single and bulk deletion of snapshots
- run journal and snapshot store as system actors
- rename physical parameter in delete methods to permanent
- StashSupport.prepend docs and implementation enhancements
2013-11-20 14:45:29 +01:00
Martin Krasser
9fce211f3b =per #3718 Support for native LevelDB 2013-11-14 12:18:34 +01:00
Martin Krasser
ba9fc4da46 !per #3707 Channel enhancements
- Persistent channel
- ConfirmablePersistent message type delivered by channel
- Sender resolution performance improvements
   * unstash() instead of unstashAll()

These enhancements required the following changes

- Unified implementation of processor stash and user stash
- Persistence message plugin API separated from implementation
- Physical deletion of messages
2013-11-14 12:05:37 +01:00
Björn Antonsson
28b5f1039d =all #3448 Newer Scalariform running on more files 2013-11-04 11:05:07 +01:00
Martin Krasser
1da3369643 !per #3681 Performance and consistency improvements
- batch-write of persistent messages (user API)
- batch-write of events (in EventsourcedProcessor)
- command processing in EventsourcedProcessor by unstashing messages one-by-one from the internal stash
   * fixes performance issues that come up with unstashAll
- commands are not looped through journal actor but processed directly
- initial performance tests
  * command sourcing
  * event sourcing
  * event sourcing with user stash operations
- suppress stack traces in tests
2013-10-30 15:08:15 +01:00
Martin Krasser
0a2cfdc4d1 +per #3661 Event sourcing support 2013-10-16 13:38:11 +02:00
Martin Krasser
2a30399a29 !per #3652 Custom snapshot and persistent message serialization
- Protobuf serializer for Persistent message
- Configurable serializer for Persistent message's payload
- Configurable serializer for snapshots
2013-10-14 17:35:04 +02:00
Martin Krasser
da7490bbc9 +per #3641 Storage plugin API
- Journal plugin API for storage backends with asynchronous client API (default impl: in-memory journal)
- Journal plugin API for storage backends with synchronous client API (default impl: LevelDB journal)
- Snapshot store plugin API (default impl: local filesystem snapshot store)
2013-10-08 11:46:32 +02:00
Martin Krasser
842ac672f7 !per #3631 Snapshotting
- capture and save snapshots of processor state
- start processor recovery from saved snapshots
- snapshot storage on local filesystem
- snapshot store completely isolated from journal
- LevelDB journal modularized (and completely re-rwritten)
- In-memory journal removed
2013-09-30 17:31:08 +02:00
Martin Krasser
6c78629cdb !per #3618 Cleanup duplication of life cycle hooks in Processor
- introduce around life cycle hooks for symmetry with aroundReceive
 - no custom processor-specific life cycle hooks needed any more
 - preStart and preRestart can be overridden with empty implementation
    (interceptors ensure that super.preXxx calls are still executed)
 - all around life cycle hooks can be final
 - standard life cycle hooks are non-final to preserve composability with existing traits (FSM, ...)
2013-09-18 14:41:38 +02:00
Martin Krasser
5da888548b =per #3615 Fix InvalidActorNameException in persistence tests
- use overridden processor and channel ids
- no need anymore to wait for processor instances to stop
- unrelated: fix wrong artifact names in documentation
2013-09-18 11:56:14 +02:00
Martin Krasser
cdeea924ff akka-persistence prototype
The most prominent changes compared to eventsourced are:

- No central processor and channel registry any more
- Auto-recovery of processors on start and restart (can be disabled)
- Recovery of processor networks doesn't require coordination
- Explicit channel activation not needed any more
- Message sequence numbers generated per processor (no gaps)
- Sender references are journaled along with messages
- Processors can determine their recovery status
- No custom API on extension object, only messages
- Journal created by extension from config, not by application
- Applications only interact with processors and channels via messages
- Internal design prepared for having processor-specific journal actors (for later optimization possibilities)

Further additions and changes during review:

- Allow processor implementation classes to use inherited stash
- Channel support to resolve (potentially invalid) sender references
- Logical intead of physical deletion of messages
- Pinned dispatcher for LevelDB journal
- Processor can handle failures during recovery
- Message renamed to Persistent

This prototype has the following limitations:

- Serialization of persistent messages and their payload via JavaSerializer only (will be configurable later)
- The LevelDB journal implementation based on a LevelDB Java port, not the native LevelDB (will be configurable later)

The following features will be added later using separate tickets:

- Snapshot-based recovery
- Reliable channels
- Journal plugin API
- Optimizations
- ...
2013-09-14 14:19:38 +02:00
Jonas Bonér
f97d04f1b7 Separated core from modules, moved modules to akka-modules repository 2010-11-23 15:31:28 +01:00
Viktor Klang
7f0358277b Closing #555 2010-11-23 14:21:07 +01:00
Jonas Bonér
1ee3a54372 Fixed issues with config - Ticket #535 2010-11-22 15:32:54 +01:00
Jonas Bonér
5820286a58 fixed wrong path in voldermort tests - now test are passing again 2010-11-22 08:09:12 +01:00
Viktor Klang
7040ef0f14 Added a root akka folder for source files for the docs to work properly, closing ticket #541 2010-11-20 22:26:26 +01:00
Debasish Ghosh
3bf6d1d615 fixed ticket #531 - Fix RedisStorage add() method in Java API : added Java test case akka-persistence/akka-persistence-redis/src/test/java/akka/persistence/redis/RedisStorageTests.java 2010-11-16 17:52:43 +05:30
ticktock
78252532ff fix ticket-532 2010-11-15 11:48:50 -05:00
Peter Vlugter
47a0cf42ec Update redis test after rebase 2010-11-14 10:42:03 +13:00
Peter Vlugter
49c2575ca7 Update new redis tests 2010-11-14 09:54:10 +13:00
Peter Vlugter
2b79caa8b3 Reworked stm with no global/local 2010-11-14 09:53:14 +13:00
Peter Vlugter
9012847ff1 First pass on separating stm into its own module
- removed transactors everywhere
- moved stm into akka-stm module
- disabled agents (they use transactors internally)
- rewrote persistence tests so that they don't use transactors
2010-11-14 09:53:14 +13:00
Debasish Ghosh
53afae0828 Fixed Issue 528 - RedisPersistentRef should not throw in case of missing key 2010-11-13 22:02:35 +05:30
Debasish Ghosh
adea0506b5 Implemented addition of entries with same score through zrange - updated test cases 2010-11-13 21:39:25 +05:30