This is an automated email from the ASF dual-hosted git repository. rabbah 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 3337d8a Decouple health checking from active ack messages. (#3095) 3337d8a is described below commit 3337d8a643db5028118da56ab0a01b367e99260c Author: Markus Thömmes <markusthoem...@me.com> AuthorDate: Tue Dec 12 15:42:56 2017 +0100 Decouple health checking from active ack messages. (#3095) Active ack messages are inspected to check whether an invoker has a lot of system-level errors and this in turn marks an invoker unhealthy. A sufficient number of forced timeouts on active acks will also turn an invoker unhealthy, when there's just a longer than expected queue of activations. This commit decouples the queue length (load balancing concern) from the health of the invoker. --- .../main/scala/whisk/core/loadBalancer/LoadBalancerService.scala | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/core/controller/src/main/scala/whisk/core/loadBalancer/LoadBalancerService.scala b/core/controller/src/main/scala/whisk/core/loadBalancer/LoadBalancerService.scala index e3776ae..17d8796 100644 --- a/core/controller/src/main/scala/whisk/core/loadBalancer/LoadBalancerService.scala +++ b/core/controller/src/main/scala/whisk/core/loadBalancer/LoadBalancerService.scala @@ -152,10 +152,7 @@ class LoadBalancerService(config: WhiskConfig, instance: InstanceId, entityStore logging.info(this, s"${if (!forced) "received" else "forced"} active ack for '$aid'")(tid) // Active acks that are received here are strictly from user actions - health actions are not part of // the load balancer's activation map. Inform the invoker pool supervisor of the user action completion. - // If the active ack was forced, because the waiting period expired, treat it as a failed activation. - // A cluster of such failures will eventually turn the invoker unhealthy and suspend queuing activations - // to that invoker topic. - invokerPool ! InvocationFinishedMessage(invoker, isSuccess && !forced) + invokerPool ! InvocationFinishedMessage(invoker, isSuccess) if (!forced) { entry.promise.trySuccess(response) } else { @@ -165,8 +162,6 @@ class LoadBalancerService(config: WhiskConfig, instance: InstanceId, entityStore // the entry has already been removed but we receive an active ack for this activation Id. // This happens for health actions, because they don't have an entry in Loadbalancerdata or // for activations that already timed out. - // For both cases, it looks like the invoker works again and we should send the status of - // the activation to the invokerPool. invokerPool ! InvocationFinishedMessage(invoker, isSuccess) logging.debug(this, s"received active ack for '$aid' which has no entry")(tid) case None => -- To stop receiving notification emails like this one, please contact ['"commits@openwhisk.apache.org" <commits@openwhisk.apache.org>'].