{"action":"opened","issue":{"url":"https://api.github.com/repos/fluo-io/fluo-recipes/issues/45","labels_url":"https://api.github.com/repos/fluo-io/fluo-recipes/issues/45/labels{/name}","comments_url":"https://api.github.com/repos/fluo-io/fluo-recipes/issues/45/comments","events_url":"https://api.github.com/repos/fluo-io/fluo-recipes/issues/45/events","html_url":"https://github.com/fluo-io/fluo-recipes/issues/45","id":125988386,"number":45,"title":"Create HashedRow recipe","user":{"login":"keith-turner","id":1268739,"avatar_url":"https://avatars.githubusercontent.com/u/1268739?v=3","gravatar_id":"","url":"https://api.github.com/users/keith-turner","html_url":"https://github.com/keith-turner","followers_url":"https://api.github.com/users/keith-turner/followers","following_url":"https://api.github.com/users/keith-turner/following{/other_user}","gists_url":"https://api.github.com/users/keith-turner/gists{/gist_id}","starred_url":"https://api.github.com/users/keith-turner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keith-turner/subscriptions","organizations_url":"https://api.github.com/users/keith-turner/orgs","repos_url":"https://api.github.com/users/keith-turner/repos","events_url":"https://api.github.com/users/keith-turner/events{/privacy}","received_events_url":"https://api.github.com/users/keith-turner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-11T16:53:25Z","updated_at":"2016-01-11T16:53:25Z","closed_at":null,"body":"While running a 3 day webindex experiment on EC2 and watching the performance, I came to the conclusion that adding a hash in front of the URI may help evenly spread computation.  This would be done for page data  with the `p:` prefix.  I suspect that some tablets are more popular and receive more conditional mutations, even though they may not have more data after compaction.\r\n\r\nMost applications could easily add a hash to a row, so why have this recipe?  The reason is, is that the recipe would also include mechanism for generating good split points and configuring prefix balancing for the tablets.  Sharing all of this between applications would be valuable.\r\n\r\nI am thinking of the following format for a hashed row.\r\n\r\n```\r\n  <prefix>:<fixed length hash or users row>:<users row>\r\n```\r\n\r\nTablet balancing would configured using the `<prefix>:<fixed length hash>:` portion of the row.  Another conclusion that I came to while running the test is the `p:` prefix needs to be configured for balancing, its currently not.  Implementing this recipe and making webindex use the recipe would solve that problem.\r\n\r\n"}}