Commit graph

13347 commits

Author SHA1 Message Date
Björn Antonsson
e8bc604280 Merge pull request #1764 from akka/wip-3660-simple-speedup-of-gossip-in-early-phase-ban
=clu #3660 Simple speedup of gossip in early phase
2013-10-15 01:49:00 -07:00
Patrik Nordwall
ce329e48c1 =clu #3660 Simple speedup of gossip in early phase 2013-10-14 22:16:40 +02:00
Patrik Nordwall
a30ca0d3d4 Merge pull request #1757 from eligosource/wip-3652-custom-serialization-krasserm
!per #3652 Custom snapshot and persistent message serialization
2013-10-14 11:08:01 -07: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
Patrik Nordwall
4a2171e16f Merge pull request #1732 from luc-at-jr/master
small spelling fix in Slf4jEventHandler.scala
2013-10-14 06:38:09 -07:00
Björn Antonsson
b4f3c01206 Merge pull request #1759 from akka/wip-3655-stop-endheartbeat-patriknw
#3655 clu Stop sending EndHeartbeat after ack
2013-10-14 05:03:17 -07:00
drewhk
1a972bbb11 Merge pull request #1754 from drewhk/wip-3646-sysmsg-ack-optimization-drewhk
!rem #3646: Optimize sending of Ack messages
2013-10-14 04:14:36 -07:00
Endre Sándor Varga
b39ab37045 !rem #3646: Optimize sending of Ack messages 2013-10-14 10:30:33 +02:00
Björn Antonsson
3dcbe19a43 Merge pull request #1760 from akka/wip-3643-normal-remoting-shutdown-prints-warning-master-ban
(forward port) =rem #3643 Remove warning message from normal remote system shutdown.
2013-10-10 06:32:27 -07:00
Björn Antonsson
b9589e32fd Merge pull request #1761 from akka/wip-3640-fix-balancing-dispatcher-mailbox-config-master-ban
(forward port) =act #3640 Fix how BalancingDispatcher apply mailbox configuration
2013-10-10 06:32:16 -07:00
Björn Antonsson
ab90e59031 =act #3640 Fix how BalancingDispatcher apply mailbox configuration 2013-10-10 14:19:45 +02:00
Björn Antonsson
fdde09690a =rem #3643 Remove warning message from normal remote system shutdown.
Conflicts:
	akka-remote/src/main/scala/akka/remote/Remoting.scala
	project/AkkaBuild.scala
