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
[SEA-NodeJS] Extend eager-execute parity to the async (runAsync) path
The prior commit fixed fire-and-forget DDL/DML on the default sync path. The
opt-in async path (`runAsync: true`) had the same defect from a different cause:
`submitStatement` starts the statement server-side, but `asyncStatement.close()`
CANCELS a still-running statement — so `executeStatement(..., {runAsync:true})`
followed by `close()` with no fetch aborted the statement before it committed.
`SeaOperationBackend` now wraps the async handle in the same composite-close
shape as the sync path: unless the caller explicitly `cancel()`ed, `close()`
drives the result to terminal (`getFetchHandle()` → the kernel `awaitResult()`)
so the side effect lands, then closes. The metadata path (already-terminal
statement) still closes directly.
Verified: 249 SEA unit tests pass (added async drive-on-close and
close-after-cancel coverage); e2e confirms fire-and-forget CREATE/INSERT via
runAsync:true now persists on SEA, with no change to the cancel or normal-read
paths.
Co-authored-by: Isaac
Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
0 commit comments