Hi, I would like to propose result set expiration support for Flight RPC.
See the following pull request and discussion for details: * GH-35500: [C++][Go][Java][FlightRPC] Add support for result set expiration https://github.com/apache/arrow/pull/36009 * [DISCUSS][Format][Flight] Result set expiration support https://lists.apache.org/thread/48fqd554gkqrrld8k13l3b8trz5gk7ow This is based on one of the following proposals: [DISCUSS] Flight RPC/Flight SQL/ADBC enhancements https://lists.apache.org/thread/247z3t06mf132nocngc1jkp3oqglz7jp Google Docs: (Arrow ML) Arrow Flight RPC/Flight SQL Proposals https://docs.google.com/document/d/1jhPyPZSOo2iy0LqIJVUs9KWPyFULVFJXTILDfkadx2g/edit#heading=h.h2ein4otvhtq Summary: * Background: Currently, it is undefined whether a client can call DoGet more than once. Clients may want to retry requests, and servers may not want to persist a query result forever. * Proposal: Add an expiration time to FlightEndpoint. If present, clients may assume they can retry DoGet requests. Otherwise, clients should avoid retrying DoGet requests. NOTE: This proposal is "not" a full retry protocol. * Changes: * Add FlightEndpoint.expiration_time field * Add the following pre-defined actions: * CancelFlightInfo: Asynchronously cancel the execution of a distributed query. (Replaces the equivalent Flight SQL action.) * RenewFlightEndpoint: Request an extension of the expiration of a FlightEndpoint. * This proposal does NOT break a backward compatibility: * Flight RPC: Because clients can ignore FlightEndpoint.expiration_time. * Flight SQL: Because we deprecate existing CancelQuery action but it still available. * The pull request includes reference implementations for C++, Go and Java. The vote will be open for at least 72 hours. [ ] +1 Accept this proposal [ ] +0 [ ] -1 Do not accept this proposal because... Thanks, -- kou