Commit graph

383 commits

Author SHA1 Message Date
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
Patrik Nordwall
d5b25cbbc6 !act #3583 Timer based auto-down
* Replace (deprecate) akka.cluster.auto-down config setting with
  akka.cluster.auto-down-unreachable-after
* AutoDown actor that keeps track of unreachable members
  and performs down from the leader node when they have been
  unreachable for the specified duration
* Migration guide
2013-09-27 14:32:03 +02:00
Mathias
655e9e3300 =doc #3581 Add "Writing to a connection" section to IO docs 2013-09-26 12:19:33 +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
Patrik Nordwall
ccfab1fab4 Merge pull request #1713 from akka/wip-3592-stash-capacity-from-mailbox-conf-patriknw
+act #3592 Read stash-capacity from mailbox config
2013-09-11 05:26:08 -07:00
Patrik Nordwall
dfe1656a2b Merge pull request #1720 from jducoeur/master
=doc #3596 Add paragraph about Agent locality
2013-09-11 05:25:17 -07:00
Patrik Nordwall
dc9fe4f19c !clu #2307 Allow transition from unreachable to reachable
* Replace unreachable Set with Reachability table
* Unreachable members stay in member Set
* Downing a live member was moved it to the unreachable Set,
  and then removed from there by the leader. That will not
  work when flipping back to reachable, so a Down member must
  be detected as unreachable before beeing removed. Similar
  to Exiting. Member shuts down itself if it sees itself as
  Down.
* Flip back to reachable when failure detector monitors it as
  available again
* ReachableMember event
* Can't ignore gossip from aggregated unreachable (see SurviveNetworkInstabilitySpec)
* Make use of ReachableMember event in cluster router
* End heartbeat when acknowledged, EndHeartbeatAck
* Remove nr-of-end-heartbeats from conf
* Full reachability info in JMX cluster status
* Don't use interval after unreachable for AccrualFailureDetector history
* Add QuarantinedEvent to remoting, used for Reachability.Terminated
* Prune reachability table when all reachable
* Update documentation
* Performance testing and optimizations
2013-09-11 13:10:29 +02:00
Mark "Justin" Waks
3ce407184e =doc #3596 Add paragraph about Agent locality
* Based on discussion on akka-user, Sept 6-9 2013. It seems appropriate
to mention that Agents are not remoteable, so that naive users (like me)
know to design for that.
* This change has not been locally built with Sphinx, but seems to be
small and safe.
2013-09-10 08:50:58 -04:00
Patrik Nordwall
762d49ac36 +act #3592 Read stash-capacity from mailbox config 2013-09-09 14:59:05 +02:00
Patrik Nordwall
713478f963 Merge pull request #1671 from akka/wip-3529-identify-sugar-patriknw
+act #3529 Add convenience helper for looking up an actor by identity
2013-08-27 02:14:19 -07:00
Patrik Nordwall
37c4053b29 +act #3529 Add convenience helper for looking up an actor by identity
* ActorSelection.resolveOne
2013-08-27 11:13:33 +02:00
Patrik Nordwall
2087dfc1a0 =doc #3500 Add section about Dependency Injection 2013-08-26 09:58:16 +02:00
Patrik Nordwall
194bb3d703 Merge pull request #1649 from akka/wip-3531-orElse-decider-patriknw
=doc #3531 Recommend orElse’ing super.supervisorStrategy.decider
2013-08-21 05:15:04 -07:00
Björn Antonsson
ffea36a8c8 Merge pull request #1650 from akka/wip-3552-upgrade-scalatest-for-dbuild-ban
=pro #3552 Upgrade ScalaTest to 1.9.2-SNAP2 for dbuild
2013-08-20 03:51:13 -07:00
Patrik Nordwall
f3db27e535 Merge pull request #1647 from akka/wip-3536-cluster-jmx-script-patriknw
=clu #3536 Update doc of hostname port params in cluster jmx script
2013-08-20 03:13:12 -07:00
Francois Armand
23540b3f3d =doc Update ZeroMQ pub/sub port mismatch between doc and code example 2013-08-19 15:55:22 +02:00
Björn Antonsson
4a2b6effb3 =pro #3552 Upgrade ScalaTest to 1.9.2-SNAP2 for dbuild
* This can't go into 2.2.x since ScalaTest 1.9.2-SNAP2 has source incompatible changes and the dependecy in akka-multi-node-node-testkit would force people to upgrade.
2013-08-19 15:08:29 +02:00
Patrik Nordwall
0d859f1424 =doc #3531 Recommend orElse’ing super.supervisorStrategy.decider 2013-08-19 15:00:41 +02:00
Patrik Nordwall
a731f3b6b6 =clu #3536 Update doc of hostname port params in cluster jmx script
* This was changed in the switch to jmxsh (72aa5ef), but since
  we released with space separator I updated the documentation to that
  format.
