Commit graph

220 commits

Author SHA1 Message Date
Roland Kuhn
e05d30aeaa Merge pull request #1709 from spray/wip-3581-io-compound-write
!act #3581 Add Tcp.CompoundWrite, some cleanup
2013-10-01 03:35:14 -07:00
Patrik Nordwall
b1705e2ed5 Merge pull request #1747 from eligosource/wip-3631-snapshotting-krasserm
!per #3631 Snapshotting
2013-10-01 01:01:31 -07: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
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
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
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
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
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
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
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
Patrik Nordwall
9b3be181cf Java (Eclipse) compatibility of extensions, see #3469
* Eclipse JDT showed compilation error
  "The method get(ActorSystem) is ambiguous for the type..."
  for extensions defined with ExtensionKey
2013-06-24 20:27:23 +02:00
Roland Kuhn
6d8e13c760 Merge pull request #1529 from akka/wip-3429-ActorRef.noSender-∂π
add ActorRef.noSender() for the Java API, see #3429
2013-06-20 06:51:54 -07:00
Roland Kuhn
a2a646af4e add ActorRef.noSender() for the Java API, see #3429
- Actor.noSender is not accessible from Java, but it was in 2.1 so don’t
  remove
- replaced all “null” in doc tests with ActorRef.noSender()
2013-06-20 15:51:23 +02:00
Patrik Nordwall
cd2b77157c Log dead letters, see #3453 2013-06-20 12:09:09 +02:00
Roland
20eb28a03c move deadLetterMailbox into Mailboxes and fix review comments, see #3342 2013-06-03 11:41:11 +02:00
Roland
f317aaf711 rewrite mailbox selection logic, see #3342
- add “mailbox-requirement” key to dispatcher section
- split out mailbox section, add akka.actor.default-mailbox
- rewrite findMarker method and use it for Props.create() and getting
  the required mailbox of an actor
- add ProducesMessageQueue trait for MailboxType so that requirements
  can be checked before trying to create the actor for real
- verify actor as well as dispatcher requirements for message queue
  before creation, even in remote-deployed case
- change MessageDispatcher constructor to take a Configurator, add that
  to migration guide
2013-06-02 12:32:04 +02:00
Roland Kuhn
8df8541801 Merge pull request #1500 from akka/wip-3210-local-only-∂π
make LocalScope mean “purely local” and avoid Props serialization check,...
2013-05-30 08:03:32 -07:00
Patrik Nordwall
07baf05bae harmonize MyActor.props pattern, see #3418 2013-05-30 14:50:46 +02:00
Patrik Nordwall
95366cb585 Wrap long lines, for pdf 2013-05-30 14:45:15 +02:00
Roland Kuhn
9c89f170d2 Merge pull request #1490 from akka/wip-3377-Props.create-∂π
improve safety of Props.create by allowing Creator<T>, see #3377
2013-05-29 22:46:06 -07:00