Hi all! https://github.com/apache/openwhisk/pull/4978
This is my first foray into the OpenWhisk codebase, so I'm not afraid of a bit of constructive feedback. :) Essentially, the problem I was noticing was that when new containers are created to handle requests, the requests that triggered the scale-up are actually pinned to those new containers. That means that even if an already-existing container becomes free before the new container is ready, OpenWhisk will still wait for the new container to become ready. This is especially a problem when the new container triggers a node pool scale up, since that can take upwards of five minutes for the container to be scheduled and become ready (which is an unacceptable latency). The PR essentially attempts to separate the initialization step from the "send the container a run" step. With the PR, if ten activations are received and only five are ready, it will still schedule five new containers, but if any of the old containers finish executing first, the OLD container will handle the next available action. There are some issues outlined in the PR description that need to be addressed, but I'd really be interested to see what the best way to accomplish this would be (especially since I don't have all of the context on this project that others do). Thanks! -- Travis DePrato (he/him/his) Experiential Learning Software Architect University of Michigan '19 Black Lives Matter