{"action":"created","issue":{"url":"https://api.github.com/repos/apache/flink/issues/1069","labels_url":"https://api.github.com/repos/apache/flink/issues/1069/labels{/name}","comments_url":"https://api.github.com/repos/apache/flink/issues/1069/comments","events_url":"https://api.github.com/repos/apache/flink/issues/1069/events","html_url":"https://github.com/apache/flink/pull/1069","id":103482272,"number":1069,"title":"[FLINK-1725]- New Partitioner for better load balancing for skewed data","user":{"login":"anisnasir","id":2485686,"avatar_url":"https://avatars.githubusercontent.com/u/2485686?v=3","gravatar_id":"","url":"https://api.github.com/users/anisnasir","html_url":"https://github.com/anisnasir","followers_url":"https://api.github.com/users/anisnasir/followers","following_url":"https://api.github.com/users/anisnasir/following{/other_user}","gists_url":"https://api.github.com/users/anisnasir/gists{/gist_id}","starred_url":"https://api.github.com/users/anisnasir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anisnasir/subscriptions","organizations_url":"https://api.github.com/users/anisnasir/orgs","repos_url":"https://api.github.com/users/anisnasir/repos","events_url":"https://api.github.com/users/anisnasir/events{/privacy}","received_events_url":"https://api.github.com/users/anisnasir/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-08-27T11:01:00Z","updated_at":"2015-09-02T14:16:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/flink/pulls/1069","html_url":"https://github.com/apache/flink/pull/1069","diff_url":"https://github.com/apache/flink/pull/1069.diff","patch_url":"https://github.com/apache/flink/pull/1069.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/apache/flink/issues/comments/137096426","html_url":"https://github.com/apache/flink/pull/1069#issuecomment-137096426","issue_url":"https://api.github.com/repos/apache/flink/issues/1069","id":137096426,"user":{"login":"gdfm","id":703859,"avatar_url":"https://avatars.githubusercontent.com/u/703859?v=3","gravatar_id":"","url":"https://api.github.com/users/gdfm","html_url":"https://github.com/gdfm","followers_url":"https://api.github.com/users/gdfm/followers","following_url":"https://api.github.com/users/gdfm/following{/other_user}","gists_url":"https://api.github.com/users/gdfm/gists{/gist_id}","starred_url":"https://api.github.com/users/gdfm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gdfm/subscriptions","organizations_url":"https://api.github.com/users/gdfm/orgs","repos_url":"https://api.github.com/users/gdfm/repos","events_url":"https://api.github.com/users/gdfm/events{/privacy}","received_events_url":"https://api.github.com/users/gdfm/received_events","type":"User","site_admin":false},"created_at":"2015-09-02T14:16:06Z","updated_at":"2015-09-02T14:16:06Z","body":"@tillrohrmann the reason why 2 is a \"magic number\" is the following.\r\nImmagine channels as containers, and the load (the incoming data stream) as a liquid.\r\nWhen a key is split in two channels, it creates a \"bridge\" between these channels.\r\nYou can imagine it as a pipe between the two specific containers that enables sharing the load, and brings the liquid to the same level (this happens thanks to the fact that the new messages are sent to the least loaded of the two containers).\r\nNow, if you have enough of these pipes between pairs of containers, you will effectively establish a network of load sharing among them. Any increase in pressure on one of the containers can be shared across the network effectively, which brings the load balance.\r\nThe trick is to have \"enough\" keys to create enough pipes."}}