Skip to content

Fix Volume "Open in Databricks" routing to volume URL#1925

Merged
misha-db merged 1 commit into
mainfrom
fix-uc-explorer-volume-external-url
Jun 24, 2026
Merged

Fix Volume "Open in Databricks" routing to volume URL#1925
misha-db merged 1 commit into
mainfrom
fix-uc-explorer-volume-external-url

Conversation

@misha-db

Copy link
Copy Markdown
Contributor

Changes

When opening a Volume from the Unity Catalog explorer, the "Open in Databricks" action routed to a table-style URL
(/explore/data///), which points at a non-existent table rather than the volume.

getNodeExploreUrl() special-cased models and functions by prefixing their path segment but had no case for volumes, so volumes fell through to the default (table) path. Add a "volume" case that prefixes the path with "volumes/", producing the correct
/explore/data/volumes/// URL.

Tests

UnityCatalogTreeDataProvider.test.ts

When opening a Volume from the Unity Catalog explorer, the "Open in
Databricks" action routed to a table-style URL
(/explore/data/<catalog>/<schema>/<name>), which points at a
non-existent table rather than the volume.

getNodeExploreUrl() special-cased models and functions by prefixing
their path segment but had no case for volumes, so volumes fell through
to the default (table) path. Add a "volume" case that prefixes the path
with "volumes/", producing the correct
/explore/data/volumes/<catalog>/<schema>/<name> URL.
@misha-db misha-db requested review from anton-107 and rugpanov June 23, 2026 13:18
@misha-db misha-db self-assigned this Jun 23, 2026
@misha-db misha-db temporarily deployed to test-trigger-is June 23, 2026 13:18 — with GitHub Actions Inactive
@github-actions

Copy link
Copy Markdown
Contributor

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

Trigger:
go/deco-tests-run/vscode

Inputs:

  • PR number: 1925
  • Commit SHA: ef3f4798ca82d9713387a8e6c62ff832022c46f3

Checks will be approved automatically on success.

@misha-db misha-db linked an issue Jun 23, 2026 that may be closed by this pull request

@anton-107 anton-107 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Correct, minimal fix. getNodeExploreUrl() was missing a volume case, so volumes fell through to the bare table path; prefixing volumes/ matches the canonical Databricks Explore route and is consistent with the existing models/ and functions/ cases. Volume nodes carry fullName, so the path conversion is safe, and the new test guards the regression.

Approving. Left two non-blocking nits on the test for you to consider.


assert(item.url, "url should be set");
assert(
item.url!.includes("explore/data/volumes/cat/sch/ev"),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nit (non-blocking): consider asserting the exact URL with assert.strictEqual(item.url, "https://adb-123.azuredatabricks.net/explore/data/volumes/cat/sch/ev") instead of includes(...). A substring check won't catch accidental double-slashes or a wrong prefix/host being concatenated; an exact match locks the route down.

});

it("getTreeItem sets volume url with volumes path segment", async () => {
const stubManager = {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nit (non-blocking): this hand-rolls a stubManager with an inline host, while the sibling tests use the shared mockConnectionManager. The inline stub is justified here because this test needs a host present, but if the surrounding tests have a helper for a host-configured manager it'd be worth reusing for consistency.

@misha-db misha-db merged commit 630e267 into main Jun 24, 2026
6 of 8 checks passed
This was referenced Jun 24, 2026
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.

[BUG] Volume Open in Databricks Fails - Wrong URI

2 participants