fix(remote): stream query responses instead of buffering them (#4929)

This commit is contained in:
Sarwar Bhuiyan
2026-11-09 20:40:59 -05:00
committed by GitHub
parent 794fa023cd
commit d8957238bf
13 changed files with 1216 additions and 42 deletions
+9
View File
@@ -859,6 +859,13 @@ older server omits structured resource details. A structured `already_exists`
response keeps its more specific `AlreadyExistsError` type. Both are subclasses
of `HttpError`.
A remote query whose streamed response stops partway raises
`ResponseInterruptedError`, also a subclass of `HttpError`. It carries the number
of batches and rows already returned and, when the server reports it, the table
version the response reflected, so the query can be run again against that
version. It is never retried automatically, because the batches already returned
would be returned again.
SQL response failures raise `SqlError`, retaining the numeric `grpc_code` and
`request_id`. Servers that report a recognized `x-lancedb-error-code` select a
specific input-error subclass. HTTP failures use the corresponding `HttpError`
@@ -926,6 +933,8 @@ generic HTTP/SQL exceptions with their transport status and current request ID.
::: lancedb.remote.errors.ConflictError
::: lancedb.remote.errors.ResponseInterruptedError
::: lancedb.exceptions.MissingValueError
::: lancedb.exceptions.MissingColumnError