{"action":"opened","issue":{"url":"https://api.github.com/repos/openwhisk/openwhisk/issues/1094","repository_url":"https://api.github.com/repos/openwhisk/openwhisk","labels_url":"https://api.github.com/repos/openwhisk/openwhisk/issues/1094/labels{/name}","comments_url":"https://api.github.com/repos/openwhisk/openwhisk/issues/1094/comments","events_url":"https://api.github.com/repos/openwhisk/openwhisk/issues/1094/events","html_url":"https://github.com/openwhisk/openwhisk/issues/1094","id":172208490,"number":1094,"title":"Container reuser policy","user":{"login":"perryibm","id":14339749,"avatar_url":"https://avatars.githubusercontent.com/u/14339749?v=3","gravatar_id":"","url":"https://api.github.com/users/perryibm","html_url":"https://github.com/perryibm","followers_url":"https://api.github.com/users/perryibm/followers","following_url":"https://api.github.com/users/perryibm/following{/other_user}","gists_url":"https://api.github.com/users/perryibm/gists{/gist_id}","starred_url":"https://api.github.com/users/perryibm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/perryibm/subscriptions","organizations_url":"https://api.github.com/users/perryibm/orgs","repos_url":"https://api.github.com/users/perryibm/repos","events_url":"https://api.github.com/users/perryibm/events{/privacy}","received_events_url":"https://api.github.com/users/perryibm/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"perryibm","id":14339749,"avatar_url":"https://avatars.githubusercontent.com/u/14339749?v=3","gravatar_id":"","url":"https://api.github.com/users/perryibm","html_url":"https://github.com/perryibm","followers_url":"https://api.github.com/users/perryibm/followers","following_url":"https://api.github.com/users/perryibm/following{/other_user}","gists_url":"https://api.github.com/users/perryibm/gists{/gist_id}","starred_url":"https://api.github.com/users/perryibm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/perryibm/subscriptions","organizations_url":"https://api.github.com/users/perryibm/orgs","repos_url":"https://api.github.com/users/perryibm/repos","events_url":"https://api.github.com/users/perryibm/events{/privacy}","received_events_url":"https://api.github.com/users/perryibm/received_events","type":"User","site_admin":false},"assignees":[{"login":"perryibm","id":14339749,"avatar_url":"https://avatars.githubusercontent.com/u/14339749?v=3","gravatar_id":"","url":"https://api.github.com/users/perryibm","html_url":"https://github.com/perryibm","followers_url":"https://api.github.com/users/perryibm/followers","following_url":"https://api.github.com/users/perryibm/following{/other_user}","gists_url":"https://api.github.com/users/perryibm/gists{/gist_id}","starred_url":"https://api.github.com/users/perryibm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/perryibm/subscriptions","organizations_url":"https://api.github.com/users/perryibm/orgs","repos_url":"https://api.github.com/users/perryibm/repos","events_url":"https://api.github.com/users/perryibm/events{/privacy}","received_events_url":"https://api.github.com/users/perryibm/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2016-08-19T19:57:30Z","updated_at":"2016-08-19T19:57:30Z","closed_at":null,"body":"@domdom82 @mbehrendt @rabbah @sjfink\r\n\r\nCurrently, pre-warmed container and container reuse are key tactics to achieve good performance.  On the former front the core sharing work will be contributing to improving this.  On the second front, I propose we extend container reuse so that it activate when just the subject (ie user) repeats rather than when the subject+action repeat.\r\n\r\nThe idea is that while the number of users+action can grow very quickly, the number of users is likely to be under more control and exhibit better locality.   The upside is performance (latency and throughput).  Here are the potential downsides or considerations:\r\n\r\n1. Security.  This is the biggest one.  Is this proposal any worse fundamentally than reusing the container for the same action?\r\n2. Invocation sequence.  When the action changes, there are 3 ways to initiate a change.\r\n\r\n- Run `/init` again in the same process.\r\n- Cleanse the node process more thoroughly or possibly use its VM facility\r\n- Start a new node process (assuming this is lighter weight than starting a new container)\r\n\r\n"}}
{"actor":{"display_login":"perryibm"}}