[
https://issues.apache.org/jira/browse/ARROW-16086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17516151#comment-17516151
]
Alex Bergeron commented on ARROW-16086:
---------------------------------------
Thank you for the clear response.
Re: FlightStreamHandler - my bad - I've mistyped while referring to the API
reference. I meant the result type of do_get:
[https://arrow.apache.org/docs/python/generated/pyarrow.flight.FlightClient.html#pyarrow.flight.FlightClient.do_get]
Running this call in a separate thread works to ensure that the caller thread
is freed up, but it does not cancel the query on the server. In our situation,
this is the end goal, so that approach is not viable. Running it in a separate
process, using multiprocessing, allows us to terminate the process, killing off
the query, but it does come at a significant complexity cost.
> [Python] Calls to do_get ignore Python signal handlers
> ------------------------------------------------------
>
> Key: ARROW-16086
> URL: https://issues.apache.org/jira/browse/ARROW-16086
> Project: Apache Arrow
> Issue Type: Bug
> Components: FlightRPC, Python
> Reporter: Alex Bergeron
> Priority: Major
>
> Similar to ARROW-15106 but observed from the client, not the server.
> The Python Flight client blocks the thread and ignores signal handlers. This
> makes it impossible for the client to handle the signal handler and cancel
> the query before it has returned a FlightStreamReader.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)