From dbd607d7e92425b3244c2b167a692a189adaf1dd Mon Sep 17 00:00:00 2001 From: Keshav Dandeva Date: Wed, 29 Apr 2026 19:03:55 +0000 Subject: [PATCH 1/4] chore(bqjdbc): switch connection identifier to UUID --- .../com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java index c27ec67e4560..2eaf8e55ce97 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java @@ -16,8 +16,8 @@ package com.google.cloud.bigquery.jdbc; +import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicLong; /** * Lightweight MDC implementation for the BigQuery JDBC driver using InheritableThreadLocal. @@ -25,7 +25,6 @@ * instance. */ class BigQueryJdbcMdc { - private static final AtomicLong nextId = new AtomicLong(1); private static final ConcurrentHashMap> instanceLocals = new ConcurrentHashMap<>(); private static final ConcurrentHashMap instanceIds = @@ -41,8 +40,7 @@ static MdcCloseable registerInstance(BigQueryConnection connection, String id) { instanceIds.computeIfAbsent( connection, k -> { - String suffix = - (id != null && !id.isEmpty()) ? id : String.valueOf(nextId.getAndIncrement()); + String suffix = (id != null && !id.isEmpty()) ? id : UUID.randomUUID().toString(); return "JdbcConnection-" + suffix; }); From 5bab5b111ed28a74f3e9cbff8dad82ad562d7c0f Mon Sep 17 00:00:00 2001 From: Keshav Dandeva Date: Thu, 30 Apr 2026 12:20:27 +0000 Subject: [PATCH 2/4] chore: add timstamp to connection id --- .../cloud/bigquery/jdbc/BigQueryConnection.java | 4 +--- .../google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java | 12 ++++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java index 822b4e282f74..42312acd6499 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java @@ -61,7 +61,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicLong; /** * An implementation of {@link java.sql.Connection} for establishing a connection with BigQuery and @@ -74,7 +73,6 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { private final BigQueryJdbcCustomLogger LOG = new BigQueryJdbcCustomLogger(this.toString()); String connectionClassName = this.toString(); private final String connectionId; - private static final AtomicLong connectionIdCounter = new AtomicLong(1); private static final String DEFAULT_JDBC_TOKEN_VALUE = "Google-BigQuery-JDBC-Driver"; private static final String DEFAULT_VERSION = "0.0.0"; private HeaderProvider headerProvider; @@ -149,7 +147,7 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { } BigQueryConnection(String url, DataSource ds) throws IOException { - this.connectionId = String.valueOf(connectionIdCounter.getAndIncrement()); + this.connectionId = BigQueryJdbcMdc.generateConnectionId(); try (BigQueryJdbcMdc.MdcCloseable mdc = BigQueryJdbcMdc.registerInstance(this, this.connectionId)) { LOG.finest("++enter++"); diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java index 2eaf8e55ce97..9cc35d48a6a3 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java @@ -16,6 +16,8 @@ package com.google.cloud.bigquery.jdbc; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; @@ -34,14 +36,20 @@ class BigQueryJdbcMdc { private static final InheritableThreadLocal currentConnectionId = new InheritableThreadLocal<>(); + static String generateConnectionId() { + String timestamp = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd-HHmmss")); + String shortUuid = UUID.randomUUID().toString().substring(0, 8); + return timestamp + "-" + shortUuid; + } + static MdcCloseable registerInstance(BigQueryConnection connection, String id) { if (connection != null) { String cleanId = instanceIds.computeIfAbsent( connection, k -> { - String suffix = (id != null && !id.isEmpty()) ? id : UUID.randomUUID().toString(); - return "JdbcConnection-" + suffix; + String baseId = (id != null && !id.isEmpty()) ? id : generateConnectionId(); + return "JdbcConnection-" + baseId; }); currentConnectionId.set(cleanId); From ad0e558b0b4fb6874d8eba5ee3babff0858eff25 Mon Sep 17 00:00:00 2001 From: Keshav Dandeva Date: Thu, 30 Apr 2026 16:36:44 +0000 Subject: [PATCH 3/4] chore: refactor log file name and tests --- .../bigquery/jdbc/BigQueryConnection.java | 3 +- .../cloud/bigquery/jdbc/BigQueryJdbcMdc.java | 12 ++----- .../jdbc/PerConnectionFileHandler.java | 10 +++++- .../bigquery/jdbc/BigQueryJdbcMdcTest.java | 20 +++++------ .../jdbc/PerConnectionFileHandlerTest.java | 36 ++++++++++++------- 5 files changed, 46 insertions(+), 35 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java index 42312acd6499..57423405d90a 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java @@ -58,6 +58,7 @@ import java.util.Map; import java.util.Properties; import java.util.Set; +import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; @@ -147,7 +148,7 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { } BigQueryConnection(String url, DataSource ds) throws IOException { - this.connectionId = BigQueryJdbcMdc.generateConnectionId(); + this.connectionId = UUID.randomUUID().toString(); try (BigQueryJdbcMdc.MdcCloseable mdc = BigQueryJdbcMdc.registerInstance(this, this.connectionId)) { LOG.finest("++enter++"); diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java index 9cc35d48a6a3..24d2bae8788d 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java @@ -16,8 +16,6 @@ package com.google.cloud.bigquery.jdbc; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; @@ -36,20 +34,14 @@ class BigQueryJdbcMdc { private static final InheritableThreadLocal currentConnectionId = new InheritableThreadLocal<>(); - static String generateConnectionId() { - String timestamp = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd-HHmmss")); - String shortUuid = UUID.randomUUID().toString().substring(0, 8); - return timestamp + "-" + shortUuid; - } - static MdcCloseable registerInstance(BigQueryConnection connection, String id) { if (connection != null) { String cleanId = instanceIds.computeIfAbsent( connection, k -> { - String baseId = (id != null && !id.isEmpty()) ? id : generateConnectionId(); - return "JdbcConnection-" + baseId; + String baseId = (id != null && !id.isEmpty()) ? id : UUID.randomUUID().toString(); + return "BQ-JDBC-" + baseId; }); currentConnectionId.set(cleanId); diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandler.java b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandler.java index 6048d42eac31..1d6c177537e8 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandler.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandler.java @@ -20,6 +20,8 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.FileHandler; import java.util.logging.Handler; @@ -53,7 +55,13 @@ class PerConnectionFileHandler extends Handler { } private String getLogFilePath(String id) { - return baseLogPath.resolve("BigQuery-" + id + ".log").toString(); + String uuid = id; + if (id.startsWith("BQ-JDBC-")) { + uuid = id.substring("BQ-JDBC-".length()); + } + String timestamp = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); + String shortUuid = uuid.length() >= 4 ? uuid.substring(0, 4) : uuid; + return baseLogPath.resolve("BQ-JDBC-" + timestamp + "-" + shortUuid + ".log").toString(); } private FileHandler createFileHandler(String id) { diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java b/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java index 70cb56a53f10..5888ffa0b03f 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java @@ -47,18 +47,18 @@ public void tearDown() { @Test public void testRegisterAndRetrieveConnectionId() { BigQueryJdbcMdc.registerInstance(mockConnection1, "123"); - assertEquals("JdbcConnection-123", BigQueryJdbcMdc.getConnectionId()); + assertEquals("BQ-JDBC-123", BigQueryJdbcMdc.getConnectionId()); } @Test public void testRemoveInstance() { BigQueryJdbcMdc.registerInstance(mockConnection1, "1"); - assertEquals("JdbcConnection-1", BigQueryJdbcMdc.getConnectionId()); + assertEquals("BQ-JDBC-1", BigQueryJdbcMdc.getConnectionId()); BigQueryJdbcMdc.removeInstance(mockConnection1); // Note: removeInstance does not clear currentConnectionId on the current thread // based on current implementation. - assertEquals("JdbcConnection-1", BigQueryJdbcMdc.getConnectionId()); + assertEquals("BQ-JDBC-1", BigQueryJdbcMdc.getConnectionId()); BigQueryJdbcMdc.clear(); assertNull(BigQueryJdbcMdc.getConnectionId()); @@ -67,7 +67,7 @@ public void testRemoveInstance() { @Test public void testClearContext() { BigQueryJdbcMdc.registerInstance(mockConnection1, "456"); - assertEquals("JdbcConnection-456", BigQueryJdbcMdc.getConnectionId()); + assertEquals("BQ-JDBC-456", BigQueryJdbcMdc.getConnectionId()); BigQueryJdbcMdc.clear(); assertNull(BigQueryJdbcMdc.getConnectionId()); @@ -76,7 +76,7 @@ public void testClearContext() { @Test public void testThreadInheritance() throws InterruptedException { BigQueryJdbcMdc.registerInstance(mockConnection1, "parent"); - assertEquals("JdbcConnection-parent", BigQueryJdbcMdc.getConnectionId()); + assertEquals("BQ-JDBC-parent", BigQueryJdbcMdc.getConnectionId()); AtomicReference childConnectionId = new AtomicReference<>(); CountDownLatch latch = new CountDownLatch(1); @@ -90,7 +90,7 @@ public void testThreadInheritance() throws InterruptedException { childThread.start(); assertTrue(latch.await(5, TimeUnit.SECONDS)); - assertEquals("JdbcConnection-parent", childConnectionId.get()); + assertEquals("BQ-JDBC-parent", childConnectionId.get()); } @Test @@ -144,17 +144,17 @@ public void testThreadIsolation() throws InterruptedException { assertTrue(testFinished.await(5, TimeUnit.SECONDS)); - assertEquals("JdbcConnection-A", threadAIdBeforeB.get()); + assertEquals("BQ-JDBC-A", threadAIdBeforeB.get()); assertNull(threadBIdBeforeRegister.get()); - assertEquals("JdbcConnection-B", threadBIdAfterRegister.get()); - assertEquals("JdbcConnection-A", threadAIdAfterB.get()); + assertEquals("BQ-JDBC-B", threadBIdAfterRegister.get()); + assertEquals("BQ-JDBC-A", threadAIdAfterB.get()); } @Test public void testMdcCloseableClearsContext() { try (BigQueryJdbcMdc.MdcCloseable mdc = BigQueryJdbcMdc.registerInstance(mockConnection1, "789")) { - assertEquals("JdbcConnection-789", BigQueryJdbcMdc.getConnectionId()); + assertEquals("BQ-JDBC-789", BigQueryJdbcMdc.getConnectionId()); } assertNull(BigQueryJdbcMdc.getConnectionId()); } diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandlerTest.java b/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandlerTest.java index 94f8b4f5e6b2..f905fa80fe5a 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandlerTest.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandlerTest.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; +import java.util.Optional; import java.util.logging.Level; import java.util.logging.LogRecord; import org.junit.jupiter.api.AfterEach; @@ -51,10 +52,18 @@ public void tearDown() { BigQueryJdbcMdc.clear(); } + private Optional findLogFile(String suffix) throws IOException { + return Files.list(tempDir) + .filter( + p -> + p.getFileName().toString().startsWith("BQ-JDBC-") + && p.getFileName().toString().endsWith(suffix)) + .findFirst(); + } + @Test - public void testInitialization() { - Path defaultLog = tempDir.resolve("BigQuery-Jdbc-default.log"); - assertTrue(Files.exists(defaultLog)); + public void testInitialization() throws IOException { + assertTrue(findLogFile("-Jdbc.log").isPresent()); } @Test @@ -63,8 +72,9 @@ public void testPublishDefault() throws IOException { handler.publish(record); handler.flush(); - Path defaultLog = tempDir.resolve("BigQuery-Jdbc-default.log"); - String content = new String(Files.readAllBytes(defaultLog)); + Optional defaultLog = findLogFile("-Jdbc.log"); + assertTrue(defaultLog.isPresent()); + String content = new String(Files.readAllBytes(defaultLog.get())); assertTrue(content.contains("Test message default")); } @@ -76,24 +86,24 @@ public void testPublishConnectionSpecific() throws IOException { handler.publish(record); handler.flush(); - Path connLog = tempDir.resolve("BigQuery-JdbcConnection-123.log"); - assertTrue(Files.exists(connLog)); - String content = new String(Files.readAllBytes(connLog)); + Optional connLog = findLogFile("-123.log"); + assertTrue(connLog.isPresent()); + String content = new String(Files.readAllBytes(connLog.get())); assertTrue(content.contains("Test message connection 123")); } @Test - public void testCloseHandler() { + public void testCloseHandler() throws IOException { BigQueryJdbcMdc.registerInstance(mockConnection, "456"); LogRecord record = new LogRecord(Level.INFO, "Test message connection 456"); handler.publish(record); handler.flush(); - Path connLog = tempDir.resolve("BigQuery-JdbcConnection-456.log"); - assertTrue(Files.exists(connLog)); + Optional connLog = findLogFile("-456.log"); + assertTrue(connLog.isPresent()); - handler.closeHandler("JdbcConnection-456"); - assertTrue(Files.exists(connLog)); + handler.closeHandler("BQ-JDBC-456"); + assertTrue(Files.exists(connLog.get())); } } From 68ab5ab2fe88947d2e913cc42420dcde27e76951 Mon Sep 17 00:00:00 2001 From: Keshav Dandeva Date: Mon, 4 May 2026 11:43:59 +0000 Subject: [PATCH 4/4] chore: remove prefix form internal logs --- .../cloud/bigquery/jdbc/BigQueryJdbcMdc.java | 2 +- .../bigquery/jdbc/BigQueryJdbcMdcTest.java | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java index 24d2bae8788d..12ea04c30628 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java @@ -41,7 +41,7 @@ static MdcCloseable registerInstance(BigQueryConnection connection, String id) { connection, k -> { String baseId = (id != null && !id.isEmpty()) ? id : UUID.randomUUID().toString(); - return "BQ-JDBC-" + baseId; + return baseId; }); currentConnectionId.set(cleanId); diff --git a/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java b/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java index 5888ffa0b03f..63c5883fd9c5 100644 --- a/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java +++ b/java-bigquery/google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java @@ -47,18 +47,18 @@ public void tearDown() { @Test public void testRegisterAndRetrieveConnectionId() { BigQueryJdbcMdc.registerInstance(mockConnection1, "123"); - assertEquals("BQ-JDBC-123", BigQueryJdbcMdc.getConnectionId()); + assertEquals("123", BigQueryJdbcMdc.getConnectionId()); } @Test public void testRemoveInstance() { BigQueryJdbcMdc.registerInstance(mockConnection1, "1"); - assertEquals("BQ-JDBC-1", BigQueryJdbcMdc.getConnectionId()); + assertEquals("1", BigQueryJdbcMdc.getConnectionId()); BigQueryJdbcMdc.removeInstance(mockConnection1); // Note: removeInstance does not clear currentConnectionId on the current thread // based on current implementation. - assertEquals("BQ-JDBC-1", BigQueryJdbcMdc.getConnectionId()); + assertEquals("1", BigQueryJdbcMdc.getConnectionId()); BigQueryJdbcMdc.clear(); assertNull(BigQueryJdbcMdc.getConnectionId()); @@ -67,7 +67,7 @@ public void testRemoveInstance() { @Test public void testClearContext() { BigQueryJdbcMdc.registerInstance(mockConnection1, "456"); - assertEquals("BQ-JDBC-456", BigQueryJdbcMdc.getConnectionId()); + assertEquals("456", BigQueryJdbcMdc.getConnectionId()); BigQueryJdbcMdc.clear(); assertNull(BigQueryJdbcMdc.getConnectionId()); @@ -76,7 +76,7 @@ public void testClearContext() { @Test public void testThreadInheritance() throws InterruptedException { BigQueryJdbcMdc.registerInstance(mockConnection1, "parent"); - assertEquals("BQ-JDBC-parent", BigQueryJdbcMdc.getConnectionId()); + assertEquals("parent", BigQueryJdbcMdc.getConnectionId()); AtomicReference childConnectionId = new AtomicReference<>(); CountDownLatch latch = new CountDownLatch(1); @@ -90,7 +90,7 @@ public void testThreadInheritance() throws InterruptedException { childThread.start(); assertTrue(latch.await(5, TimeUnit.SECONDS)); - assertEquals("BQ-JDBC-parent", childConnectionId.get()); + assertEquals("parent", childConnectionId.get()); } @Test @@ -144,17 +144,17 @@ public void testThreadIsolation() throws InterruptedException { assertTrue(testFinished.await(5, TimeUnit.SECONDS)); - assertEquals("BQ-JDBC-A", threadAIdBeforeB.get()); + assertEquals("A", threadAIdBeforeB.get()); assertNull(threadBIdBeforeRegister.get()); - assertEquals("BQ-JDBC-B", threadBIdAfterRegister.get()); - assertEquals("BQ-JDBC-A", threadAIdAfterB.get()); + assertEquals("B", threadBIdAfterRegister.get()); + assertEquals("A", threadAIdAfterB.get()); } @Test public void testMdcCloseableClearsContext() { try (BigQueryJdbcMdc.MdcCloseable mdc = BigQueryJdbcMdc.registerInstance(mockConnection1, "789")) { - assertEquals("BQ-JDBC-789", BigQueryJdbcMdc.getConnectionId()); + assertEquals("789", BigQueryJdbcMdc.getConnectionId()); } assertNull(BigQueryJdbcMdc.getConnectionId()); }