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

Reply via email to