{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/comments/168899880","pull_request_review_id":97351782,"id":168899880,"diff_hunk":"@@ -247,6 +250,46 @@ public void readRowsAsync(Query query, ResponseObserver<Row> observer) {\n     return stub.createReadRowsCallable(rowAdapter);\n   }\n \n+  /**\n+   * Convenience method to asynchronously mutate a single row atomically. Cells already present in\n+   * the row are left unchanged unless explicitly changed by the {@link RowMutation}.\n+   *\n+   * <p>Sample code:\n+   *\n+   * <pre>{@code\n+   * InstanceName instanceName = InstanceName.of(\"[PROJECT]\", \"[INSTANCE]\");\n+   * try (BigtableClient bigtableClient = BigtableClient.create(instanceName)) {\n+   *   RowMutation mutation = RowMutation.create(\"[TABLE]\", \"[ROW KEY]\")\n+   *     .setCell(\"[FAMILY NAME]\", \"[QUALIFIER]\", \"[VALUE]\");\n+   *\n+   *   ApitFuture<Void> future = bigtableClient.mutateRow(mutation);\n+   * }\n+   * }</pre>\n+   */\n+  public ApiFuture<Void> mutateRow(RowMutation rowMutation) {","path":"google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BigtableDataClient.java","position":28,"original_position":39,"commit_id":"2f479675235f0665241fe658cb8a15497a0b0316","original_commit_id":"9216a0ece22571a349f0d23b9fb1291e90226a0f","user":{"login":"igorbernstein2","id":23526194,"avatar_url":"https://avatars3.githubusercontent.com/u/23526194?v=4","gravatar_id":"","url":"https://api.github.com/users/igorbernstein2","html_url":"https://github.com/igorbernstein2","followers_url":"https://api.github.com/users/igorbernstein2/followers","following_url":"https://api.github.com/users/igorbernstein2/following{/other_user}","gists_url":"https://api.github.com/users/igorbernstein2/gists{/gist_id}","starred_url":"https://api.github.com/users/igorbernstein2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igorbernstein2/subscriptions","organizations_url":"https://api.github.com/users/igorbernstein2/orgs","repos_url":"https://api.github.com/users/igorbernstein2/repos","events_url":"https://api.github.com/users/igorbernstein2/events{/privacy}","received_events_url":"https://api.github.com/users/igorbernstein2/received_events","type":"User","site_admin":false},"body":"This will require changing existing methods, so I would like to address this rename in a separate PR I created an issue to track it:\r\n\r\nhttps://github.com/GoogleCloudPlatform/google-cloud-java/issues/2917","created_at":"2018-02-17T00:06:49Z","updated_at":"2018-02-17T00:06:49Z","html_url":"https://github.com/GoogleCloudPlatform/google-cloud-java/pull/2861#discussion_r168899880","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/2861","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/comments/168899880"},"html":{"href":"https://github.com/GoogleCloudPlatform/google-cloud-java/pull/2861#discussion_r168899880"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/2861"}},"in_reply_to_id":168527436},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/2861","id":167306700,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-java/pull/2861","diff_url":"https://github.com/GoogleCloudPlatform/google-cloud-java/pull/2861.diff","patch_url":"https://github.com/GoogleCloudPlatform/google-cloud-java/pull/2861.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/issues/2861","number":2861,"state":"open","locked":false,"title":"Bigtable: 04. Surface: MutateRow","user":{"login":"igorbernstein2","id":23526194,"avatar_url":"https://avatars3.githubusercontent.com/u/23526194?v=4","gravatar_id":"","url":"https://api.github.com/users/igorbernstein2","html_url":"https://github.com/igorbernstein2","followers_url":"https://api.github.com/users/igorbernstein2/followers","following_url":"https://api.github.com/users/igorbernstein2/following{/other_user}","gists_url":"https://api.github.com/users/igorbernstein2/gists{/gist_id}","starred_url":"https://api.github.com/users/igorbernstein2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igorbernstein2/subscriptions","organizations_url":"https://api.github.com/users/igorbernstein2/orgs","repos_url":"https://api.github.com/users/igorbernstein2/repos","events_url":"https://api.github.com/users/igorbernstein2/events{/privacy}","received_events_url":"https://api.github.com/users/igorbernstein2/received_events","type":"User","site_admin":false},"body":"Adds the surface to wrap Mutate RPC. The surface wraps the MutationRow Request & Response and adds a common mutation api to be used with CheckAndMutateRow & the bulk MutateRows rpcs.\r\n\r\nThis PR contains a copy of Range from https://github.com/GoogleCloudPlatform/google-cloud-java/pull/2849.\r\n\r\nThis has been reviewed Kevin. However some things have changed since the original review:\r\n- The original code was adapted to use the StubSettings\r\n- static import of Truth.assertThat","created_at":"2018-02-06T02:37:35Z","updated_at":"2018-02-17T00:06:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d00acd74e8b01752fbe81554e4c99471528e2b74","assignee":null,"assignees":[],"requested_reviewers":[{"login":"pongad","id":1617025,"avatar_url":"https://avatars1.githubusercontent.com/u/1617025?v=4","gravatar_id":"","url":"https://api.github.com/users/pongad","html_url":"https://github.com/pongad","followers_url":"https://api.github.com/users/pongad/followers","following_url":"https://api.github.com/users/pongad/following{/other_user}","gists_url":"https://api.github.com/users/pongad/gists{/gist_id}","starred_url":"https://api.github.com/users/pongad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pongad/subscriptions","organizations_url":"https://api.github.com/users/pongad/orgs","repos_url":"https://api.github.com/users/pongad/repos","events_url":"https://api.github.com/users/pongad/events{/privacy}","received_events_url":"https://api.github.com/users/pongad/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":175662188,"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/labels/cla:%20yes","name":"cla: yes","color":"c2e0c6","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/2861/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/2861/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/issues/2861/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/statuses/2f479675235f0665241fe658cb8a15497a0b0316","head":{"label":"igorbernstein2:04-surface-mutate-row","ref":"04-surface-mutate-row","sha":"2f479675235f0665241fe658cb8a15497a0b0316","user":{"login":"igorbernstein2","id":23526194,"avatar_url":"https://avatars3.githubusercontent.com/u/23526194?v=4","gravatar_id":"","url":"https://api.github.com/users/igorbernstein2","html_url":"https://github.com/igorbernstein2","followers_url":"https://api.github.com/users/igorbernstein2/followers","following_url":"https://api.github.com/users/igorbernstein2/following{/other_user}","gists_url":"https://api.github.com/users/igorbernstein2/gists{/gist_id}","starred_url":"https://api.github.com/users/igorbernstein2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igorbernstein2/subscriptions","organizations_url":"https://api.github.com/users/igorbernstein2/orgs","repos_url":"https://api.github.com/users/igorbernstein2/repos","events_url":"https://api.github.com/users/igorbernstein2/events{/privacy}","received_events_url":"https://api.github.com/users/igorbernstein2/received_events","type":"User","site_admin":false},"repo":{"id":115758265,"name":"google-cloud-java","full_name":"igorbernstein2/google-cloud-java","owner":{"login":"igorbernstein2","id":23526194,"avatar_url":"https://avatars3.githubusercontent.com/u/23526194?v=4","gravatar_id":"","url":"https://api.github.com/users/igorbernstein2","html_url":"https://github.com/igorbernstein2","followers_url":"https://api.github.com/users/igorbernstein2/followers","following_url":"https://api.github.com/users/igorbernstein2/following{/other_user}","gists_url":"https://api.github.com/users/igorbernstein2/gists{/gist_id}","starred_url":"https://api.github.com/users/igorbernstein2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igorbernstein2/subscriptions","organizations_url":"https://api.github.com/users/igorbernstein2/orgs","repos_url":"https://api.github.com/users/igorbernstein2/repos","events_url":"https://api.github.com/users/igorbernstein2/events{/privacy}","received_events_url":"https://api.github.com/users/igorbernstein2/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/igorbernstein2/google-cloud-java","description":"Google Cloud Client Library for Java","fork":true,"url":"https://api.github.com/repos/igorbernstein2/google-cloud-java","forks_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/forks","keys_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/keys{/key_id}","collaborators_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/teams","hooks_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/hooks","issue_events_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/issues/events{/number}","events_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/events","assignees_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/assignees{/user}","branches_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/branches{/branch}","tags_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/tags","blobs_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/git/refs{/sha}","trees_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/git/trees{/sha}","statuses_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/statuses/{sha}","languages_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/languages","stargazers_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/stargazers","contributors_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/contributors","subscribers_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/subscribers","subscription_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/subscription","commits_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/commits{/sha}","git_commits_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/git/commits{/sha}","comments_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/comments{/number}","issue_comment_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/issues/comments{/number}","contents_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/contents/{+path}","compare_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/compare/{base}...{head}","merges_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/merges","archive_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/downloads","issues_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/issues{/number}","pulls_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/pulls{/number}","milestones_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/milestones{/number}","notifications_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/labels{/name}","releases_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/releases{/id}","deployments_url":"https://api.github.com/repos/igorbernstein2/google-cloud-java/deployments","created_at":"2017-12-29T22:26:47Z","updated_at":"2017-12-29T22:26:54Z","pushed_at":"2018-02-16T13:53:19Z","git_url":"git://github.com/igorbernstein2/google-cloud-java.git","ssh_url":"git@github.com:igorbernstein2/google-cloud-java.git","clone_url":"https://github.com/igorbernstein2/google-cloud-java.git","svn_url":"https://github.com/igorbernstein2/google-cloud-java","homepage":"https://googlecloudplatform.github.io/google-cloud-java/","size":238825,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"937e49d7159c9327255e167f6339c51bb7372c37","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":26181278,"name":"google-cloud-java","full_name":"GoogleCloudPlatform/google-cloud-java","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-java","description":"Google Cloud Client Library for Java","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/deployments","created_at":"2014-11-04T17:57:16Z","updated_at":"2018-02-15T10:17:07Z","pushed_at":"2018-02-16T13:53:21Z","git_url":"git://github.com/GoogleCloudPlatform/google-cloud-java.git","ssh_url":"git@github.com:GoogleCloudPlatform/google-cloud-java.git","clone_url":"https://github.com/GoogleCloudPlatform/google-cloud-java.git","svn_url":"https://github.com/GoogleCloudPlatform/google-cloud-java","homepage":"https://googlecloudplatform.github.io/google-cloud-java/","size":249689,"stargazers_count":560,"watchers_count":560,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":375,"mirror_url":null,"archived":false,"open_issues_count":61,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":375,"open_issues":61,"watchers":560,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/2861"},"html":{"href":"https://github.com/GoogleCloudPlatform/google-cloud-java/pull/2861"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/issues/2861"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/issues/2861/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/2861/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/pulls/2861/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-java/statuses/2f479675235f0665241fe658cb8a15497a0b0316"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"igorbernstein2"}}