lib/fluent/plugin/bigquery/writer.rb in fluent-plugin-bigquery-0.4.2 vs lib/fluent/plugin/bigquery/writer.rb in fluent-plugin-bigquery-0.4.3

- old
+ new

@@ -111,12 +111,18 @@ end rescue Google::Apis::ServerError, Google::Apis::ClientError, Google::Apis::AuthorizationError => e @client = nil reason = e.respond_to?(:reason) ? e.reason : nil - log.error "tabledata.insertAll API", project_id: project, dataset: dataset, table: table_id, code: e.status_code, message: e.message, reason: reason + error_data = { project_id: project, dataset: dataset, table: table_id, code: e.status_code, message: e.message, reason: reason } + wrapped = Fluent::BigQuery::Error.wrap(e) + if wrapped.retryable? + log.warn "tabledata.insertAll API", error_data + else + log.error "tabledata.insertAll API", error_data + end - raise Fluent::BigQuery::Error.wrap(e) + raise wrapped end def create_load_job(chunk_id, project, dataset, table_id, upload_source, fields) configuration = { configuration: {