Commit graph

264 commits

Author SHA1 Message Date
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
32b76adb9a Merge pull request #1918 from akka/wip-2927-balancing-pool-patriknw
!act #2927 Add BalancingPool and deprecate BalancingDispatcher
2014-01-16 12:30:26 -08:00
Patrik Nordwall
d7aab50da0 !act #2927 Add BalancingPool and deprecate BalancingDispatcher 2014-01-16 19:06:42 +01:00
Patrik Nordwall
2e5193347e !clu #3617 API improvements related to CurrentClusterState
* Getter for CurrentClusterState in Cluster extension, updated via
  ClusterReadView
* Remove lazy init of readView. Otherwise the cluster.state will be
  empty on first access, wich is probably surprising
* Subscribe to several cluster event types at once, to ensure *one*
  CurrentClusterEvent followed by change events
* Deprecate publishCurrentClusterState, was a bad idea, use sendCurrentClusterState
  instead
* Possibility to subscribe with InitialStateAsEvents to receive events corresponding
  to CurrentClusterState
* CurrentClusterState not a ClusterDomainEvent, ticket #3614
2014-01-16 16:17:44 +01:00
Patrik Nordwall
0a56fbf7d0 =doc Fix a few typos in docs 2013-12-15 17:42:03 +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
Patrik Nordwall
4972c7780c Merge pull request #1887 from krasserm/wip-3785-change-default-processor-id-krasserm
!per #3785 Change default implementation of processorId
2013-12-13 02:02:04 -08:00
Patrik Nordwall
dd3d3da452 =tra #3668 Deprecate transactors 2013-12-13 11:00:06 +01:00
Patrik Nordwall
14024b208c =age #3667 Deprecate stm support in agents 2013-12-13 10:53:59 +01:00
Patrik Nordwall
4bd1586b1e =dur #3664 Deprecate durable mailboxes 2013-12-13 07:38:15 +01:00
Patrik Nordwall
6ab4733fa7 Merge pull request #1881 from akka/wip-3788-logback-1.0.13-patriknw
=slf #3788 Update to logback 1.0.13 and slf4j 1.7.5
2013-12-12 12:46:16 -08:00
Martin Krasser
f55c711601 !per #3785 Change default implementation of processorId
- also affects channel ids.
2013-12-12 16:06:36 +01:00
Patrik Nordwall
37f8f2831b =doc #3689 Make activator templates for cluster samples 2013-12-12 16:03:03 +01:00
Patrik Nordwall
b82698a354 =doc #3689 Make activator templates for remote samples 2013-12-12 16:03:03 +01:00
Patrik Nordwall
23dd957ba2 =doc #3689 Make activator templates for camel samples
* @rkuhn found the problems in the scala camel samples
  - HttpSample returns scrambled data
  - CustomRouteSample times out
2013-12-12 16:03:02 +01:00
Patrik Nordwall
362074177a =doc #3689 Make activator template for akka.Main 2013-12-12 16:03:02 +01:00
Patrik Nordwall
8b6b2965e5 Merge pull request #1863 from krasserm/wip-3761-reliable-channels-krasserm
!per #3761 Reliable channels
2013-12-12 06:45:29 -08: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
Patrik Nordwall
ed5bb92b1f =slf #3788 Update to logback 1.0.13 and slf4j 1.7.5 2013-12-11 15:33:30 +01: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
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
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
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
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