Commit graph

116 commits

Author SHA1 Message Date
Konrad `ktoso` Malawski
f7b7c3642d =pro silence MiMa warning in testkit 2017-03-10 14:21:37 +01:00
haggy
b2721b9dc3 Log a warning if an entity ID extractor is not defined for a message #22395 2017-02-28 16:01:03 +01: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
sebbes
59a3596360 Adding debug message when passivate method cannot identify entity (#21886)
* Adding debug message when passivate method cannot identify entity

* Include entity in log message

* Include debug for Some where entity already being processed
2017-02-21 14:08:43 +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
Kirill Plyashkevich
87687c18df Fixes #22246
when `State` is persisted (a snapshot is saved) `rememberEntities` value is not included, but when the snapshot is loaded `rememberEntities` is not set from settings, that makes messages replay end up with wrong state as some of the message are processed with `rememberEntities` taken into account.
2017-02-01 18:10:47 +03: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
4bd6b7aab1 improve AbstractActor, #21717
* Receive class that wraps PartialFunction, to avoid
  scary scala types
* move AbstractActorContext to AbstractActor.ActorContext
* converting docs, many, many UntypedActor
* removing UntypedActor docs
* add unit test for ReceiveBuilder
* MiMa filters
* consistent use of getContext(), self(), sender()
* rename cross references
* migration guide
* skip samples for now
* improve match type safetyi, add matchUnchecked
  * the `? extends P` caused code like this to compile:
    `match(String.class, (Integer i) -> {})`
  * added matchUnchecked, since it can still be useful (um, convenient)
    to be able to do:
    `matchUnchecked(List.class, (List<String> list) -> {})`
* eleminate some scala.Option
  * preRestart
  * findChild
  * ActorIdentity.getActorRef
2017-01-23 18:30:52 +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
Patrik Nordwall
452b3f1406 remove old deprecated cluster metrics, #21423
* corresponding was moved to akka-cluster-metrics, see
  http://doc.akka.io/docs/akka/2.4/project/migration-guide-2.3.x-2.4.x.html#New_Cluster_Metrics_Extension
2017-01-20 13:48:36 +01:00
Patrik Nordwall
84ade6fdc3 add CoordinatedShutdown, #21537
* CoordinatedShutdown that can run tasks for configured phases in order (DAG)
* coordinate handover/shutdown of singleton with cluster exiting/shutdown
* phase config obj with depends-on list
* integrate graceful leaving of sharding in coordinated shutdown
* add timeout and recover
* add some missing artery ports to tests
* leave via CoordinatedShutdown.run
* optionally exit-jvm in last phase
* run via jvm shutdown hook
* send ExitingConfirmed to leader before shutdown of Exiting
  to not have to wait for failure detector to mark it as
  unreachable before removing
* the unreachable signal is still kept as a safe guard if
  message is lost or leader dies
* PhaseClusterExiting vs MemberExited in ClusterSingletonManager
* terminate ActorSystem when cluster shutdown (via Down)
* add more predefined and custom phases
* reference documentation
* migration guide
* problem when the leader order was sys2, sys1, sys3,
  then sys3 could not perform it's duties and move Leving sys1 to
  Exiting because it was observing sys1 as unreachable
* exclude Leaving with exitingConfirmed from convergence condidtion
2017-01-16 09:01:57 +01:00
Philippus Baalman
6c7085252a extended copyright into 2017 2017-01-04 17:37:15 +01:00
Patrik Nordwall
e494ec2183 catch NotSerializableException from deserialization, #20641
* to be able to introduce new messages and still support rolling upgrades,
  i.e. a cluster of mixed versions
* note that it's only catching NotSerializableException, which we already
  use for unknown serializer ids and class manifests
* note that it is not catching for system messages, since that could result
  in infinite resending
2016-12-16 20:14:37 +01:00
Patrik Nordwall
e29e06f850 Merge pull request #21898 from akka/wip-21892-remember-regression-patriknw
fix regression in remember entities, #21892
2016-12-14 13:19:28 +01:00
Patrik Nordwall
8a6c21d564 harden AllAtOnceEntityRecoveryStrategySpec, #21985
* it was testing that something was done within 20 millis
* no need for time in that test
2016-12-13 08:03:57 +01:00
Patrik Nordwall
d0053746df fix regression in remember entities, #21892
* regression was introduced by 141318e60a
  in 2.4.12
2016-11-28 14:30:34 +01:00
Johan Andrén
2679be5ae4 Disable serialization warnings in akka test suites #21882 2016-11-23 12:02:36 +01:00
Patrik Nordwall
a7eed00948 Merge pull request #21813 from akka/wip-21518-patriknw
minor cleanup of cluster.subscribe usage
2016-11-16 21:33:02 +01:00
Patrik Nordwall
d9e873644e minor cleanup of cluster.subscribe usage 2016-11-08 15:14:52 +01:00
Patrik Nordwall
48e85953d9 harden ClusterShardingSpec, #21535 2016-11-08 14:01:23 +01:00
Patrik Nordwall
1bb8f1737f increase barrier-timeout in ClusterShardingSpec, #21718
* In the logs of the failing test we can see that the first node is removed
  as expected and then come back in the membership, which is possible in
  case of conflicting membership state merge. It is supposed to be
  removed again by the auto-down. That doesn't happen within the barrier-timeout.
2016-11-08 13:37:37 +01:00
Patrik Nordwall
141318e60a shard coordinator should wait until min-members regions registered, #21194 2016-10-28 15:49:21 +02:00
Patrik Nordwall
54f5b836fc Merge branch 'master' into wip-merge-to-master-patriknw 2016-09-29 13:56:37 +02:00
Patrik Nordwall
3531e901e9 harden ConstantRateEntityRecoveryStrategySpec, #21230 2016-09-14 13:21:41 +02:00
Johannes Rudolph
529b10a9f8 =rem #21202 a first set of protobuf serializations for artery messages (#21380) 2016-09-08 17:58:25 +02:00
Patrik Nordwall
8ab02738b7 Merge branch 'master' into wip-sync-artery-dev-2.4.9-patriknw 2016-08-23 20:14:15 +02:00
Abe Sanderson
9c558016a2 optimization to improve the time to rebalance shards 2016-08-10 12:54:08 -06:00
Kirill Plyashkevich
5caa23db97 ShardRestart shouldn't go to userspace #21145
Due to order in pattern match `ShardRestart` message can be received in user-defined `messageExtractorId` (when set via providing `MessageExtractor` which is not returning null in case of unknown messages).
To avoid this it's sufficient to only change the order in the pattern match.
Also added note to documentation for using `MessageExtractor` to clarify that it should return null in case of unhandled message.
2016-08-10 11:51:50 +02:00
Peter Barron
1f9c374bd9 Cluster Sharding with remember-entity enabled fails to recover after restart #20744 2016-08-01 10:46:09 +02:00
Johan Andrén
d6c048f59a A simpler ActorRefProvider config #20649 (#20767)
* Provide shorter aliases for the ActorRefProviders #20649
* Use the new actorefprovider aliases throughout code and docs
* Cleaner alias replacement logic
2016-06-10 15:04:13 +02:00
Björn Antonsson
c66ce62d63 Update to a working version of Scalariform 2016-06-02 22:12:36 +02:00
Patrik Nordwall
9f32b77bde increase timeout for setting up SharedLeveldbStore, #20056
* SharedLeveldbStore is opening leveldb in preStart so that might
  sometimes take more than 3 seconds, I guess
* the test looks correct
2016-05-10 15:02:52 +02:00
Konrad Malawski
d24c1e0ede =sha #20315 make sharding snapshotting based on seqNr, not counter (#20319) 2016-05-05 16:21:24 +02:00
Johan Andrén
c1c31ed46d Merge pull request #20320 from johanandren/wip-addon-hooks-johanandren
API for pluggable cluster downing
2016-04-18 17:37:57 +02:00
Johan Andrén
5671927cf1 clu #20309 API for pluggable cluster downing 2016-04-18 15:06:05 +02:00
jsuchenia
e4127c3af6 Improve documentation and configuration API when using together: sharding and distibuted data (#20215)
* Missing setter for stateStoreMode in ClusterShardingSettings

* Improve Sharding documentation regarding Distributed Data Storage
2016-04-18 11:37:56 +02:00
Roland Kuhn
7cf99134dc catch ActorCell creation failures for top-level actors #15947
Previously a failure during e.g. MailboxType.create() would make the
user guardian fail, tearing down the whole system as a result. The cause
is a deep bug in handling ActorCell creation that we cannot really fix
anymore due to resulting changes in semantics, hence this fix only
targets top-level actors (where the observable difference is an
unambiguous improvement).

fixes #15947
2016-03-17 11:04:52 +01:00
Patrik Nordwall
a45959d3f7 =cls #19893 Handle SaveSnapshotSuccess in PersistentShard 2016-03-15 15:35:25 +01:00
Konrad Malawski
fc9de3bc0f Merge pull request #19894 from johanandren/wip-19863-failing-ClusterShardingGetStatsSpec-johanandren
Fix for #19863 ClusterShardingGetStatsSpec failing
2016-03-14 14:48:00 +01:00
Konrad Malawski
4d9ffd6387 Merge pull request #20000 from wlk/wlk-18500-fix-scaladoc-warnings-from-jenkins
[WIP] fixing scaladoc warnings reported by jenkins
2016-03-11 15:11:31 +01:00
Wojciech Langiewicz
afce1b7529 fixing scaladoc warnings reported by jenkins 2016-03-10 13:05:32 +01:00
Martynas Mickevičius
50f99328fe #18765 Update to latest MiMa which is now an AutoPlugin.
* check for binary inc. issues by default
* if check is not needed, disable MimaPlugin
* determine old artifact id from the current one
2016-03-10 10:45:35 +02:00
Johan Andrén
854d5b0c09 Stabilization of ClusterShardingGetStatsSpec, fix for #19863 2016-03-09 16:24:50 +01:00
Johan Andrén
d63ba52da3 Do not warn about harmless unhandled MemberEvents in ShardRegion
Shard region subscribes to cluster change events, but only cares about `MemberUp` and `MemberRemoved`,
and logs all other as a warning about unhandled messages, this is now silenced.
2016-03-08 18:10:17 +01:00
Johannes Rudolph
b6cbc7f13a =all remove unused imports 2016-02-23 20:29:22 +01:00
James Mulcahy
48ecd9d7d5 Fix for sharding GetClusterStats #19601 2016-02-23 17:12:17 +01:00
Johan Andrén
62e30b3c08 Update copyrights and links to the new company name #19851 2016-02-23 12:58:39 +01:00