Skip to content

Validate cube dimension reachability during deployment - #2383

Open
saisharan0103 wants to merge 2 commits into
DataJunction:mainfrom
saisharan0103:mergepath/issue-2249-validate-dimension-reachability-from-cub
Open

Validate cube dimension reachability during deployment#2383
saisharan0103 wants to merge 2 commits into
DataJunction:mainfrom
saisharan0103:mergepath/issue-2249-validate-dimension-reachability-from-cub

Conversation

@saisharan0103

Copy link
Copy Markdown

Issue #2249

Root cause: deployment cube validation checked that referenced metric nodes and dimension attributes exist, but per-cube validation did not fail when a declared dimension was absent from the dimension-link graph of a metric's ultimate non-metric parent. That allowed dj push to create or update a syntactically valid cube whose metric parent transforms could not join to every declared dimension, with the failure surfacing later during SQL generation.

Approach:

  • Resolves each cube metric to its unique ultimate non-metric parent revisions during bulk cube validation.
  • Builds one batched dimension reachability map for all cube parent revisions and declared cube dimension node names.
  • Checks each declared dimension attribute, including role-qualified references, against every parent revision used by the cube metrics during per-cube validation.
  • Appends INVALID_DIMENSION errors for missing paths before creating the cube revision.
  • Keeps existing existence/status validation and cube metadata construction unchanged.

Files modified:

  • datajunction-server/datajunction_server/internal/deployment/orchestrator.py
  • datajunction-server/tests/internal/deployment/orchestration_test.py
  • fix_plan.json

LOC: +82 / -30

ruff check datajunction-server/datajunction_server/internal/deployment/orchestrator.py datajunction-server/tests/internal/deployment/orchestration_test.py reports no new findings on the changed files.
Ran pytest -x locally with no new failures.

Mergepath added 2 commits August 1, 2026 14:18
…ble functions (LATERAL VIEW) — raises DJNotImplementedException

Closes DataJunction#2265
@netlify

netlify Bot commented Aug 1, 2026

Copy link
Copy Markdown

Deploy Preview for thriving-cassata-78ae72 canceled.

Name Link
🔨 Latest commit 96e9b0b
🔍 Latest deploy log https://app.netlify.com/projects/thriving-cassata-78ae72/deploys/6a6e0c54ad8a8100084e8e71

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.

1 participant