{"action":"created","issue":{"url":"https://api.github.com/repos/apache/incubator-openwhisk/issues/3875","repository_url":"https://api.github.com/repos/apache/incubator-openwhisk","labels_url":"https://api.github.com/repos/apache/incubator-openwhisk/issues/3875/labels{/name}","comments_url":"https://api.github.com/repos/apache/incubator-openwhisk/issues/3875/comments","events_url":"https://api.github.com/repos/apache/incubator-openwhisk/issues/3875/events","html_url":"https://github.com/apache/incubator-openwhisk/pull/3875","id":340689716,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAxMDQxMzYz","number":3875,"title":"Throttle the system based on active-ack timeouts.","user":{"login":"markusthoemmes","id":1289147,"node_id":"MDQ6VXNlcjEyODkxNDc=","avatar_url":"https://avatars3.githubusercontent.com/u/1289147?v=4","gravatar_id":"","url":"https://api.github.com/users/markusthoemmes","html_url":"https://github.com/markusthoemmes","followers_url":"https://api.github.com/users/markusthoemmes/followers","following_url":"https://api.github.com/users/markusthoemmes/following{/other_user}","gists_url":"https://api.github.com/users/markusthoemmes/gists{/gist_id}","starred_url":"https://api.github.com/users/markusthoemmes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markusthoemmes/subscriptions","organizations_url":"https://api.github.com/users/markusthoemmes/orgs","repos_url":"https://api.github.com/users/markusthoemmes/repos","events_url":"https://api.github.com/users/markusthoemmes/events{/privacy}","received_events_url":"https://api.github.com/users/markusthoemmes/received_events","type":"User","site_admin":false},"labels":[{"id":401833916,"node_id":"MDU6TGFiZWw0MDE4MzM5MTY=","url":"https://api.github.com/repos/apache/incubator-openwhisk/labels/review","name":"review","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":{"login":"cbickel","id":13397688,"node_id":"MDQ6VXNlcjEzMzk3Njg4","avatar_url":"https://avatars1.githubusercontent.com/u/13397688?v=4","gravatar_id":"","url":"https://api.github.com/users/cbickel","html_url":"https://github.com/cbickel","followers_url":"https://api.github.com/users/cbickel/followers","following_url":"https://api.github.com/users/cbickel/following{/other_user}","gists_url":"https://api.github.com/users/cbickel/gists{/gist_id}","starred_url":"https://api.github.com/users/cbickel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbickel/subscriptions","organizations_url":"https://api.github.com/users/cbickel/orgs","repos_url":"https://api.github.com/users/cbickel/repos","events_url":"https://api.github.com/users/cbickel/events{/privacy}","received_events_url":"https://api.github.com/users/cbickel/received_events","type":"User","site_admin":false},"assignees":[{"login":"cbickel","id":13397688,"node_id":"MDQ6VXNlcjEzMzk3Njg4","avatar_url":"https://avatars1.githubusercontent.com/u/13397688?v=4","gravatar_id":"","url":"https://api.github.com/users/cbickel","html_url":"https://github.com/cbickel","followers_url":"https://api.github.com/users/cbickel/followers","following_url":"https://api.github.com/users/cbickel/following{/other_user}","gists_url":"https://api.github.com/users/cbickel/gists{/gist_id}","starred_url":"https://api.github.com/users/cbickel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cbickel/subscriptions","organizations_url":"https://api.github.com/users/cbickel/orgs","repos_url":"https://api.github.com/users/cbickel/repos","events_url":"https://api.github.com/users/cbickel/events{/privacy}","received_events_url":"https://api.github.com/users/cbickel/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-07-12T15:31:54Z","updated_at":"2018-07-12T18:55:29Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/apache/incubator-openwhisk/pulls/3875","html_url":"https://github.com/apache/incubator-openwhisk/pull/3875","diff_url":"https://github.com/apache/incubator-openwhisk/pull/3875.diff","patch_url":"https://github.com/apache/incubator-openwhisk/pull/3875.patch"},"body":"This is a fairly big change but bear with me!\r\n\r\nToday, we have an arbitrary system-wide limit of maximum concurrent connections. In general that is fine, but it doesn't have a direct correlation to what's actually happening in the system.\r\n\r\nThis adds a new state to each monitored invoker: Overloaded. An invoker will go into overloaded state if active-acks are starting to timeout. Eventually, if the system is really overloaded, all Invokers will be in overloaded state which will cause the loadbalancer to return a failure. This failure now results in a `503 - System overloaded` message back to the user.\r\n\r\n## My changes affect the following components\r\n<!--- Select below all system components are affected by your change. -->\r\n<!--- Enter an `x` in all applicable boxes. -->\r\n- [ ] API\r\n- [X] Controller\r\n- [ ] Message Bus (e.g., Kafka)\r\n- [X] Loadbalancer\r\n- [ ] Invoker\r\n- [ ] Intrinsic actions (e.g., sequences, conductors)\r\n- [ ] Data stores (e.g., CouchDB)\r\n- [ ] Tests\r\n- [ ] Deployment\r\n- [ ] CLI\r\n- [ ] General tooling\r\n- [ ] Documentation\r\n\r\n## Types of changes\r\n<!--- What types of changes does your code introduce? Use `x` in all the boxes that apply: -->\r\n- [ ] Bug fix (generally a non-breaking change which closes an issue).\r\n- [X] Enhancement or new feature (adds new functionality).\r\n- [ ] Breaking change (a bug fix or enhancement which changes existing behavior).\r\n\r\n## Checklist:\r\n<!--- Please review the points below which help you make sure you've covered all aspects of the change you're making. -->\r\n\r\n- [X] I signed an [Apache CLA](https://github.com/apache/incubator-openwhisk/blob/master/CONTRIBUTING.md).\r\n- [X] I reviewed the [style guides](https://github.com/apache/incubator-openwhisk/wiki/Contributing:-Git-guidelines#code-readiness) and followed the recommendations (Travis CI will check :).\r\n- [X] I added tests to cover my changes.\r\n- [ ] My changes require further changes to the documentation.\r\n- [X] I updated the documentation where necessary.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/apache/incubator-openwhisk/issues/comments/404614905","html_url":"https://github.com/apache/incubator-openwhisk/pull/3875#issuecomment-404614905","issue_url":"https://api.github.com/repos/apache/incubator-openwhisk/issues/3875","id":404614905,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNDYxNDkwNQ==","user":{"login":"codecov-io","id":8655789,"node_id":"MDQ6VXNlcjg2NTU3ODk=","avatar_url":"https://avatars0.githubusercontent.com/u/8655789?v=4","gravatar_id":"","url":"https://api.github.com/users/codecov-io","html_url":"https://github.com/codecov-io","followers_url":"https://api.github.com/users/codecov-io/followers","following_url":"https://api.github.com/users/codecov-io/following{/other_user}","gists_url":"https://api.github.com/users/codecov-io/gists{/gist_id}","starred_url":"https://api.github.com/users/codecov-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codecov-io/subscriptions","organizations_url":"https://api.github.com/users/codecov-io/orgs","repos_url":"https://api.github.com/users/codecov-io/repos","events_url":"https://api.github.com/users/codecov-io/events{/privacy}","received_events_url":"https://api.github.com/users/codecov-io/received_events","type":"User","site_admin":false},"created_at":"2018-07-12T18:55:29Z","updated_at":"2018-07-12T18:55:29Z","author_association":"NONE","body":"# [Codecov](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875?src=pr&el=h1) Report\n> Merging [#3875](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-openwhisk/commit/3701d2a3ebc51c08d46de578c195a8056f14c067?src=pr&el=desc) will **decrease** coverage by `4.88%`.\n> The diff coverage is `68.05%`.\n\n[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/graphs/tree.svg?width=650&height=150&src=pr&token=l0YmsiSAso)](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875?src=pr&el=tree)\n\n```diff\n@@            Coverage Diff             @@\n##           master    #3875      +/-   ##\n==========================================\n- Coverage   75.56%   70.68%   -4.89%     \n==========================================\n  Files         145      145              \n  Lines        6896     6900       +4     \n  Branches      426      426              \n==========================================\n- Hits         5211     4877     -334     \n- Misses       1685     2023     +338\n```\n\n\n| [Impacted Files](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875?src=pr&el=tree) | Coverage Δ | |\n|---|---|---|\n| [...a/whisk/core/entitlement/ActivationThrottler.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29yZS9jb250cm9sbGVyL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvcmUvZW50aXRsZW1lbnQvQWN0aXZhdGlvblRocm90dGxlci5zY2FsYQ==) | `80% <ø> (ø)` | :arrow_up: |\n| [.../scala/src/main/scala/whisk/core/WhiskConfig.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29tbW9uL3NjYWxhL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvcmUvV2hpc2tDb25maWcuc2NhbGE=) | `91.86% <ø> (-0.14%)` | :arrow_down: |\n| [...src/main/scala/whisk/core/controller/Actions.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29yZS9jb250cm9sbGVyL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvcmUvY29udHJvbGxlci9BY3Rpb25zLnNjYWxh) | `90.35% <0%> (-0.93%)` | :arrow_down: |\n| [.../main/scala/whisk/core/controller/WebActions.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29yZS9jb250cm9sbGVyL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvcmUvY29udHJvbGxlci9XZWJBY3Rpb25zLnNjYWxh) | `87.84% <0%> (-0.7%)` | :arrow_down: |\n| [.../main/scala/whisk/core/controller/Controller.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29yZS9jb250cm9sbGVyL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvcmUvY29udHJvbGxlci9Db250cm9sbGVyLnNjYWxh) | `0% <0%> (ø)` | :arrow_up: |\n| [...on/scala/src/main/scala/whisk/common/Logging.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29tbW9uL3NjYWxhL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvbW1vbi9Mb2dnaW5nLnNjYWxh) | `86.66% <100%> (-0.15%)` | :arrow_down: |\n| [...scala/src/main/scala/whisk/common/RingBuffer.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29tbW9uL3NjYWxhL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvbW1vbi9SaW5nQnVmZmVyLnNjYWxh) | `75% <100%> (ø)` | :arrow_up: |\n| [...e/loadBalancer/ShardingContainerPoolBalancer.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29yZS9jb250cm9sbGVyL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvcmUvbG9hZEJhbGFuY2VyL1NoYXJkaW5nQ29udGFpbmVyUG9vbEJhbGFuY2VyLnNjYWxh) | `29.89% <12.5%> (-1.72%)` | :arrow_down: |\n| [...ain/scala/whisk/core/entitlement/Entitlement.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29yZS9jb250cm9sbGVyL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvcmUvZW50aXRsZW1lbnQvRW50aXRsZW1lbnQuc2NhbGE=) | `78.07% <66.66%> (+1.45%)` | :arrow_up: |\n| [...a/whisk/core/loadBalancer/InvokerSupervision.scala](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree#diff-Y29yZS9jb250cm9sbGVyL3NyYy9tYWluL3NjYWxhL3doaXNrL2NvcmUvbG9hZEJhbGFuY2VyL0ludm9rZXJTdXBlcnZpc2lvbi5zY2FsYQ==) | `84.55% <93.47%> (+1.74%)` | :arrow_up: |\n| ... and [6 more](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875/diff?src=pr&el=tree-more) | |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875?src=pr&el=footer). Last update [3701d2a...cc0b15d](https://codecov.io/gh/apache/incubator-openwhisk/pull/3875?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n"}}
{"actor":{"display_login":"codecov-io"}}