2013-08-16 15:42:16 +02:00
Roland Kuhn
c304fbadeb =doc Move up dependency info for DurableMailboxSpec 2013-08-12 12:57:50 +02:00
Michael Pollmeier
6d5eca4d82 =doc add work pulling pattern to list of patterns
I've added it just underneath Derek's pattern as it's based on that one.
2013-07-29 19:08:42 +12:00
Roland Kuhn
180809fd13 Merge pull request #1611 from drewhk/wip-3167-illustration-actor-lifecycle-drewhk
=doc #3167 Image clarifying paths, incarnations, UIDs, ActorRefs
2013-07-09 02:43:26 -07:00
Endre Sándor Varga
40bb823438 =doc #3167 Image clarifying paths, incarnations, UIDs, ActorRefs and Selections. 2013-07-09 11:39:49 +02:00
Endre Sándor Varga
cebdc7202b =doc:3472 Updated Stash docs to reflect new mailbox requirements 2013-07-08 19:17:08 +02:00
Roland Kuhn
798816a22c Merge pull request #1598 from akka/wip-3105-dist-readme-patriknw
Adjust dist README, see #3105
2013-07-08 02:47:57 -07:00
Roland Kuhn
9fb76eb251 Merge pull request #1595 from akka/wip-3483-default-mailbox-patriknw
DOC: how to change default mailbox, see #3483
2013-07-08 02:46:11 -07:00
Roland Kuhn
d6e3e71d5e clarify wording of actor termination phase 2013-07-05 20:11:51 +02:00
Patrik Nordwall
d49678fb9c DOC: how to conf dispatcher of camel producer, see #3048 2013-07-05 10:45:19 +02:00
Roland Kuhn
0d956a31ba Merge pull request #1590 from drewhk/wip-2918-doc-evtbus-not-preserve-sndr-drewhk
=doc: Document that EventBus do not preserve sender #2918
2013-07-04 06:52:01 -07:00
Roland Kuhn
ad742feb00 Merge pull request #1586 from akka/wip-2816-cluster-dispatcher-patriknw
DOC: Describe cluster dispatcher, see #2816
2013-07-04 06:46:02 -07:00
Roland Kuhn
a858d1bfcf Merge pull request #1585 from akka/wip-3470-doc-empty-CurrentClusterState-patriknw
DOC: clarify empty CurrentClusterState for early subscribers, see #3470
2013-07-04 06:40:30 -07:00
Patrik Nordwall
0d8e9350b1 DOC: clarify empty CurrentClusterState for early subscribers, see #3470 2013-07-04 14:08:25 +02:00
Roland Kuhn
0f1b7b3556 Merge pull request #1580 from drewhk/wip-3263-doc-warn-scheduler-closingover-drewhk
= doc: Added warning about closing over in scheduled tasks #3263
2013-07-04 05:07:27 -07:00
Roland Kuhn
3393221def Merge pull request #1583 from akka/wip-3484-doc-router-supervision-patriknw
DOC: correct wrong advice in 'Routers and Supervision', see #3484
2013-07-04 05:05:47 -07:00
Endre Sándor Varga
57a1a83dd0 = doc: Added warning about closing over in scheduled tasks #3263 2013-07-04 14:05:29 +02:00
Roland Kuhn
bbcf6bf433 Merge pull request #1581 from akka/wip-3447-doc-router-types-patriknw
DOC: Clarify the two types of cluster aware routers, see #3447
2013-07-04 05:03:49 -07:00
Patrik Nordwall
dd64eabf09 DOC: correct wrong advice in 'Routers and Supervision', see #3484
* and clarify default restart behavior more
2013-07-04 14:03:16 +02:00
Roland Kuhn
8426712f81 Merge pull request #1579 from akka/wip-3464-doc-router-props-patriknw
DOC: Props.empty.withRouter, see #3464
2013-07-04 05:00:53 -07:00
Roland Kuhn
a56b8b248d Merge pull request #1574 from akka/wip-camel-touchup-patriknw
Keep the order of buffered messages in Camel producer, see #3477
2013-07-04 04:58:43 -07:00
Patrik Nordwall
c9d1b0d0e2 DOC: Clarify the two types of cluster aware routers, see #3447 2013-07-04 13:55:44 +02:00
Patrik Nordwall
6f7f2adb8f Adjust dist README, see #3105 2013-07-04 13:25:29 +02:00
Patrik Nordwall
3676d73779 DOC: how to change default mailbox, see #3483 2013-07-04 11:39:53 +02:00
Endre Sándor Varga
7dba4435e4 =doc: Document that EventBus do not preserve sender #2918 2013-07-02 12:11:50 +02:00
Patrik Nordwall
818a96fa45 DOC: Describe cluster dispatcher, see #2816 2013-07-01 17:17:12 +02:00
Viktor Klang
709a568aa1 #3437 - Adding rst documentation for the MPSC mailbox 2013-07-01 14:53:48 +02:00
Patrik Nordwall
7c3f6c21d8 DOC: Props.empty.withRouter, see #3464 2013-07-01 12:51:35 +02:00
Patrik Nordwall
a481272b67 Keep the order of buffered messages in Camel producer, see #3477
* fix bug in java sample
* doc corrections
2013-06-27 16:45:47 +02:00
Roland Kuhn
9cd05a070e add pipeToSelection support, see #3430
also add explanation to docs about what happens when Identify message
hits a non-existing path element
2013-06-25 16:36:24 +02:00