Commit graph

9 commits

Author SHA1 Message Date
Patrik Nordwall
10a11e415e !cls #13711 Move cluster sharding 2015-05-11 20:07:22 +02:00
Patrik Nordwall
c991d5f1d1 =str #17200 Stop shard region when MemberRemoved
Two issues:

1) ShardRegion actor must stop itself when the node is shutting down,
   ie. when receiving MemberRemoved(selfAddress)
2) ShardCoordinator must not persist anything when the node is shutting
   down. MemberRemoved of other shard regions will trigger Terminated,
   which must not be persisted, because then the next coordinator will
   replay those events and end up in wrong state. This is a problem
   announced itself when using leaving as illustrated in the new test.

To solve the second issue I have added a new ClusterShuttingDown event
that is published before the MemberRemoved events. Note that Terminated
is triggered by MemberRemoved.

(cherry picked from commit 1b272c72597beece9d93f0054f4b58e3d25f9ae2)
2015-04-22 12:46:30 +02:00
Patrik Nordwall
7aa9fe25f2 Merge pull request #17024 from carrot-garden/persistence-leveldb-dependency
!per #15884 Make LevelDB an optional dependency
2015-03-25 09:07:55 +01:00
Andrei Pozolotin
5c5e07ec4e !per #15884 Make LevelDB an optional dependency 2015-03-24 13:58:09 -05:00
Julian Tescher
00f6a58e7c Changes all occurances of Typesafe copyright to extend to 2015 2015-03-10 14:12:19 -07:00
Patrik Nordwall
21fcc28629 =con #16358 Harden ClusterShardingFailureSpec 2014-11-21 11:39:18 +01:00
rmarsch
aa59bfdcf6 !con #16123 Expand cluster roles support in ClusterSharding
Allow a roleOverride: Option[String] to be used when starting ClusterSharding for a given entry type. This will allow role defined clusters of ClusterSharding for entry types instead of requiring the role configuration to be all or nothing across all entry types.
2014-11-03 11:23:07 -05:00
Dominic Black
af657880e2 !con #15496 Remember entries in cluster sharding
- Move all entry related logic out of the ShardRegion and into a
  new dedicated child `Shard` actor.
- Shard actor persists entry started and passivated messages.
- Non passivated entries get restarted on termination.
- Shard Coordinator restarts shards on other regions upon region failure or handoff
- Ensures shard rebalance restarts shards.
- Shard buffers messages after an EntryStarted is received until state persisted
- Shard buffers messages (still) after a Passivate is received until state persisted
- Shard will retry persisting state until success
- Shard will restart entries automatically (after a backoff) if not passivated and remembering entries
- Added Entry path change to the migration docs
2014-08-19 13:13:20 +01:00
Patrik Nordwall
8ebc413643 +con #3937 Start ShardCoordinator again after PersistenceFailure
* Add supervisor level that will start the ShardCoordinator again after
  a configurable backoff duration
* Make the timeout of SharedLeveldbJournal configurable
* Include cause of PersistenceFailure in message of ActorKilledException
2014-03-23 20:14:19 +01:00