This is an automated email from the ASF dual-hosted git repository. cbickel pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk.git
The following commit(s) were added to refs/heads/master by this push: new d99a272 Remove bookkeeping setting which is no longer applicable. (#3547) d99a272 is described below commit d99a2729467e31157bc362154e6955e819d30c87 Author: Markus Thömmes <markusthoem...@me.com> AuthorDate: Fri Apr 13 13:58:22 2018 +0200 Remove bookkeeping setting which is no longer applicable. (#3547) This is essentially a leftover of the removal of the old loadbalancer. --- ansible/roles/controller/tasks/deploy.yml | 1 - common/scala/src/main/scala/whisk/core/WhiskConfig.scala | 2 -- .../scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala | 4 +--- docs/deploy.md | 4 ++-- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/ansible/roles/controller/tasks/deploy.yml b/ansible/roles/controller/tasks/deploy.yml index b9e8c78..87167f5 100644 --- a/ansible/roles/controller/tasks/deploy.yml +++ b/ansible/roles/controller/tasks/deploy.yml @@ -171,7 +171,6 @@ "CONFIG_whisk_runtimes_bypassPullForLocalImages": "{{ runtimes_bypass_pull_for_local_images | default() }}" "CONFIG_whisk_runtimes_localImagePrefix": "{{ runtimes_local_image_prefix | default() }}" - "CONTROLLER_LOCALBOOKKEEPING": "{{ controller.localBookkeeping }}" "AKKA_CLUSTER_SEED_NODES": "{{seed_nodes_list | join(' ') }}" "METRICS_KAMON": "{{ metrics.kamon.enabled }}" "METRICS_KAMON_TAGS": "{{ metrics.kamon.tags }}" diff --git a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala index eb22e9d..c9683d6 100644 --- a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala +++ b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala @@ -84,7 +84,6 @@ class WhiskConfig(requiredProperties: Map[String, String], val actionInvokeSystemOverloadLimit = this(WhiskConfig.actionInvokeSystemOverloadLimit) val actionSequenceLimit = this(WhiskConfig.actionSequenceMaxLimit) val controllerSeedNodes = this(WhiskConfig.controllerSeedNodes) - val controllerLocalBookkeeping = getAsBoolean(WhiskConfig.controllerLocalBookkeeping, false) } object WhiskConfig { @@ -203,7 +202,6 @@ object WhiskConfig { val actionInvokeSystemOverloadLimit = "limits.actions.invokes.concurrentInSystem" val triggerFirePerMinuteLimit = "limits.triggers.fires.perMinute" val controllerSeedNodes = "akka.cluster.seed.nodes" - val controllerLocalBookkeeping = "controller.localBookkeeping" } object ConfigKeys { diff --git a/core/controller/src/main/scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala b/core/controller/src/main/scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala index 718079e..d10f03e 100644 --- a/core/controller/src/main/scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala +++ b/core/controller/src/main/scala/whisk/core/loadBalancer/ShardingContainerPoolBalancer.scala @@ -305,9 +305,7 @@ object ShardingContainerPoolBalancer extends LoadBalancerProvider { logging: Logging, materializer: ActorMaterializer): LoadBalancer = new ShardingContainerPoolBalancer(whiskConfig, instance) - def requiredProperties: Map[String, String] = - kafkaHosts ++ - Map(controllerLocalBookkeeping -> null, controllerSeedNodes -> null) + def requiredProperties: Map[String, String] = kafkaHosts ++ Map(controllerSeedNodes -> null) /** Generates a hash based on the string representation of namespace and action */ def generateHash(namespace: EntityName, action: FullyQualifiedEntityName): Int = { diff --git a/docs/deploy.md b/docs/deploy.md index 49c2636..1ad8456 100644 --- a/docs/deploy.md +++ b/docs/deploy.md @@ -2,7 +2,7 @@ This page documents configuration options that should be considered when deployi # Controller Clustering -The system can be configured to use Akka clustering to manage the distributed state of the Contoller's load balancing algorithm. This imposes the following constriaints on a deployment +The system can be configured to use Akka clustering to manage the distributed state of the Contoller's load balancing algorithm. This imposes the following constraints on a deployment ## Controller nodes must have static IPs/Port combination. @@ -19,7 +19,7 @@ https://doc.akka.io/docs/akka/2.5.4/scala/cluster-usage.html ## Shared state vs. Sharding -OpenWhisk supports both a shared state and a sharding model. By default the shared-state loadbalancer is used. The sharding loadbalancer is the newer implementation and scheduled to eventually supersede the shared-state implementation and become the default. To configure your system to use the sharding implementation, set `controller_loadbalancer_spi` to `whisk.core.loadBalancer.ShardingContainerPoolBalancer`. +OpenWhisk used to support both shared state and a sharding model. The former has since been deprecated and removed. The sharding loadbalancer has the caveat of being limited in its scalability in its current implementation. It uses "horizontal" sharding, which means that the slots on each invoker are evenly divided to the loadbalancers. For example: In a system with 2 loadbalancers and invokers which have 16 slots each, each loadbalancer would get 8 slots on each invoker. In this specific case, a cluster of loadbalancers > 16 instances does not make sense, since each loadbalancer would only have a fra [...] -- To stop receiving notification emails like this one, please contact cbic...@apache.org.