Commit graph

13332 commits

Author SHA1 Message Date
Patrik Nordwall
16e0388fe0 #3655 clu Stop sending EndHeartbeat after ack 2013-10-10 11:14:21 +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
Patrik Nordwall
1187fecfcc Merge pull request #1723 from akka/wip-3600-disable-assertInvariants-patriknw
=clu #3600 Disable Cluster assertInvariants checks by default
2013-09-13 08:13:10 -07:00
Patrik Nordwall
bd4d1d775f !clu #3599 Use counter in VectorClock
* No reason to use the System.currentTimeMillis base
* Remove the global VectorClock counter completely,
  current count for a node is in the VectorClock itself
2013-09-13 16:37:46 +02:00
Patrik Nordwall
c51df6658d Merge pull request #1716 from akka/wip-3595-cluster-client-remote-death-watch-patriknw
+con #3595 Use remote death watch in cluster client
2013-09-13 07:32:03 -07:00
Patrik Nordwall
bc55cac899 +con #3595 Use remote death watch in cluster client 2013-09-13 13:19:48 +02:00
Patrik Nordwall
bb25f7dd94 Merge pull request #1714 from akka/wip-3551-buffer-cluster-client-patriknw
+con #3551 Buffer messages in cluster client
2013-09-13 03:49:04 -07:00
Björn Antonsson
91862f6d86 Merge pull request #1724 from akka/wip-3154-upgrade-to-protobuf-2.5.0-ban
!rem, clu, mul #3154 Upgrade protobuf to 2.5.0 and add an SBT task
2013-09-13 02:22:03 -07:00
Patrik Nordwall
ea9d2441d2 Merge pull request #1730 from akka/wip-3578-aggregator-master-patriknw
+con #3578 Aggregator contribution (forward port)
2013-09-12 06:52:36 -07:00
Björn Antonsson
0991d476bd Merge pull request #1718 from akka/wip-upgrade-osgi-aries-ban
!osg Updating Aries dependencies
2013-09-12 06:07:43 -07:00
Akara Sucharitakul
c6c632176b +con #3578 Aggregator contribution
(cherry picked from commit ea3d9fd8a188bc5534f31ca0ba57751d01be3b66)
2013-09-12 13:31:20 +02:00
Björn Antonsson
2876460dcb !rem, clu, mul #3154 Upgrade protobuf to 2.5.0 and add an SBT task
* Added an SBT task to compile protobuf files with protoc
* Upgraded protobuf to 2.5.0 which is the current stable
2013-09-12 11:20:25 +02:00
Patrik Nordwall
3fa2aeae8d Merge pull request #1630 from gakesson/master
Improved semantics for BoundedBlockingQueue
2013-09-11 23:15:06 -07:00
Patrik Nordwall
cc66daad48 =clu #3600 Disable Cluster assertInvariants checks by default
* asserts can be enabled by system property 'akka.cluster.assert=on'
2013-09-11 15:11:01 +02:00
Patrik Nordwall
b6c63a8fb3 =clu #3498 Optimize ClusterHeartbeatSender 2013-09-11 14:46:08 +02:00
Patrik Nordwall
9456a081b7 Merge pull request #1721 from akka/wip-3569-cluster-pom-experimental-patriknw
=pro #3569 Remove experimental label from cluster pom.xml
2013-09-11 05:27:31 -07:00