Skip to content

Commit 20c994d

Browse files
authored
---
yaml --- r: 8909 b: refs/heads/lesv-patch-1 c: 7b15777 h: refs/heads/master i: 8907: 7434eb4
1 parent 42ce54a commit 20c994d

3 files changed

Lines changed: 22 additions & 14 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ refs/tags/v0.22.0: 18b298fe4bfe8ec2f20b0e0bf7ffdcce5cc3c5fe
6666
refs/heads/vam-google-patch-1: d0c8fee3a4074d0bf7360ce8c4f7f7223d0ee7b9
6767
refs/heads/vam-google-patch-CODEOWNERS: 2ac1616e25229e51d08a984708ef1918f91a35ee
6868
refs/heads/danoscarmike-patch-1: 7342a9916bce4ed00002c7202e2a16c5d46afaea
69-
refs/heads/lesv-patch-1: 0aac9504444db2cfdbc5df7ce22082b60ae1781a
69+
refs/heads/lesv-patch-1: 7b157776e88d1fe7c81d0e26e3a3ded64cd986dc
7070
refs/heads/ml-update-branch: 079dd6610017f5c51b9d1938c12d6d55b61513cf
7171
refs/heads/vkedia-patch-2: 7d8241388a9769a5c069334761b06c7012c878e7
7272
refs/heads/vkedia-patch-3: 4d128043acaa7db9160faf439d2ca6104e8a88cb

branches/lesv-patch-1/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/Job.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -253,9 +253,8 @@ public Job waitFor(RetryOption... waitOptions) throws InterruptedException {
253253
*
254254
* <pre>{@code
255255
* Job job = bigquery.create(queryJobInfo);
256-
* job.waitFor();
257-
* QueryResponse response = job.getQueryResults();
258-
* QueryResult result = response.getResult();
256+
* job = job.waitFor();
257+
* QueryResult result = job.getQueryResults();
259258
* for (FieldValueList row : result.iterateAll()) {
260259
* // do something with the data
261260
* }
@@ -268,12 +267,14 @@ public QueryResult getQueryResults(QueryResultsOption... options) {
268267
throw new UnsupportedOperationException(
269268
"Getting query results is supported only for " + Type.QUERY + " jobs");
270269
}
271-
272-
// TODO(pongad): check job stats.state instead.
273-
QueryResponse response = bigquery.getQueryResults(getJobId(), options);
274-
if (!response.jobCompleted()) {
275-
throw new IllegalStateException("the job hasn't completed yet");
270+
if (getStatus().getState() != JobStatus.State.DONE) {
271+
throw new BigQueryException(BigQueryException.UNKNOWN_CODE, "the job hasn't completed yet");
276272
}
273+
if (getStatus().getError() != null) {
274+
throw new BigQueryException(
275+
BigQueryException.UNKNOWN_CODE, "job completed with error", getStatus().getError());
276+
}
277+
QueryResponse response = bigquery.getQueryResults(getJobId(), options);
277278
return response.getResult();
278279
}
279280

branches/lesv-patch-1/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/BigQueryImplTest.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,8 @@ public void testQueryRequestCompleted() throws InterruptedException {
11151115
new com.google.api.services.bigquery.model.Job()
11161116
.setConfiguration(QUERY_JOB_CONFIGURATION_FOR_QUERY.toPb())
11171117
.setJobReference(queryJob.toPb())
1118-
.setId(JOB);
1118+
.setId(JOB)
1119+
.setStatus(new com.google.api.services.bigquery.model.JobStatus().setState("DONE"));
11191120
GetQueryResultsResponse responsePb =
11201121
new GetQueryResultsResponse()
11211122
.setJobReference(queryJob.toPb())
@@ -1163,12 +1164,17 @@ public void testQueryRequestCompleted() throws InterruptedException {
11631164
@Test
11641165
public void testQueryRequestCompletedOnSecondAttempt() throws InterruptedException {
11651166
JobId queryJob = JobId.of(PROJECT, JOB);
1166-
com.google.api.services.bigquery.model.Job jobResponsePb =
1167+
com.google.api.services.bigquery.model.Job jobResponsePb1 =
11671168
new com.google.api.services.bigquery.model.Job()
11681169
.setConfiguration(QUERY_JOB_CONFIGURATION_FOR_QUERY.toPb())
11691170
.setJobReference(queryJob.toPb())
11701171
.setId(JOB);
11711172

1173+
com.google.api.services.bigquery.model.Job jobResponsePb2 =
1174+
jobResponsePb1
1175+
.clone()
1176+
.setStatus(new com.google.api.services.bigquery.model.JobStatus().setState("DONE"));
1177+
11721178
GetQueryResultsResponse responsePb1 =
11731179
new GetQueryResultsResponse()
11741180
.setJobReference(queryJob.toPb())
@@ -1185,8 +1191,9 @@ public void testQueryRequestCompletedOnSecondAttempt() throws InterruptedExcepti
11851191
.setTotalRows(BigInteger.valueOf(1L));
11861192

11871193
EasyMock.expect(
1188-
bigqueryRpcMock.create(JOB_INFO.toPb(), Collections.<BigQueryRpc.Option, Object>emptyMap()))
1189-
.andReturn(jobResponsePb);
1194+
bigqueryRpcMock.create(
1195+
JOB_INFO.toPb(), Collections.<BigQueryRpc.Option, Object>emptyMap()))
1196+
.andReturn(jobResponsePb1);
11901197

11911198
QueryResultsOption pageSizeOption = QueryResultsOption.pageSize(42L);
11921199
Map<BigQueryRpc.Option, Object> optionMap = Maps.newEnumMap(BigQueryRpc.Option.class);
@@ -1203,7 +1210,7 @@ public void testQueryRequestCompletedOnSecondAttempt() throws InterruptedExcepti
12031210
EasyMock.expect(
12041211
bigqueryRpcMock.getJob(
12051212
PROJECT, JOB, Collections.<BigQueryRpc.Option, Object>emptyMap()))
1206-
.andReturn(jobResponsePb);
1213+
.andReturn(jobResponsePb2);
12071214
EasyMock.expect(
12081215
bigqueryRpcMock.getQueryResults(PROJECT, JOB, optionMap)).andReturn(responsePb2);
12091216

0 commit comments

Comments
 (0)