{"action":"created","issue":{"url":"https://api.github.com/repos/palantir/atlasdb/issues/724","repository_url":"https://api.github.com/repos/palantir/atlasdb","labels_url":"https://api.github.com/repos/palantir/atlasdb/issues/724/labels{/name}","comments_url":"https://api.github.com/repos/palantir/atlasdb/issues/724/comments","events_url":"https://api.github.com/repos/palantir/atlasdb/issues/724/events","html_url":"https://github.com/palantir/atlasdb/pull/724","id":167499875,"number":724,"title":"Feature/improved column paging","user":{"login":"jeffrey-c","id":20566289,"avatar_url":"https://avatars.githubusercontent.com/u/20566289?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffrey-c","html_url":"https://github.com/jeffrey-c","followers_url":"https://api.github.com/users/jeffrey-c/followers","following_url":"https://api.github.com/users/jeffrey-c/following{/other_user}","gists_url":"https://api.github.com/users/jeffrey-c/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffrey-c/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffrey-c/subscriptions","organizations_url":"https://api.github.com/users/jeffrey-c/orgs","repos_url":"https://api.github.com/users/jeffrey-c/repos","events_url":"https://api.github.com/users/jeffrey-c/events{/privacy}","received_events_url":"https://api.github.com/users/jeffrey-c/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"tmgordeeva","id":14338161,"avatar_url":"https://avatars.githubusercontent.com/u/14338161?v=3","gravatar_id":"","url":"https://api.github.com/users/tmgordeeva","html_url":"https://github.com/tmgordeeva","followers_url":"https://api.github.com/users/tmgordeeva/followers","following_url":"https://api.github.com/users/tmgordeeva/following{/other_user}","gists_url":"https://api.github.com/users/tmgordeeva/gists{/gist_id}","starred_url":"https://api.github.com/users/tmgordeeva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmgordeeva/subscriptions","organizations_url":"https://api.github.com/users/tmgordeeva/orgs","repos_url":"https://api.github.com/users/tmgordeeva/repos","events_url":"https://api.github.com/users/tmgordeeva/events{/privacy}","received_events_url":"https://api.github.com/users/tmgordeeva/received_events","type":"User","site_admin":false},"assignees":[{"login":"tmgordeeva","id":14338161,"avatar_url":"https://avatars.githubusercontent.com/u/14338161?v=3","gravatar_id":"","url":"https://api.github.com/users/tmgordeeva","html_url":"https://github.com/tmgordeeva","followers_url":"https://api.github.com/users/tmgordeeva/followers","following_url":"https://api.github.com/users/tmgordeeva/following{/other_user}","gists_url":"https://api.github.com/users/tmgordeeva/gists{/gist_id}","starred_url":"https://api.github.com/users/tmgordeeva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmgordeeva/subscriptions","organizations_url":"https://api.github.com/users/tmgordeeva/orgs","repos_url":"https://api.github.com/users/tmgordeeva/repos","events_url":"https://api.github.com/users/tmgordeeva/events{/privacy}","received_events_url":"https://api.github.com/users/tmgordeeva/received_events","type":"User","site_admin":false},{"login":"hsaraogi","id":20421615,"avatar_url":"https://avatars.githubusercontent.com/u/20421615?v=3","gravatar_id":"","url":"https://api.github.com/users/hsaraogi","html_url":"https://github.com/hsaraogi","followers_url":"https://api.github.com/users/hsaraogi/followers","following_url":"https://api.github.com/users/hsaraogi/following{/other_user}","gists_url":"https://api.github.com/users/hsaraogi/gists{/gist_id}","starred_url":"https://api.github.com/users/hsaraogi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hsaraogi/subscriptions","organizations_url":"https://api.github.com/users/hsaraogi/orgs","repos_url":"https://api.github.com/users/hsaraogi/repos","events_url":"https://api.github.com/users/hsaraogi/events{/privacy}","received_events_url":"https://api.github.com/users/hsaraogi/received_events","type":"User","site_admin":false}],"milestone":null,"comments":29,"created_at":"2016-07-26T01:08:26Z","updated_at":"2016-09-05T14:11:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/palantir/atlasdb/pulls/724","html_url":"https://github.com/palantir/atlasdb/pull/724","diff_url":"https://github.com/palantir/atlasdb/pull/724.diff","patch_url":"https://github.com/palantir/atlasdb/pull/724.patch"},"body":"Adding a new getRowsColumnRange method that should be more efficient on DbKvs and easier to consume in many situations. This takes a single batch limit for all the rows, instead of a limit per row, and returns all results in a single iterator instead of a visitiable per row. The implementation in DbKvs preloads column counts for each row to figure out exactly how to partition the requests; other implementations delegate to the existing getRowsColumnRange method.\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/palantir/atlasdb/724)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/palantir/atlasdb/issues/comments/244756043","html_url":"https://github.com/palantir/atlasdb/pull/724#issuecomment-244756043","issue_url":"https://api.github.com/repos/palantir/atlasdb/issues/724","id":244756043,"user":{"login":"hsaraogi","id":20421615,"avatar_url":"https://avatars.githubusercontent.com/u/20421615?v=3","gravatar_id":"","url":"https://api.github.com/users/hsaraogi","html_url":"https://github.com/hsaraogi","followers_url":"https://api.github.com/users/hsaraogi/followers","following_url":"https://api.github.com/users/hsaraogi/following{/other_user}","gists_url":"https://api.github.com/users/hsaraogi/gists{/gist_id}","starred_url":"https://api.github.com/users/hsaraogi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hsaraogi/subscriptions","organizations_url":"https://api.github.com/users/hsaraogi/orgs","repos_url":"https://api.github.com/users/hsaraogi/repos","events_url":"https://api.github.com/users/hsaraogi/events{/privacy}","received_events_url":"https://api.github.com/users/hsaraogi/received_events","type":"User","site_admin":false},"created_at":"2016-09-05T14:11:28Z","updated_at":"2016-09-05T14:11:28Z","body":"\n\n\n\n\n\n\n\n*[atlasdb-dbkvs/src/main/java/com/palantir/atlasdb/keyvalue/dbkvs/impl/DbKvs.java, line 625 \\[r6\\]](https://reviewable.io:443/reviews/palantir/atlasdb/724#-KQug-t3mktKgXmPsNax:-KQug-t3mktKgXmPsNay:b-67j7q9) ([raw file](https://github.com/palantir/atlasdb/blob/84e424e0a90b8ce86be3a6b043c23ab9d67e35b0/atlasdb-dbkvs/src/main/java/com/palantir/atlasdb/keyvalue/dbkvs/impl/DbKvs.java#L625)):*\n> ```Java\n>                                                      long timestamp) {\n>         List<byte[]> rowList = ImmutableList.copyOf(rows);\n>         Map<Sha256Hash, byte[]> hashesToBytes = Maps.uniqueIndex(rowList, Sha256Hash::computeHash);\n> ```\n\n``rowHashesToBytes``\n\n---\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/palantir/atlasdb/724)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"hsaraogi"}}