Conversation
| }) | ||
|
|
||
| let meta: Uint8Array | ||
| const response = client.doGet(ticket) |
There was a problem hiding this comment.
How does the client handle disconnect without an abort signal?
There was a problem hiding this comment.
Even though using Effect.async allows passing an AbortSignal to client.doGet, the AbortSignal would only be triggered if the call to Effect.async was interrupted (i.e. before the client is constructed).
Since the call to Effect.async is essentially synchronous here (i.e. immediately returns the client synchronously via Effect.sync), you would never observe the desired interruption behavior.
Instead, it's better here to let the stream manage the response lifetime.
There was a problem hiding this comment.
Gotcha. The underlying issue really that we have to stitch the arrow record batch reader into this because of its lackluster API and lack of native support for flight (among other things)
There was a problem hiding this comment.
For sure, but I think that will require a larger refactor around Arrow as we've chatted about separately. It would be great to avoid having to dip in and out of Effect streams.
No description provided.