[SEA-NodeJS] Rename SEA → kernel across the driver (useSEA → useKernel)#428
Open
msrathore-db wants to merge 3 commits into
Open
[SEA-NodeJS] Rename SEA → kernel across the driver (useSEA → useKernel)#428msrathore-db wants to merge 3 commits into
msrathore-db wants to merge 3 commits into
Conversation
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`, while PRESERVING genuine references to the SEA wire protocol the kernel speaks. Mechanical, no behavior change: - Public option `useSEA` → `useKernel`. - `lib/sea/` → `lib/kernel/`; `Sea*` classes/types → `Kernel*` (KernelBackend, KernelSessionBackend, KernelOperationBackend, KernelAuth, KernelNativeLoader, KernelServerInfo, …); `seaCancel`/`seaClose`/`seaFinished`/`seaServerInfoValue` → `kernel*`; `SEA_DBMS_*`/`SEA_SERVER_NAME` → `KERNEL_*`. - `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. index.d.ts / index.js regenerated from a fresh build (so the drift-guard still matches). - Driver-prose comments / binding error messages → "kernel". - Dropped the dead `'sea'` telemetry backend literal (nothing emits it). Deliberately preserved: the genuine PROTOCOL references — "Statement Execution API (SEA)", "SEA REST protocol", "SEA wire", SEA `CreateSession` wire fields — and the native-packaging regression-guard for the historical garbled `@databricks/sea-native-*` npm prefix (renaming it would make the guard vacuous). Built on current main (includes directResults #426). Supersedes #415 (which was stacked on the now-closed old SEA stack). Verification: tsc clean; `npm run lint` (eslint lib/** tests/e2e/**) clean; `prettier --check` clean; renamed kernel unit suite 261 passing; `git grep useSEA` → 0. `useKernel: true` validated end-to-end against a live warehouse (SELECT, directResults CREATE+count, binding loads from native/kernel). Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
…README SeaNativeLoader→KernelNativeLoader Caught by a file-by-file pass (not grep-pattern matching): - use_sea (snake_case Python flag) in 2 comments → use_kernel (matches the Python connector renamed flag); the camelCase useSEA sed had missed snake_case. - native/kernel/README.md referenced SeaNativeLoader → KernelNativeLoader (the README is a committed doc, not regenerated by build:native). Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
|
Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase ( |
gopalldb
approved these changes
Jun 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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'suse_kernel=True, while preserving genuine references to the SEA wire protocol the kernel speaks.What changed (mechanical, no behavior change)
useSEA→useKernel.lib/sea/→lib/kernel/;Sea*classes/types →Kernel*;seaCancel/seaClose/seaFinished/seaServerInfoValue→kernel*;SEA_DBMS_*/SEA_SERVER_NAME→KERNEL_*.tests/unit/sea/→tests/unit/kernel/,tests/e2e/sea/→tests/e2e/kernel/(+Sea*-named test files).native/sea/→native/kernel/—build:native,prepack, loader require path,.gitignore,.prettierignore,.npmignore,.gitattributes, andkernel-e2e.ymlupdated.index.d.ts/index.jsregenerated from a fresh build, so the kernel-e2e drift-guard still matches.'sea'telemetry backend literal (nothing emits it).Deliberately preserved
The genuine protocol references — "Statement Execution API (SEA)", "SEA REST protocol", "SEA wire", SEA
CreateSessionwire fields — and thenative-packagingregression-guard for the historical garbled@databricks/sea-native-*npm prefix (renaming it would make the guard vacuous).On the kernel repo
No kernel-repo changes needed. The kernel's own
seanaming (SeaRestTransport, etc.) is the genuine SEA wire-protocol implementation — preserved by design. This rename is entirely the Node driver's path branding.Base
Built on current main (includes directResults #426). Supersedes #415, which was stacked on the now-closed old SEA stack.
Verification
tscclean;npm run lint(eslintlib/**tests/e2e/**) clean;prettier --checkclean.git grep useSEA→ 0; no stalelib/sea/native/sea/tests/*/seapath refs.useKernel: truevalidated end-to-end against a live warehouse — SELECT, directResults CREATE+count, and the binding loading fromnative/kernel/.This pull request and its description were written by Isaac.