2020-02-24 08:55:22 UTC - Alvaro Lopez: Hi all, I have made a quick issue search about hardcoded action limits (similar to this one, only for memory: <https://github.com/apache/openwhisk/pull/3148>) to no avail. Are there any plans to support the configuration of other actions' limits? (e.g. parameter size or result size). Is there any reason to have it hardcoded to 1M? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582534522004500?thread_ts=1582534522.004500&cid=C3TPCAQG1 ---- 2020-02-24 12:27:43 UTC - Rodric Rabbah: <https://github.com/apache/openwhisk/blob/963fa112bb907cb00f22ee482d4f1eeb21b4492f/common/scala/src/main/resources/application.conf#L142-L144> https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582547263006000?thread_ts=1582534522.004500&cid=C3TPCAQG1 ---- 2020-02-24 12:30:40 UTC - Rodric Rabbah: the parameter and annotation limit for what’s attached on an action is hardcoded at 1MB.
so while at invocation time you can pass a large payload to an action, statically you can attach up to 1MB. (for example i think ibm cloud lets you do 5MB at invoke time.) if you’d like to factor this out into a deployment config, we welcome contributions https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582547440006200?thread_ts=1582534522.004500&cid=C3TPCAQG1 ---- 2020-02-24 13:15:02 UTC - Justin Halsall: You can clean up the last one by running `make destroy` and then restarting everything with docker compose by running `make quick-start` (you can find more docs here: <https://github.com/apache/openwhisk-devtools/blob/master/docker-compose/README.md>) https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582550102006600?thread_ts=1582454319.002800&cid=C3TPCAQG1 ---- 2020-02-24 13:30:41 UTC - Markus Thömmes: @Martin Henke @chetanm do you mind having a "relook" at <https://github.com/apache/openwhisk/pull/4752>? Stuff seems to finally work :smile: heavy_check_mark : chetanm https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582551041007300 ---- 2020-02-24 16:41:17 UTC - Tom Barber: So abstract question here.... https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582562477007800 ---- 2020-02-24 16:41:34 UTC - Tom Barber: There's about a 4 second spin up time for an action https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582562494008200 ---- 2020-02-24 16:41:41 UTC - Tom Barber: who has any tips on how to bring that down? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582562501008500 ---- 2020-02-24 16:44:34 UTC - Tom Barber: thats on a cold start https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582562674008900 ---- 2020-02-24 16:44:46 UTC - Tom Barber: on a warm start there is basically no overhead https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582562686009300 ---- 2020-02-24 16:46:18 UTC - Tom Barber: https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582562778009600 ---- 2020-02-24 16:46:25 UTC - Tom Barber: I don't see how it figures out if its going to be cold or warm https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582562785010100 ---- 2020-02-24 16:46:29 UTC - Tom Barber: it seems like its pot luck https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582562789010300 ---- 2020-02-24 16:57:51 UTC - Tom Barber: yeah I can't figure it out, I've got loads of prewarmed python containers, but if I run an action whether it hits a warm one or not seems entirely random https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563471011100 ---- 2020-02-24 17:00:15 UTC - Rodric Rabbah: some thoughts, Tom. 1. you might want to grab the latest python runtime updates if not already using those - they make the python runtime generally faster 2. you can add stem cells for the runtime you use often to create containers ahead of time in the container pool 3. how big is the action (is this a zip file)? consider augmenting the runtime with required libraries so the zip unpacking time is shorter https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563615012900 ---- 2020-02-24 17:02:11 UTC - Tom Barber: so on #2 stem cells are all these prewarmed containers, right? white_check_mark : Rodric Rabbah https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563731013400 ---- 2020-02-24 17:02:26 UTC - Tom Barber: cause I've got like 50 of them :slightly_smiling_face: https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563746013700 ---- 2020-02-24 17:02:44 UTC - Tom Barber: and no load on the system, which is why i'm surprised its not reusing warm ones https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563764014100 ---- 2020-02-24 17:04:04 UTC - Rodric Rabbah: cold start doesn’t mean not using a prewarmed container, it means the container had to be initialized with the user’s code https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563844014900 ---- 2020-02-24 17:04:59 UTC - Rodric Rabbah: not sure why you wouldn’t get reuse :confused: https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563899015800 ---- 2020-02-24 17:05:21 UTC - Rodric Rabbah: are you invoking far enough apart for previous actions to have finished and released their containers? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563921016300 ---- 2020-02-24 17:05:50 UTC - Rodric Rabbah: from the time stamps, looks too close to call https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563950016700 ---- 2020-02-24 17:06:35 UTC - Tom Barber: well if I do one call, then count to 5 then run it again, I get 2 cold starts https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582563995017300 ---- 2020-02-24 17:07:19 UTC - Tom Barber: I then wrote this message, went back and ran another and get another cold start https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564039017800 ---- 2020-02-24 17:09:30 UTC - Rodric Rabbah: are there errors in the invoker logs? • if the container couldn’t be paused and was destroyed for example you’d get a cold start • do the actions log a lot of output? that can slow down releasing a container back to the pool what you describe at face value shouldn’t happen you could also increase the `50ms` grace period between “pause” to avoid pause/unpause delays but that’s on the order of 10ms not seconds https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564170020000 ---- 2020-02-24 17:13:46 UTC - Tom Barber: ```[2020-02-24T17:12:05.501Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [InvokerReactive] [marker:invoker_activation_start:121] [2020-02-24T17:12:05.502Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [WhiskAction] [GET] serving from cache: CacheKey(guest/pixlize-serverless-dev-sessionList) [marker:database_cacheHit_counter:122] [2020-02-24T17:12:05.503Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [ContainerPool] containerStart containerState: warmed container: Some(ContainerId(wskowdev-invoker-36-28-guest-pixlizeserverlessdevsessionlist)) activations: 1 of max 1 action: pixlize-serverless-dev-sessionList namespace: guest activationId: 4b87fa966ffe449287fa966ffe349296 [marker:invoker_containerStart.warmed_counter:123] [2020-02-24T17:12:05.505Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [KubernetesContainer] sending arguments to /guest/pixlize-serverless-dev-sessionList at ContainerId(wskowdev-invoker-36-28-guest-pixlizeserverlessdevsessionlist) ContainerAddress(192.168.108.132,8080) [marker:invoker_activationRun_start:125] [2020-02-24T17:12:08.776Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [KubernetesContainer] running result: ok [marker:invoker_activationRun_finish:3396:3271] [2020-02-24T17:12:08.776Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [ContainerProxy] [marker:invoker_collectLogs_start:3396] [2020-02-24T17:12:08.779Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [MessagingActiveAck] posted result of activation 4b87fa966ffe449287fa966ffe349296 [2020-02-24T17:12:08.788Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [ContainerProxy] [marker:invoker_collectLogs_finish:3408:12] [2020-02-24T17:12:08.789Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [CouchDbRestStore] [PUT] 'test_activations' saving document: 'id: guest/4b87fa966ffe449287fa966ffe349296, rev: null' [marker:database_saveDocument_start:3409] [2020-02-24T17:12:08.789Z] [INFO] [#tid_sid_dbBatcher] [CouchDbRestStore] 'test_activations' saving 1 documents [marker:database_saveDocumentBulk_start:36698664] [2020-02-24T17:12:08.790Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [MessagingActiveAck] posted completion of activation 4b87fa966ffe449287fa966ffe349296 [2020-02-24T17:12:08.808Z] [INFO] [#tid_sid_dbBatcher] [CouchDbRestStore] [marker:database_saveDocumentBulk_finish:36698683:18] [2020-02-24T17:12:08.808Z] [INFO] [#tid_40opVj7BEQGMa6VKqj34GvtIlt7YTlnc] [CouchDbRestStore] [marker:database_saveDocument_finish:3428:19] [2020-02-24T17:12:17.429Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [InvokerReactive] [marker:invoker_activation_start:8] [2020-02-24T17:12:17.431Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [WhiskAction] [GET] serving from datastore: CacheKey(guest/pixlize-serverless-dev-sessionList) [marker:database_cacheMiss_counter:10] [2020-02-24T17:12:17.431Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [CouchDbRestStore] [GET] 'test_whisks' finding document: 'id: guest/pixlize-serverless-dev-sessionList, rev: 102-acc526a43f74e42d6274d6b5b2aa4993' [marker:database_getDocument_start:10] [2020-02-24T17:12:17.464Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [CouchDbRestStore] [marker:database_getDocument_finish:43:33] [2020-02-24T17:12:17.466Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [CouchDbRestStore] [ATT_GET] 'test_whisks' finding attachment '276f0113-bb2b-4887-af01-13bb2b98875c' of document 'id: guest/pixlize-serverless-dev-sessionList, rev: 102-acc526a43f74e42d6274d6b5b2aa4993' [marker:database_getDocumentAttachment_start:45] [2020-02-24T17:12:17.895Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [CouchDbRestStore] [marker:database_getDocumentAttachment_finish:474:429] [2020-02-24T17:12:17.936Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [WhiskAction] write initiated on existing cache entry, invalidating CacheKey(guest/pixlize-serverless-dev-sessionList), tid pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv, state WriteInProgress [2020-02-24T17:12:17.936Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [WhiskAction] write all done, caching CacheKey(guest/pixlize-serverless-dev-sessionList) Cached [2020-02-24T17:12:17.938Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [ContainerPool] containerStart containerState: recreated container: None activations: 1 of max 1 action: pixlize-serverless-dev-sessionList namespace: guest activationId: 4a4d85db5f584f288d85db5f580f289d [marker:invoker_containerStart.recreated_counter:517] [2020-02-24T17:12:19.252Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [KubernetesContainer] sending initialization to ContainerId(wskowdev-invoker-68-27-guest-pixlizeserverlessdevsessionlist) ContainerAddress(192.168.96.69,8080) [marker:invoker_activationInit_start:1830] [2020-02-24T17:12:20.987Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [KubernetesContainer] initialization result: ok [marker:invoker_activationInit_finish:3566:1735] [2020-02-24T17:12:20.987Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [KubernetesContainer] sending arguments to /guest/pixlize-serverless-dev-sessionList at ContainerId(wskowdev-invoker-68-27-guest-pixlizeserverlessdevsessionlist) ContainerAddress(192.168.96.69,8080) [marker:invoker_activationRun_start:3566] [2020-02-24T17:12:24.279Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [KubernetesContainer] running result: ok [marker:invoker_activationRun_finish:6858:3292] [2020-02-24T17:12:24.280Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [ContainerProxy] [marker:invoker_collectLogs_start:6859] [2020-02-24T17:12:24.283Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [MessagingActiveAck] posted result of activation 4a4d85db5f584f288d85db5f580f289d [2020-02-24T17:12:24.299Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [ContainerProxy] [marker:invoker_collectLogs_finish:6878:19] [2020-02-24T17:12:24.299Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [CouchDbRestStore] [PUT] 'test_activations' saving document: 'id: guest/4a4d85db5f584f288d85db5f580f289d, rev: null' [marker:database_saveDocument_start:6878] [2020-02-24T17:12:24.300Z] [INFO] [#tid_sid_dbBatcher] [CouchDbRestStore] 'test_activations' saving 1 documents [marker:database_saveDocumentBulk_start:437321] [2020-02-24T17:12:24.301Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [MessagingActiveAck] posted completion of activation 4a4d85db5f584f288d85db5f580f289d [2020-02-24T17:12:24.308Z] [INFO] [#tid_sid_dbBatcher] [CouchDbRestStore] [marker:database_saveDocumentBulk_finish:437330:8] [2020-02-24T17:12:24.308Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [CouchDbRestStore] [marker:database_saveDocument_finish:6887:9] [2020-02-24T17:12:56.056Z] [INFO] [#tid_sid_invoker] [CouchDbRestStore] [QUERY] 'test_subjects' searching 'namespaceThrottlings/blockedNamespaces [marker:database_queryView_start:290721572] [2020-02-24T17:12:56.071Z] [INFO] [#tid_sid_invoker] [CouchDbRestStore] [marker:database_queryView_finish:290721587:15]``` https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564426020800 ---- 2020-02-24 17:13:46 UTC - Tom Barber: So I just ran it and randomly got a warm start for the first invoke and then ran it again after and got a cold start https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564426020900 ---- 2020-02-24 17:13:58 UTC - Tom Barber: I mean it doesn't look like there's any errors https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564438021200 ---- 2020-02-24 17:14:09 UTC - Tom Barber: nothing obvious to the untrained eye https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564449021500 ---- 2020-02-24 17:16:02 UTC - Tom Barber: I do see the warmed counter and the recreated counters in both executions though https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564562022000 ---- 2020-02-24 17:16:39 UTC - Tom Barber: I'm not sure if there is a log entry for a container release though https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564599022400 ---- 2020-02-24 17:19:53 UTC - Rodric Rabbah: did you update the action between invokes? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564793022700 ---- 2020-02-24 17:20:11 UTC - Tom Barber: literally just told firefox to resend the post request https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582564811023100 ---- 2020-02-24 17:24:21 UTC - Rodric Rabbah: you’re right, i dont see any errors either. the second invoke fetched the code again based on this line ` [CouchDbRestStore] [ATT_GET] ‘test_whisks’ finding attachment` and for some reason not told by these logs, the invoker concluded, i think, that the action is different and it should use a different container https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565061025200 ---- 2020-02-24 17:25:00 UTC - Rodric Rabbah: wait https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565100025400 ---- 2020-02-24 17:25:08 UTC - Rodric Rabbah: ```[2020-02-24T17:12:17.936Z] [INFO] [#tid_pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv] [WhiskAction] write initiated on existing cache entry, invalidating CacheKey(guest/pixlize-serverless-dev-sessionList), tid pJ0VSIVhjONZ8KqtTDKtzqnDtoslcZFv, state WriteInProgress``` there is an update to the action here https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565108025800 ---- 2020-02-24 17:25:33 UTC - Tom Barber: by update, you mean some process changing the source code? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565133026200 ---- 2020-02-24 17:25:50 UTC - Rodric Rabbah: yes is anything changing the action code? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565150026500 ---- 2020-02-24 17:26:29 UTC - Tom Barber: nope, because it all maintained by gitlab CI https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565189026900 ---- 2020-02-24 17:26:38 UTC - Tom Barber: and the last update was 4 minutes ago from a different run https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565198027300 ---- 2020-02-24 17:26:56 UTC - Tom Barber: so that would be 17:22 https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565216027500 ---- 2020-02-24 17:26:59 UTC - Tom Barber: not 17:12 https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565219027800 ---- 2020-02-24 17:29:39 UTC - Tom Barber: although, I've just got 5 warm runs in a row https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565379028300 ---- 2020-02-24 17:29:42 UTC - Tom Barber: :exploding_head: https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582565382028600 ---- 2020-02-24 18:38:15 UTC - Tom Barber: next question, can you get k8s to reread the runtimes.json https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582569495029500 ---- 2020-02-24 18:38:22 UTC - Tom Barber: without redeploying openwhisk? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582569502029700 ---- 2020-02-24 18:44:44 UTC - Tom Barber: s/k8s/openwhisk https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582569884030900 ---- 2020-02-24 18:44:49 UTC - Tom Barber: so I can update the container version https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582569889031200 ---- 2020-02-24 18:45:47 UTC - Dave Grove: re runtimes.json, currently not easily. What is currently done is that runtimes.json gets sucked into the helm chart when you do the install and then injected into the env of the controller and invoker pods (RUNTIMES_MANIFEST) https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582569947032000 ---- 2020-02-24 18:46:56 UTC - Tom Barber: yeah i saw the controllers get relaunched when i did the helm update https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570016033800 ---- 2020-02-24 18:47:30 UTC - Tom Barber: if I want to flip the python:3 container type for existing actions, is there an easy way, or should I just chuck it in the bin and relaunch the helm chart ? :slightly_smiling_face: https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570050034500 ---- 2020-02-24 18:48:09 UTC - Tom Barber: hmm although the latter would suck if we changed depdendencies and updated the image https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570089035300 ---- 2020-02-24 18:49:50 UTC - Dave Grove: i think you could use `wsk` cli to update an existing action to have a new kind (assuming you had both kinds in runtimes.json to start with). https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570190036900 ---- 2020-02-24 18:52:08 UTC - Tom Barber: hmm https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570328037200 ---- 2020-02-24 18:52:26 UTC - Tom Barber: so I basically just updated the container version in the python:3 runtime definition https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570346037800 ---- 2020-02-24 18:52:46 UTC - Tom Barber: so you're saying I should have a new kind @Dave Grove to force it to pick up a new container runtime? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570366038300 ---- 2020-02-24 18:58:08 UTC - Dave Grove: i think it could work to update the container version of the existing python:3 definition, then get the controller & invokers to restart so they see the new version, then either (a) wait 10ish minutes to let any old action containers to be purged or (b) manually kill any containers sitting around that use the old base image. https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570688042300 ---- 2020-02-24 18:58:51 UTC - Tom Barber: yeah i just looked at the env vars set post my helm update https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570731043500 ---- 2020-02-24 18:59:04 UTC - Tom Barber: i see in the controller they have been updated with controller restarts https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570744044200 ---- 2020-02-24 18:59:13 UTC - Tom Barber: but i'll kill the invokers and see if they update https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570753044600 ---- 2020-02-24 18:59:28 UTC - Kostis Kaffes: Any recommendation on what is the best way to deploy multiple invokers on a single server and assign a subset of the cores to each? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582570768044800?thread_ts=1582570768.044800&cid=C3TPCAQG1 ---- 2020-02-24 19:58:48 UTC - Tom Barber: So other question about Warm actions @Rodric Rabbah, how long do actions stay warm for? Until a different action needs the slot, or just a preset time? https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582574328045700?thread_ts=1582574328.045700&cid=C3TPCAQG1 ---- 2020-02-24 20:04:49 UTC - Tom Barber: oh and putting the dependencies in the container gave me precisely 0second speed up :wink: https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582574689046200?thread_ts=1582574689.046200&cid=C3TPCAQG1 ---- 2020-02-24 20:04:57 UTC - Tom Barber: worth a try though https://openwhisk-team.slack.com/archives/C3TPCAQG1/p1582574697046400 ----