You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deprecate the SEA backend; steer users to the kernel path (#920)
The SEA backend (use_sea=True) has feature gaps — notably it does not
support positional (`?`) parameter binding, which causes HTTP 400s
against RT/Lakehouse warehouses. Rather than partially patch SEA, mark
it deprecated and steer users to the supported kernel backend
(use_kernel=True), which is SEA-native and handles positional/named
parameter binding.
- Emit a warning at SeaDatabricksClient construction pointing users to
use_kernel=True + the `[kernel]` extra.
- Document use_sea as deprecated/incomplete in the connect() docstring,
and refresh the stale use_kernel docstring (it now ships on PyPI via
the `[kernel]` extra and supports parameter binding).
- Flag the SEA example harness and the CONTRIBUTING backend table as
deprecated.
SEA stays functional (RT warehouses refuse Thrift, so it can't simply
be rerouted) and is slated for eventual removal.
Co-authored-by: Isaac
Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -153,7 +153,7 @@ reproduce on a SEA or kernel connection, and vice versa:
153
153
| Backend | Select via (connect kwarg / `extra_params`) | Where its tests live |
154
154
| --- | --- | --- |
155
155
|**Thrift** (default) |*(nothing — the default path)*| the general `tests/e2e` suite (the `{}` parametrize case) and mocked `tests/unit`|
156
-
|**SEA** (Statement Execution API) |`use_sea=True`| the general `tests/e2e` suite (the `{"use_sea": True}` parametrize case, e.g. `tests/e2e/test_driver.py`) and mocked `tests/unit`|
156
+
|**SEA** (Statement Execution API) *(deprecated — use Kernel for SEA-native connections)*|`use_sea=True`| the general `tests/e2e` suite (the `{"use_sea": True}` parametrize case, e.g. `tests/e2e/test_driver.py`) and mocked `tests/unit`|
157
157
|**Kernel** (Rust, optional) |`use_kernel=True`| the dedicated `tests/e2e/test_kernel_backend.py` / `test_kernel_tls.py`, plus the offline routing test `tests/unit/test_session.py -m realkernel`|
0 commit comments