Commit graph

317 commits

Author SHA1 Message Date
MariusSeritan
c255ec104a Class name typo in the testing documentation
The section Watching ... from Probes references class TestKit where TestProbe should be used.
2013-12-08 13:41:39 -08:00
Roland Kuhn
115d7831b4 Merge pull request #1842 from akka/wip-props-docs-name-∂π
fix misleading Recommended Practices
2013-12-06 06:50:52 -08:00
Björn Antonsson
cb729228b0 Merge pull request #1859 from akka/wip-3753-change-build-to-allow-scala-nightlies-ban
=pro #3753 Override dependency versions from command line
2013-12-04 02:04:41 -08:00
Björn Antonsson
00a268b6b3 =pro #3753 Override dependency versions from command line 2013-12-03 16:47:10 +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
Roland Kuhn
c7ac860dbc =doc fix misleading Recommended Practices
also rename recommended static method from mkProps to props for Java
2013-11-27 10:57:43 +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
Patrik Nordwall
403a1c54fb Merge pull request #1818 from akka/wip-3656-incomplete-TA-docs-√
+doc #3656 correcting the TypedActor documentation
2013-11-20 03:01:01 -08:00
Gaston M. Tonietti
9e9d5541b4 +act #3671 Implementing support for MDC values defined by the application. Fixes #3671.
* Added LogEvent subclasses with new field for transporting the MDC custom values.
* Slf4jLogger now takes MDC values from new LogEvent field, puts all in MDC before appending the log, and removes all after.
* New trait DiagnosticLoggingAdapter was introduced, which extends LoggingAdapter and adds MDC support with methods to get, set and clear MDC values.
* New factory method added to Logging for getting loggers with MDC support.
* BusLogging was changed to create new LogEvents including the MDC values.
* Actors can mixin with DiagnosticActorLogging which defines a diagnostic logger "log", has a hook to override for defining MDC values per message, and overrides aroundReceive for setting and clearing MDC around receive execution.
* Proper documentation was added for Scala and Java under the Logging/Slf4j section.
2013-11-15 11:09:22 -03:00
Patrik Nordwall
67393c0fb6 +rem #3665 Allow trusted selections in untrusted-mode 2013-11-14 14:08:46 +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
Viktor Klang
4769a44875 +doc #3656 correcting the TypedActor documentation 2013-11-05 15:31:24 +01:00
Patrik Nordwall
6a6525fa1f Merge pull request #1808 from krasserm/wip-3681-performance-improvements-krasserm
!per #3681 Performance and consistency improvements
2013-10-30 08:17:01 -07: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
Björn Antonsson
6784d6bc2f =doc #3684 Document that SslTlsSupport doesn't support Tcp.WriteCommand. 2013-10-23 15:21:34 +02:00
Björn Antonsson
20015abaeb =doc #3682 Document message size limit in SslTlsSupport. 2013-10-22 14:05:18 +02:00
Björn Antonsson
d2644876e5 Merge pull request #1781 from levinotik/documentation-fixes
=doc Fix misspelled method reference in FSM
2013-10-21 04:35:12 -07:00
Levi Notik
1dec335ad2 =doc Fix misspelled method reference in FSM 2013-10-18 13:16:56 -04:00
Patrik Nordwall
d4cce379ce Merge pull request #1776 from akka/wip-3663-balancing-disp-patriknw
+act #3663 Package BalancingDispatcher for usage in router pool
2013-10-17 05:09:43 -07:00
Patrik Nordwall
a2c5239c49 Merge pull request #1772 from akka/wip-3627-cluster-routee-paths-patriknw
+clu #3627 Cluster router group  with multiple paths per node
2013-10-17 05:09:21 -07:00
Patrik Nordwall
f194860dfb Merge pull request #1766 from eligosource/wip-3661-event-sourcing-krasserm
+per #3661 Event sourcing support
2013-10-16 22:55:47 -07:00
Patrik Nordwall
80892762ad +act #3663 Package BalancingDispatcher for usage in router pool
* In fact, make it easy to define any dedicated dispatcher for a pool
2013-10-16 14:44:39 +02:00
Martin Krasser
0a2cfdc4d1 +per #3661 Event sourcing support 2013-10-16 13:38:11 +02:00
Patrik Nordwall
402674ce10 +clu #3627 Cluster router group with multiple paths per node
* Use the ordinary routees.paths config property instead of
  cluster.routees-path
* Backwards compatible in deprecation phase
2013-10-16 11:44:00 +02:00
Patrik Nordwall
ebadd567b2 !act,rem,clu #3549 Simplify and enhance routers
* Separate routing logic, to be usable stand alone, e.g. in actors
* Simplify RouterConfig, only a factory
* Move reading of config from Deployer to the RouterConfig
* Distiction between Pool and Group router types
* Remove usage of actorFor, use ActorSelection
* Management messages to add and remove routees
* Simplify the internals of RoutedActorCell & co
* Move resize specific code to separate RoutedActorCell subclass
* Change resizer api to only return capacity change
* Resizer only allowed together with Pool
* Re-implement all routers, and keep old api during deprecation phase
* Replace ClusterRouterConfig, deprecation
* Rewrite documentation
* Migration guide
* Also includes related ticket:
  +act #3087 Create nicer Props factories for RouterConfig
2013-10-16 09:27:13 +02:00
Patrik Nordwall
81ca6fe8c8 Merge pull request #1765 from akka/wip-3636-revert-join-uninitialized-patriknw
+clu #3636 Revert join to uninitialized
2013-10-15 07:07:29 -07:00
Björn Antonsson
4e1100f84d =doc #3639 Show complete custom mailbox example. 2013-10-15 12:18:17 +02:00
Patrik Nordwall
c449f5afff +clu #3636 Revert join to uninitialized
* Revert the change introduced in
  https://github.com/akka/akka/pull/1738/files
* The cleanup/improvements aside of the actual
  feature is not reverted by this patch
* Clarify the documentation
2013-10-14 17:53:07 +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
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
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