2013-10-10 14:17:32 +02:00
Björn Antonsson
ffa28ca293 Merge pull request #1758 from akka/wip-3621-make-daemonic-work-with-remoting-master-ban
(forward port) =rem #3621 Make Netty respect akka.daemonic setting
2013-10-10 03:05:04 -07:00
Patrik Nordwall
16e0388fe0 #3655 clu Stop sending EndHeartbeat after ack 2013-10-10 11:14:21 +02:00
Björn Antonsson
5d6ac46683 =rem #3621 Make Netty respect akka.daemonic setting 2013-10-10 10:53:09 +02:00
Patrik Nordwall
6f89d346ec Merge pull request #1751 from eligosource/wip-3641-storage-plugin-apis-krasserm
+per #3641 Storage plugin API
2013-10-08 09:06:45 -07: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
Björn Antonsson
1bda2a43d5 Merge pull request #1743 from akka/wip-upgrade-sbt-multijvm-ban
=pro,doc Update sbt-multi-jvm plugin to 0.3.8 and add sbt 0.13 docs
2013-10-08 02:10:55 -07: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
d3f295e5fe Merge pull request #1738 from akka/wip-3612-join-self-patriknw
+clu #3612 Allow join to uninitialized node
2013-09-29 22:41:15 -07:00
Patrik Nordwall
565957cdb8 Merge pull request #1727 from akka/wip-3583-timer-auto-down-patriknw
!act #3583 Timer based auto-down
2013-09-29 22:39:33 -07:00
Patrik Nordwall
68073d397e Merge pull request #1741 from akka/wip-3533-cluster-startup-failure-patriknw
=clu #3533 Harden cluster startup error handling
2013-09-27 05:44:22 -07:00
Patrik Nordwall
5a240badae Merge pull request #1740 from akka/wip-3608-simplify-merge-reachability-patriknw
=clu #3608 Simplify Reachability merge
2013-09-27 05:43:06 -07:00
Patrik Nordwall
cb42bf0785 +clu #3612 Allow join to uninitialized node
* join to self not needed when performing manual joining
2013-09-27 14:40:09 +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
Mathias
85c771d731 !act #3581 Add Tcp.CompoundWrite, some cleanup
Moves `def ack: Event` and `def wantsAck: Boolean` from the `Tcp.WriteCommand` type down to the newly introduced `Tcp.CompactWriteCommand`, which breaks existing code depending on these.
Additionally `Tcp.WriteCommand` now has a few additional methods (`+:`, `++:`, prepend) and a companion object.
2013-09-26 12:19:28 +02:00
Patrik Nordwall
c55189f615 Merge pull request #1719 from akka/wip-3597-cluster-singleton-hand-over-patriknw
!con #3597 Remove hand over data message in cluster singleton
2013-09-25 02:54:06 -07:00
Patrik Nordwall
49d77976af Merge pull request #1742 from eligosource/wip-3618-cleanup-lifecycle-hooks-krasserm
!per #3618 Cleanup duplication of life cycle hooks in Processor
2013-09-21 08:06:17 -07:00
drewhk
fe7eff9009 Merge pull request #1737 from drewhk/wip-3606-resend-unfulfillable-drewhk
=rem #3606 Properly reset system message buffer between remote sys restarts
2013-09-20 02:35:57 -07:00
Björn Antonsson
62d2c17268 =pro,doc Update sbt-multi-jvm plugin to 0.3.8 and add sbt 0.13 docs 2013-09-20 09:59:12 +02:00
Björn Antonsson
3721072153 Merge pull request #1733 from akka/wip-3416-change-cluster-to-plain-protobuf-ban
!clu #3416 Use plain protobuf and protoc
2013-09-19 06:45:14 -07:00
Björn Antonsson
47a8affb25 !clu #3416 Use plain protobuf and protoc
* Use the protobuf task to generate code for the cluster messages
* Convert the serializer to use plain protobuf instead of scalabuff
2013-09-19 14:46:14 +02:00
Patrik Nordwall
47c53ae993 Merge pull request #1739 from akka/wip-3616-ClusterClientSpec-patriknw
=con #3616 Fix failing ClusterClientSpec
2013-09-19 04:43:55 -07: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
Endre Sándor Varga
9fcae8ae5e =rem #3606 Properly reset system message buffer between remote sys restarts 2013-09-18 14:16:10 +02:00
Patrik Nordwall
d0684c2f7e Merge pull request #1736 from eligosource/wip-3615-fix-invalid-actor-name
#3615 InvalidActorNameException in persistence tests fixed
2013-09-18 04:09:17 -07: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
Patrik Nordwall
5e1913cac2 =clu #3533 Harden cluster startup error handling 2013-09-17 16:52:08 +02:00
Patrik Nordwall
d9eda5fbfa =clu #3608 Simplify Reachability merge
* No need to merge the individual rows for one observer, simply pick
  the rows from the observer with highest version
2013-09-17 15:50:37 +02:00
Patrik Nordwall
debc0ea5f7 =con #3616 Fix failing ClusterClientSpec
* client connected to fourth node, but the replication check didn't
  include that node
2013-09-17 14:52:33 +02:00
Patrik Nordwall
6246099694 Merge pull request #1722 from akka/wip-3599-vclock-counter-patriknw
!clu #3599 Use counter in VectorClock
2013-09-17 04:37:54 -07:00
Patrik Nordwall
2a7d12701b Merge pull request #1726 from akka/wip-3498-optimize-heartbeat-sender-patriknw
=clu #3498 Optimize ClusterHeartbeatSender
2013-09-17 01:35:53 -07:00
Patrik Nordwall
9abf5bc4bd Merge pull request #1731 from akka/wip-3603-ClientDowningNodeThatIsUnreachableSpec-patriknw
=clu #3603 Handle removed member in Gossip and Reachability merge
2013-09-16 04:08:06 -07:00
Björn Antonsson
148ce86014 Merge pull request #1717 from akka/wip-3593-some-changes-to-tell-throughput-microbenchmark-ban
=act #3593 Turn of serialize-messages and make receive polymorphic
2013-09-16 02:20:20 -07:00
Roland Kuhn
8fa3878d67 Merge pull request #1700 from eligosource/wip-3574-akka-persistence-prototype-krasserm
akka-persistence prototype
2013-09-14 05:34:13 -07: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
0826689c47 =clu #3603 Handle removed member in Gossip and Reachability merge
* It was a regression introduced in dc9fe4f
* Two problems:
  1) Gossip merge could pop back removed member (was previously
     covered by the filter of unreachable)
  2) Reachability merge didn't handle all cases for removed member,
     i.e. when node not in allowed set
2013-09-13 17:18:27 +02:00