Commit graph

29 commits

Author SHA1 Message Date
Johan Andrén
81b1e2ef9b Internal dispatcher to protect against starvation (#26816)
* Allow for dispatcher aliases and define a internal dispatcher
* Test checking dispatcher name
* MiMa for Dispatchers
* Migration guide entry
* No need to have custom dispatcher lookup logic in streams anymore
* Default dispatcher size and migration note about that
* Test checking exact config values...
* Typed receptionist on internal dispatcher
* All internal usages of system.dispatcher gone through
2019-05-02 22:35:25 +02:00
Helena Edelson
5fce4bea63
Enable passivate-idle-entity-after by default #25782 (#26819) 2019-04-30 08:11:31 -07:00
Christopher Batey
65ccada280 Lease API + use in cluster singleton and sharding, #26480 (#26629)
* lease api
* Cluster singleton manager with lease
* Refactor OldestData to use option for actor reference
* Sharding with lease
* Docs for singleton and sharding lease + config for sharding lease
* Have ddata shard wait until lease is acquired before getting state
2019-03-28 13:31:56 +01:00
Patrik Nordwall
36fe0a0375
Support mutable state by stashing commands while storing snapshot, #25740 2019-02-22 09:00:56 +01:00
Patrik Nordwall
b48938f4a0
Improve default shard rebalancing algorithm, #26012 (#26101)
* Improve default shard rebalancing algorithm, #26012

* Use rebalance-threshold=1 because it will give the best distribution,
  and previous default could result in too large difference between nodes
* Off by one error, difference > threshold vs >=
* Added more unit tests
* Note that in some cases it may still not be optimal, stopping more
  shards than necessary, but a different strategy that looks at more
  than most and least is out of scope for this issue. In practise
  those cases shouldn't matter much.
* Also note that the rebalance interval is by default 10 seconds,
  so typically shards will start up before next rebalance tick.
  It's intentionally a slow process to not cause instabilities by
  moving too much at the same time.
2018-12-21 13:39:41 +01:00
Saleh Khazaei
c383f4483b Warn if handOffStopMessage not handled (#25648)
* Stops entities of shard forcefully if they don't handle stopMessage #23751

* Prints a warning log while stopping the entities

* fix version of backward exclude file and checks for shard stopped

* adds documentation for handoff timeout
2018-12-04 18:20:58 +01:00
Johan Andrén
133c41375f Automatic passivation for typed sharding, #25512 2018-11-06 19:15:23 +01:00
Renato Cavalcanti
c83e4adfea Rolling update config checker, #24009
* adds config compatibility check
* doc'ed what happens when joining a cluster not supporting this feature
* added extra docs over sensitive paths
2018-02-20 15:47:09 +01:00
James Roper
ed2935b7c1 Fix doubly namespaced setting
Changed `akka.cluster.sharding.distributed-data.akka.cluster.sharding.distributed-data.max-data-elements` to `akka.cluster.sharding.distributed-data.max-delta-elements`.
2017-04-21 14:40:08 +10:00
Patrik Nordwall
17794a92a5 Merge pull request #22348 from akka/wip-22327-many-remember-entities-patriknw
document remember entities limitation, #22327
2017-02-24 10:31:58 +01:00
Kirill Plyashkevich
c5ba0a3565 #21725 cluster-sharding doesn't delete snapshots and messages (#21777)
* #21725 cluster-sharding doesn't delete snapshots and messages
Fixes #21725
Without deleting messages those pollute persistence with not needed anymore messages. Naive and bullet proof flow is snapshot -> delete messges -> delete snapshots.

# Пожалуйста, введите сообщение коммита для ваших изменений. Строки,
# начинающиеся с «#» будут оставлены; вы можете удалить их вручную,
# если хотите. Пустое сообщение отменяет процесс коммита.
#
# Дата:      Mon Oct 31 23:24:37 2016 +0300
#
# интерактивное перемещение в процессе; над 432b53c
# Последняя команда выполнена (1 команда выполнена):
#    edit f86b015 21725 cluster-sharding doesn't delete snapshots and messages Fixes #21725 Without deleting messages those pollute persistence with not needed anymore messages. Naive and bullet proof flow is snapshot -> delete messges -> delete snapshots.
# Следующая команда для выполнения (1 команда осталась):
#    pick 56adb40 #21725 keeping N number of batches (messages and snapshot) using N from configuration
# Вы сейчас редактируете коммит при перемещении ветки  «fix-21725-delete-messages-after-snapshot» над «432b53c».
#
# Изменения, которые будут включены в коммит:
#	изменено:      akka-cluster-sharding/src/main/scala/akka/cluster/sharding/Shard.scala
#	изменено:      akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala
#

* #21725 keeping N number of batches (messages and snapshot) using N from configuration
2017-02-21 14:17:19 +01:00
Patrik Nordwall
a3ddb406f4 document remember entities limitation, #22327
* and set default for max-delta-elements
2017-02-20 14:41:49 +01:00
Patrik Nordwall
9fabbdf710 Merge pull request #22209 from akka/wip-22141-majority-patriknw
use minCap for majority write/read in sharding, #22141
2017-01-25 14:30:26 +01:00
Patrik Nordwall
9616e997fc Use ddata mode as the default for Cluster Sharding, #17963 2017-01-24 18:49:01 +01:00
Patrik Nordwall
b45a254685 use minCap for majority write/read in sharding, #22141
* also added some docs about the feature since that was missing
2017-01-24 16:41:18 +01:00
Patrik Nordwall
37679d307e rememberingEntities with ddata mode, #22154
* one Replicator per configured role
* log LMDB directory at startup
* clarify the imporantce of the LMDB directory
* use more than one key to support many entities
2017-01-23 11:57:52 +01:00
Peter Barron
1f9c374bd9 Cluster Sharding with remember-entity enabled fails to recover after restart #20744 2016-08-01 10:46:09 +02:00
Patrik Nordwall
d44120b726 =cls Clarify the sharding role setting 2015-12-18 11:15:06 +01:00
Patrik Nordwall
834a84fdd6 =cls #17846 Add experimental note to ddata mode docs 2015-08-20 19:07:41 +02:00
Ostapenko Evgeniy
6814d08ef1 =cls #17846 Use CRDTs instead of PersistentActor to remember the state of the ShardCoordinator #17871 2015-08-20 13:36:37 +03:00
Patrik Nordwall
46811ca1ce =cls #17908 Protobuf serializer for cluster sharding 2015-08-17 16:11:57 +02:00
Patrik Nordwall
2832dd55c5 !clt, cls #17866 Use systemActorOf for exension actors
* ClusterSharding
* ClusterClientReceptionist
* dispatcher config, since deployment config can't be used
  for system actors
2015-06-30 16:37:34 +02:00
Patrik Nordwall
6d26b3e591 !per Make persistent failures fatal
* remove PersistentFailure and RecoveryFailure messages
* use stop instead of ActorKilledException
* adjust PersistentView
* adjust AtLeastOnceDeliveryFailureSpec
* adjust sharding
* add BackoffSupervisor
2015-06-17 15:49:47 +02:00
Patrik Nordwall
70024298ac !cls #16422 Rename Entry to Entity in sharding 2015-06-11 10:00:43 +02:00
Patrik Nordwall
8276420a89 =cls #15619 Use event counting instead of time based snapshot in sharding 2015-06-11 10:00:42 +02:00
Patrik Nordwall
294659e2fe =cls #15330 Enable configuration of coordinator singleton 2015-06-11 10:00:42 +02:00
Patrik Nordwall
8de24f38ca !cls #17158 Add configuration of sharding journal
* Use same type of settings object as in cluster-tools
* These settings can be different for different entity types
2015-06-11 10:00:41 +02:00
Patrik Nordwall
c1d5221bf8 !clt #17364 Make ShardRegion.props internal
* the extension api is enough
* simplify how roles are specified
* make proxy mode more explicit by seperate
  method `startProxy`
2015-06-11 10:00:41 +02:00
Patrik Nordwall
10a11e415e !cls #13711 Move cluster sharding 2015-05-11 20:07:22 +02:00