Skip to content

test(kernel): add a non-blocking Reyden E2E leg to the nightly#425

Open
mani-mathur-arch wants to merge 1 commit into
mainfrom
mani/kernel-reyden-e2e
Open

test(kernel): add a non-blocking Reyden E2E leg to the nightly#425
mani-mathur-arch wants to merge 1 commit into
mainfrom
mani/kernel-reyden-e2e

Conversation

@mani-mathur-arch

Copy link
Copy Markdown
Collaborator

What

Add a non-blocking Reyden E2E leg to the nightly. Reyden is the SEA reference engine — the same SEA-via-kernel path as the existing kernel E2E suite, just pointed at a read-only reference warehouse over shared Unity Catalog. Rather than duplicate the 18 TestKernelE2E* funcs, this reuses them verbatim and routes the connection to Reyden when selected.

  • kernel_reyden_e2e_test.go (new): isReydenLeg() (TEST_WAREHOUSE=reyden + a reyden path in DATABRICKS_REYDEN_HTTP_PATH), reydenHTTPPath(), and skipOnReyden() — a gate for surfaces Reyden genuinely doesn't support. Inert unless the reyden env is set, so every existing run is unaffected.
  • kernel_e2e_test.go: kernelTestDBWith routes WithHTTPPath to the reyden warehouse on the reyden leg (same host + PAT). The variant data-type subcase skips on reyden — it cannot decode VARIANT over inline Arrow (a reyden-side gap; dbsql-sea and Thrift read it fine). No DDL/DML in this suite, so nothing else needs gating.
  • nightly-e2e.yml: a second, non-blocking (continue-on-error) run step in the existing kernel-e2e job re-runs the kernel E2E funcs with TEST_WAREHOUSE=reyden — the kernel lib is already built, so it's just another go test. The Thrift-vs-kernel parity funcs are excluded (they compare the kernel against Thrift on one warehouse; meaningless cross-warehouse).

Why

Give the SEA/kernel path continuous coverage against the Reyden reference engine, surfacing reyden-vs-dbsql divergences. continue-on-error because Reyden is a reference engine that can be down or diverge — a reyden-side failure must not fail the nightly (it surfaces in the step log). This mirrors the non-blocking Reyden integration leg in the shared driver-test suite.

DATABRICKS_REYDEN_HTTP_PATH falls back to the well-known reyden warehouse id on the same host when the secret is unset; if it and TEST_WAREHOUSE resolve empty, the suite simply runs against the normal warehouse (isReydenLeg()==false) — a harmless no-op.

Testing

  • gofmt clean; go vet clean on the -tags databricks_kernel build.
  • Leg-selection (isReydenLeg, fail-safe when path unset, case-insensitive) and the skipOnReyden gate unit-tested.
  • Nightly YAML parses. Live reyden read assertions pending a healthy reyden endpoint (the staging one is currently returning 500s); routing + skip behavior verified locally.

@mani-mathur-arch
mani-mathur-arch marked this pull request as ready for review July 24, 2026 08:12
Reruns the existing TestKernelE2E* funcs against the Reyden SEA reference
engine (TEST_WAREHOUSE=reyden + DATABRICKS_REYDEN_HTTP_PATH), routed via
kernelTestDBWith. The step is continue-on-error since Reyden can be down or
diverge from dbsql, and reyden-only divergences self-skip via skipOnReyden.
The reyden path comes solely from the TEST_REYDEN_WAREHOUSE_HTTP_PATH secret;
with it unset the leg is inert and re-runs on the normal warehouse.

Signed-off-by: Mani Kaustubh Mathur <mani.mathur@databricks.com>
@mani-mathur-arch
mani-mathur-arch force-pushed the mani/kernel-reyden-e2e branch from b83f4e0 to 1eaac81 Compare July 24, 2026 08:44
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