Skip to content

Commit effc8c2

Browse files
authored
Merge pull request #90 from nownabe/error_result
Check error_result to judge job results instead of errors
2 parents 387c70e + e74b50f commit effc8c2

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

lib/embulk/output/bigquery/bigquery_client.rb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -330,10 +330,13 @@ def wait_load(kind, response)
330330
end
331331
end
332332

333-
# cf. http://www.rubydoc.info/github/google/google-api-ruby-client/Google/Apis/BigqueryV2/JobStatus#errors-instance_method
334333
# `errors` returns Array<Google::Apis::BigqueryV2::ErrorProto> if any error exists.
334+
_errors = _response.status.errors
335+
336+
# cf. http://www.rubydoc.info/github/google/google-api-ruby-client/Google/Apis/BigqueryV2/JobStatus#errors-instance_method
337+
# `error_result` returns Google::Apis::BigqueryV2::ErrorProto if job failed.
335338
# Otherwise, this returns nil.
336-
if _errors = _response.status.errors
339+
if _response.status.error_result
337340
msg = "failed during waiting a #{kind} job, get_job(#{@project}, #{job_id}), errors:#{_errors.map(&:to_h)}"
338341
if _errors.any? {|error| error.reason == 'backendError' }
339342
raise BackendError, msg
@@ -347,6 +350,10 @@ def wait_load(kind, response)
347350
end
348351
end
349352

353+
if _errors
354+
Embulk.logger.warn { "embulk-output-bigquery: #{kind} job errors... job_id:[#{job_id}] errors:#{_errors.map(&:to_h)}" }
355+
end
356+
350357
Embulk.logger.info { "embulk-output-bigquery: #{kind} job response... job_id:[#{job_id}] response.statistics:#{_response.statistics.to_h}" }
351358

352359
_response

0 commit comments

Comments
 (0)