{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/540","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/540/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/540/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/540/events","html_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/540","id":125977588,"number":540,"title":"Add support for BigQuery resumable uploads via a write channel","user":{"login":"mziccard","id":450933,"avatar_url":"https://avatars.githubusercontent.com/u/450933?v=3","gravatar_id":"","url":"https://api.github.com/users/mziccard","html_url":"https://github.com/mziccard","followers_url":"https://api.github.com/users/mziccard/followers","following_url":"https://api.github.com/users/mziccard/following{/other_user}","gists_url":"https://api.github.com/users/mziccard/gists{/gist_id}","starred_url":"https://api.github.com/users/mziccard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mziccard/subscriptions","organizations_url":"https://api.github.com/users/mziccard/orgs","repos_url":"https://api.github.com/users/mziccard/repos","events_url":"https://api.github.com/users/mziccard/events{/privacy}","received_events_url":"https://api.github.com/users/mziccard/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/labels/bigquery","name":"bigquery","color":"0052cc"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/labels/cla:%20yes","name":"cla: yes","color":"009800"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/labels/core","name":"core","color":"207de5"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/labels/storage","name":"storage","color":"f7c6c7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-11T16:09:32Z","updated_at":"2016-01-13T16:44:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/pulls/540","html_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/540","diff_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/540.diff","patch_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/540.patch"},"body":"This PR adds support to BigQuery for inserts that use [resumable upload](https://cloud.google.com/bigquery/loading-data-post-request#resumable) using a write channel interface (different from #534).\r\n\r\nMain changes are:\r\n- Move `BlobWriteChannel` and `BlobReadChannel` to core module (the latter for consistency) \r\n- Rename `BlobWriteChannel` and `BlobReadChannel` to `WriteChannel` and `ReadChannel`\r\n- Add abstract class `BaseWriteChannel `implementing entity-agnostic channel functionality\r\n- Add `BlobWriteChannel` and `BlobReadChannel` implementations to `gcloud-java-storage`\r\n- Add `LoadConfiguration` and modify `LoadJobInfo` to take configuration as a parameter\r\n- Add `BigQuery.writer` method to return a write channel given a `LoadConfiguration`\r\n- Add `BigQueryRpc.open` and `.write` methods to implement write channel\r\n- Add `TableDataWriteChannel` class to support bigquery resumable streaming inserts\r\n- Add unit and integration tests\r\n- Update bigquery example with load-data action"},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/comments/171358926","html_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/540#issuecomment-171358926","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/540","id":171358926,"user":{"login":"mziccard","id":450933,"avatar_url":"https://avatars.githubusercontent.com/u/450933?v=3","gravatar_id":"","url":"https://api.github.com/users/mziccard","html_url":"https://github.com/mziccard","followers_url":"https://api.github.com/users/mziccard/followers","following_url":"https://api.github.com/users/mziccard/following{/other_user}","gists_url":"https://api.github.com/users/mziccard/gists{/gist_id}","starred_url":"https://api.github.com/users/mziccard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mziccard/subscriptions","organizations_url":"https://api.github.com/users/mziccard/orgs","repos_url":"https://api.github.com/users/mziccard/repos","events_url":"https://api.github.com/users/mziccard/events{/privacy}","received_events_url":"https://api.github.com/users/mziccard/received_events","type":"User","site_admin":false},"created_at":"2016-01-13T16:44:37Z","updated_at":"2016-01-13T16:44:37Z","body":"@ajkannan Thanks for the feedback, I fixed the issues in place"}}