From 6437b473f252f54f3932b28fb6c132b03dd06072 Mon Sep 17 00:00:00 2001 From: Keshav Dandeva Date: Fri, 29 May 2026 16:57:36 +0000 Subject: [PATCH 1/3] fix(bigquery): prevent NullPointerException in OTel tracing when JobId is null --- .../src/main/java/com/google/cloud/bigquery/BigQueryImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java index 82f53a738efc..4332bb5c482e 100644 --- a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java +++ b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java @@ -452,7 +452,7 @@ && getOptions().getOpenTelemetryTracer() != null) { getOptions() .getOpenTelemetryTracer() .spanBuilder("com.google.cloud.bigquery.BigQuery.createJob") - .setAllAttributes(jobInfo.getJobId().getOtelAttributes()) + .setAllAttributes(jobInfo.getJobId() != null ? jobInfo.getJobId().getOtelAttributes() : null) .setAllAttributes(otelAttributesFromOptions(options)) .startSpan(); } @@ -2125,7 +2125,7 @@ && getOptions().getOpenTelemetryTracer() != null) { getOptions() .getOpenTelemetryTracer() .spanBuilder("com.google.cloud.bigquery.BigQuery.getQueryResults") - .setAllAttributes(jobId.getOtelAttributes()) + .setAllAttributes(jobId != null ? jobId.getOtelAttributes() : null) .setAllAttributes(otelAttributesFromOptions(options)) .startSpan(); } From 7b09531bae9424ad087d28b26e5380a263427bdc Mon Sep 17 00:00:00 2001 From: Keshav Dandeva Date: Fri, 29 May 2026 17:02:27 +0000 Subject: [PATCH 2/3] chore: address pr feedback --- .../main/java/com/google/cloud/bigquery/BigQueryImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java index 4332bb5c482e..d019c093a8ff 100644 --- a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java +++ b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java @@ -452,7 +452,7 @@ && getOptions().getOpenTelemetryTracer() != null) { getOptions() .getOpenTelemetryTracer() .spanBuilder("com.google.cloud.bigquery.BigQuery.createJob") - .setAllAttributes(jobInfo.getJobId() != null ? jobInfo.getJobId().getOtelAttributes() : null) + .setAllAttributes(jobInfo.getJobId() != null ? jobInfo.getJobId().getOtelAttributes() : Attributes.empty()) .setAllAttributes(otelAttributesFromOptions(options)) .startSpan(); } @@ -2072,7 +2072,7 @@ && getOptions().getOpenTelemetryTracer() != null) { getOptions() .getOpenTelemetryTracer() .spanBuilder("com.google.cloud.bigquery.BigQuery.queryWithTimeout") - .setAllAttributes(jobId != null ? jobId.getOtelAttributes() : null) + .setAllAttributes(jobId != null ? jobId.getOtelAttributes() : Attributes.empty()) .setAllAttributes(otelAttributesFromOptions(options)) .startSpan(); } @@ -2125,7 +2125,7 @@ && getOptions().getOpenTelemetryTracer() != null) { getOptions() .getOpenTelemetryTracer() .spanBuilder("com.google.cloud.bigquery.BigQuery.getQueryResults") - .setAllAttributes(jobId != null ? jobId.getOtelAttributes() : null) + .setAllAttributes(jobId != null ? jobId.getOtelAttributes() : Attributes.empty()) .setAllAttributes(otelAttributesFromOptions(options)) .startSpan(); } From b2a67607d6d353b3110f033ba2397749c43c8ef3 Mon Sep 17 00:00:00 2001 From: Keshav Dandeva Date: Fri, 29 May 2026 17:05:05 +0000 Subject: [PATCH 3/3] lint --- .../main/java/com/google/cloud/bigquery/BigQueryImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java index d019c093a8ff..74c9ce60e84f 100644 --- a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java +++ b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java @@ -452,7 +452,10 @@ && getOptions().getOpenTelemetryTracer() != null) { getOptions() .getOpenTelemetryTracer() .spanBuilder("com.google.cloud.bigquery.BigQuery.createJob") - .setAllAttributes(jobInfo.getJobId() != null ? jobInfo.getJobId().getOtelAttributes() : Attributes.empty()) + .setAllAttributes( + jobInfo.getJobId() != null + ? jobInfo.getJobId().getOtelAttributes() + : Attributes.empty()) .setAllAttributes(otelAttributesFromOptions(options)) .startSpan(); }