{"action":"created","issue":{"url":"https://api.github.com/repos/docker/swarmkit/issues/1156","repository_url":"https://api.github.com/repos/docker/swarmkit","labels_url":"https://api.github.com/repos/docker/swarmkit/issues/1156/labels{/name}","comments_url":"https://api.github.com/repos/docker/swarmkit/issues/1156/comments","events_url":"https://api.github.com/repos/docker/swarmkit/issues/1156/events","html_url":"https://github.com/docker/swarmkit/issues/1156","id":164890408,"number":1156,"title":"Orchestrator does not handle dynamic updates in tasks scaling","user":{"login":"abronan","id":1655859,"avatar_url":"https://avatars.githubusercontent.com/u/1655859?v=3","gravatar_id":"","url":"https://api.github.com/users/abronan","html_url":"https://github.com/abronan","followers_url":"https://api.github.com/users/abronan/followers","following_url":"https://api.github.com/users/abronan/following{/other_user}","gists_url":"https://api.github.com/users/abronan/gists{/gist_id}","starred_url":"https://api.github.com/users/abronan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abronan/subscriptions","organizations_url":"https://api.github.com/users/abronan/orgs","repos_url":"https://api.github.com/users/abronan/repos","events_url":"https://api.github.com/users/abronan/events{/privacy}","received_events_url":"https://api.github.com/users/abronan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/swarmkit/labels/area/orchestration","name":"area/orchestration","color":"fef2c0"},{"url":"https://api.github.com/repos/docker/swarmkit/labels/kind/enhancement","name":"kind/enhancement","color":"E8CAAF"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2016-07-11T17:25:33Z","updated_at":"2016-08-05T01:09:03Z","closed_at":null,"body":"Considering the following scenario using docker integration:\r\n\r\n```\r\n$ docker service scale test=1000\r\n\r\n# Directly after\r\n$ docker service scale test=50\r\n```\r\n\r\nThe orchestrator goes through scheduling the 1000 tasks before scaling down to 50.\r\n\r\nThe orchestrator should dynamically handle that case and only converge on the latest input value (in this case 50). This is risky to assume that any input value is a valid one and we should allow a user to correct a potential mistake, otherwise the cluster can be made slow or unresponsive by providing very high and unreasonable values.\r\n\r\nSee docker/docker#24027 for more context.\r\n\r\n/cc @stevvooe @nishanttotla (couldn't find an issue tracking this but let me know if this looks like a dupllicate)"},"comment":{"url":"https://api.github.com/repos/docker/swarmkit/issues/comments/237730248","html_url":"https://github.com/docker/swarmkit/issues/1156#issuecomment-237730248","issue_url":"https://api.github.com/repos/docker/swarmkit/issues/1156","id":237730248,"user":{"login":"aluzzardi","id":179503,"avatar_url":"https://avatars.githubusercontent.com/u/179503?v=3","gravatar_id":"","url":"https://api.github.com/users/aluzzardi","html_url":"https://github.com/aluzzardi","followers_url":"https://api.github.com/users/aluzzardi/followers","following_url":"https://api.github.com/users/aluzzardi/following{/other_user}","gists_url":"https://api.github.com/users/aluzzardi/gists{/gist_id}","starred_url":"https://api.github.com/users/aluzzardi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aluzzardi/subscriptions","organizations_url":"https://api.github.com/users/aluzzardi/orgs","repos_url":"https://api.github.com/users/aluzzardi/repos","events_url":"https://api.github.com/users/aluzzardi/events{/privacy}","received_events_url":"https://api.github.com/users/aluzzardi/received_events","type":"User","site_admin":false},"created_at":"2016-08-05T01:09:03Z","updated_at":"2016-08-05T01:09:03Z","body":"@aaronlehmann Sorry, I realize how service update and the update supervisor can be confusing.\r\n\r\nForgetting entirely about rolling updates and update supervisor, would it make sense to have the **orchestrator** spawn each reconciliation in its own goroutine?\r\n\r\n1) `docker service scale foo=10000` -> spawn a goroutine\r\n2) `docker service scale foo=10` -> cancel previous goroutine, spawn a new one"}}
{"actor":{"display_login":"aluzzardi"}}