Skip to content

[SEA-NodeJS] Rename SEA → kernel across the driver (useSEA → useKernel)#415

Open
msrathore-db wants to merge 1 commit into
mainfrom
msrathore/kernel-rename
Open

[SEA-NodeJS] Rename SEA → kernel across the driver (useSEA → useKernel)#415
msrathore-db wants to merge 1 commit into
mainfrom
msrathore/kernel-rename

Conversation

@msrathore-db
Copy link
Copy Markdown
Contributor

Stacked on #414 (the KERNEL_REV pin). Top of the SEA stack: #412 (merged) → #413#414this.

Why

The kernel backend can sit on top of any wire protocol (today SEA / Statement Execution API, later others), so the driver shouldn't brand its path "SEA". This renames the driver-layer surface to kernel, matching the python connector's use_kernel=True (databricks-sql-python #787), while preserving genuine references to the SEA wire protocol the kernel speaks.

What changed (mechanical, no behavior change)

  • Public option useSEAuseKernel.
  • lib/sea/lib/kernel/; Sea* classes/types → Kernel* (KernelBackend, KernelSessionBackend, KernelOperationBackend, KernelAuth, KernelNativeLoader, KernelServerInfo, KernelPositionalParams, …).
  • tests/unit/sea/tests/unit/kernel/, tests/e2e/sea/tests/e2e/kernel/ (+ Sea*-named test files).
  • native/sea/native/kernel/ — with build:native, prepack, loader require path, .gitignore, .prettierignore, .npmignore, .gitattributes, and kernel-e2e.yml all updated.
  • Driver-prose comments / binding error messages → "kernel".

Deliberately preserved

The ~8 genuine protocol references — "the SEA REST protocol", "Statement Execution API (SEA)", "SEA wire", SEA CreateSession wire fields — because those describe the actual protocol, not our path. A blind SEAkernel sed would have made these factually wrong.

Verification

  • tsc + eslint + prettier clean.
  • Full unit suite green (1148 passing); renamed kernel suite 230 passing.
  • useKernel: true validated end-to-end against a live warehouse.
  • git grep useSEA → no results anywhere in the tree.

This pull request and its description were written by Isaac.

@msrathore-db msrathore-db force-pushed the msrathore/sea-kernel-rev-pin branch from e8dff95 to 779a77d Compare June 4, 2026 06:54
@msrathore-db msrathore-db force-pushed the msrathore/kernel-rename branch from 1273c06 to 2608acf Compare June 4, 2026 06:59
@msrathore-db msrathore-db force-pushed the msrathore/kernel-rename branch from 2608acf to f2f7a23 Compare June 4, 2026 19:05
@msrathore-db msrathore-db changed the base branch from msrathore/sea-kernel-rev-pin to main June 4, 2026 19:05
@msrathore-db msrathore-db force-pushed the msrathore/kernel-rename branch from f2f7a23 to 45ca75a Compare June 4, 2026 19:17
Re-applied on top of main (which now includes #416's consolidated kernel
backend: connection/statement options, TLS & configurable sync/async). The
original rename branch was based on the older sea-kernel-rev-pin stack; a literal
rebase would have hit modify/delete conflicts on every backend file, so the
rename was re-derived against current main.

Scope:
- Directories: lib/sea→lib/kernel, native/sea→native/kernel,
  tests/unit/sea→tests/unit/kernel, tests/e2e/sea→tests/e2e/kernel.
- Files/classes: Sea*→Kernel* (SeaBackend→KernelBackend, SeaSessionBackend,
  SeaOperationBackend, SeaNativeLoader, SeaAuth, …).
- Public option: useSEA→useKernel (hard rename; no back-compat alias).
- COMPLETE this time: the internal helpers the prior pass left sea-named are
  renamed too — getSeaNative→getKernelNative, buildSea*→buildKernel*,
  seaCancel/Close/Finished→kernel*, seaServerInfoValue→kernelServerInfoValue,
  SEA_DBMS_*/SEA_NATIVE_EXPECTED→KERNEL_*.

Intentionally preserved: 'SEA' where it denotes the Statement Execution API wire
protocol (comments/JSDoc), Python's use_sea reference, and the telemetry
backend union member 'sea' (dashboard back-compat).

Verified: tsc clean, lint clean, full unit suite 1166 passing, live end-to-end
(2 executions via useKernel) green.

Co-authored-by: Isaac
Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
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