From a21367edf71d90cab6fe39eed19a40e58c9dc454 Mon Sep 17 00:00:00 2001 From: Hector Castejon Diaz Date: Thu, 19 Mar 2026 09:05:47 +0000 Subject: [PATCH] Fix GetWorkspaceClient to clone config for unified hosts Port of Go SDK #1517. Previously getWorkspaceClient() mutated the AccountClient's own config when setting workspaceId for unified hosts, causing stale state on subsequent calls. Now clones the config instead. Co-authored-by: Isaac --- .../src/main/java/com/databricks/sdk/AccountClient.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/AccountClient.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/AccountClient.java index 28a9ee5d7..cda884530 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/AccountClient.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/AccountClient.java @@ -1131,10 +1131,11 @@ public DatabricksConfig config() { } public WorkspaceClient getWorkspaceClient(Workspace workspace) { - // For unified hosts, reuse the same host and set workspace ID + // For unified hosts, clone config and set workspace ID if (this.config.getHostType() == HostType.UNIFIED) { - this.config.setWorkspaceId(String.valueOf(workspace.getWorkspaceId())); - return new WorkspaceClient(this.config); + DatabricksConfig workspaceConfig = this.config.clone(); + workspaceConfig.setWorkspaceId(String.valueOf(workspace.getWorkspaceId())); + return new WorkspaceClient(workspaceConfig); } // For traditional account hosts, get workspace deployment URL