Skip to content

Fix GetWorkspaceClient to clone config for unified hosts#711

Merged
hectorcast-db merged 1 commit intomainfrom
hectorcast-db/stack/port-2-fix-get-workspace-client
Mar 19, 2026
Merged

Fix GetWorkspaceClient to clone config for unified hosts#711
hectorcast-db merged 1 commit intomainfrom
hectorcast-db/stack/port-2-fix-get-workspace-client

Conversation

@hectorcast-db
Copy link
Contributor

@hectorcast-db hectorcast-db commented Mar 19, 2026

🥞 Stacked PR


Summary

Port of Go SDK #1517.

Fixes getWorkspaceClient() for unified account hosts that don't follow the standard environment DNS zone pattern (e.g. SPOG/unified hosts). Previously, the workspace host was always constructed via getDeploymentUrl(ws.getDeploymentName()), which blindly appends the environment's DNS zone. For unified hosts where the account and workspace share the same host, this produces an incorrect URL.

Changes:

  • AccountClient.getWorkspaceClient(): clones config instead of mutating this.config for unified hosts

Note: AccountClient.java is a generated file. The template needs to be updated.

NO_CHANGELOG=true

Test plan

  • AccountClientTest: existing tests pass

@hectorcast-db hectorcast-db changed the base branch from main to hectorcast-db/stack/port-1-cloud-hostmetadata March 19, 2026 10:14
github-merge-queue bot pushed a commit that referenced this pull request Mar 19, 2026
## 🥞 Stacked PR

- [**#710 Add cloud field to
HostMetadata**](#710)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/710/files)]
- [#711 Fix GetWorkspaceClient for unified account
hosts](#711)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/711/files)]
- [#712 Add test for GetWorkspaceClient with SPOG
host](#712)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/712/files)]
- [#713 Call resolveHostMetadata on Config
init](#713)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/713/files)]
- [#714 Resolve TokenAudience from host metadata for account
hosts](#714)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/714/files)]
- [#718 Make GCP SA token refresh
non-blocking](#718)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/718/files)]
- [#719 Add integration test for host metadata
resolution](#719)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/719/files)]
- [#720 Remove unified flag usage, rely on host
metadata](#720)
[[Files](https://github.com/databricks/databricks-sdk-java/pull/720/files)]

---------
## Summary

Port of Go SDK
[#1512](databricks/databricks-sdk-go#1512).

Adds a `cloud` field to `HostMetadata` that is populated from the
`/.well-known/databricks-config` discovery endpoint.

**Why:** Today, `isAws()`, `isAzure()`, and `isGcp()` infer cloud type
by suffix-matching the workspace hostname against a hardcoded list of
known DNS zones. This works for standard deployments but fails for
non-standard hostnames (custom vanity domains, unified hosts, etc.). The
discovery endpoint is the authoritative source and already returns a
`cloud` field, but the SDK was discarding it.

**Changes:**
- `HostMetadata`: new `cloud` field (`@JsonProperty("cloud")`), getter,
and 4-arg constructor
- `HostMetadataTest`: deserialization with/without cloud, constructor
tests

`NO_CHANGELOG=true`

## Test plan
- [x] `HostMetadataTest`: 4 tests for cloud field deserialization and
constructors
Base automatically changed from hectorcast-db/stack/port-1-cloud-hostmetadata to main March 19, 2026 11:46
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
@hectorcast-db hectorcast-db force-pushed the hectorcast-db/stack/port-2-fix-get-workspace-client branch from 982fbae to a21367e Compare March 19, 2026 11:53
@github-actions
Copy link

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/sdk-java

Inputs:

  • PR number: 711
  • Commit SHA: a21367edf71d90cab6fe39eed19a40e58c9dc454

Checks will be approved automatically on success.

@hectorcast-db hectorcast-db marked this pull request as ready for review March 19, 2026 11:59
Copy link
Contributor

@tejaskochar-db tejaskochar-db left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@hectorcast-db hectorcast-db added this pull request to the merge queue Mar 19, 2026
Merged via the queue into main with commit 39df8cf Mar 19, 2026
16 checks passed
@hectorcast-db hectorcast-db deleted the hectorcast-db/stack/port-2-fix-get-workspace-client branch March 19, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants